جدول المحتويات:

مشروع مراقبة GPS مع شاشة OLED: 5 خطوات (بالصور)
مشروع مراقبة GPS مع شاشة OLED: 5 خطوات (بالصور)

فيديو: مشروع مراقبة GPS مع شاشة OLED: 5 خطوات (بالصور)

فيديو: مشروع مراقبة GPS مع شاشة OLED: 5 خطوات (بالصور)
فيديو: طريقة ضبط اعدادات شاشات الاندرويدعند تركيبها على الجمس وتشغيل(تحكم دركسون/اشارات الابواب والحساسات) 2024, يوليو
Anonim
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display
مراقبة GPS مع مشروع OLED Display

مرحبًا بالجميع ، في هذه المقالة السريعة سوف أشارككم مشروعي: وحدة ATGM332D GPS مع متحكم SAMD21J18 وشاشة SSD1306 OLED 128 * 64 ، قمت ببناء PCB خاص لها على Eagle Autodesk ، وبرمجتها باستخدام Atmel studio 7.0 و ASF4 لذلك في هذه المقالة سوف أشارككم هذه الرحلة والملفات التي استخدمتها إذا كنتم مهتمين بفعلها بنفسك.

الآن إذا كنت تقوم ببرمجة لوحة MCU / التطوير الخاصة بك باستخدام Arduino ، فيجب أن يكون هذا المشروع سهلًا نسبيًا بالنسبة لك ، ولكن هنا سأستخدم ASF4 (إطار عمل برنامج متقدم 4) من Atmel / Microchip والذي يعتمد على لغة C وسيعطيك فكرة لمعرفة كيفية قراءة رسالة GPS NMEA باستخدام برنامج التشغيل USART غير المتزامن (Callback) وتزويدك بمكتبة بسيطة يمكنك استخدامها مع أي وحدة تحكم صغيرة ومنصة مختلفة عن طريق إضافة برنامج التشغيل المناسب الذي تستخدمه لتلقي الرسالة من GPS (رسالة NMEA).

سأقسم هذه المقالة إلى:

  1. تصميم ثنائي الفينيل متعدد الكلور.
  2. BOM تحتاج إلى تجميع ثنائي الفينيل متعدد الكلور
  3. نظرة سريعة على البرنامج والرمز نفسه واختبار الأجهزة والبرامج.
  4. أخيرًا وليس آخرًا ، بعض نقاط التحسين لهذا المشروع.

سوف تجد جميع المواد المتعلقة بهذا المشروع على جيثب (هنا)

الخطوة 1: تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر

تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر
تصميم ثنائي الفينيل متعدد الكلور باستخدام النسر

يعتمد هذا المشروع بشكل أساسي على وحدة ATGM332D GPS Module ، نظام GPS بسيط للاستخدام لأنه يحتاج فقط إلى مكونين منفصلين للعمل ، ويمكننا إضافة بطارية احتياطية لتوفير الوقت / التاريخ إذا قمنا بإغلاق مصدر الطاقة الرئيسي من الوحدة.

وللتحكم في جميع الإشارات في الدائرة ، ذهبت مع متحكم ATSAMD21J18B ، حزمة TQFP64 نظرًا لأنه يحتوي على 128 كيلوبايت من ذاكرة تخزين البرنامج و 32 كيلوبايت من ذاكرة البيانات (ولدي الكثير منها حول طاولة العمل الخاصة بي).

يجب أن يتم تشغيل الدائرة بواسطة مصدر USB 5V ، كما يمكن أن يعمل USB كمنفذ COM افتراضي (CDC USB) ويمكنك إضافة رمز له إذا كنت تريد التواصل مع الجهاز عبر USB.

بالنسبة للشاشة ، اخترت شاشة OLED SSD1306 0.96 بوصة مع ناقل SPI ، فهي صغيرة ولكنها مناسبة لحجم PCB الذي أردته ، وأبعاد اللوحة 100 × 31 مم.

ستكون برمجة وحدة التحكم الدقيقة من خلال مبرمج SWD (أستخدم Atmel ICE) وسأقوم بتوصيله من خلال رأس دبوس 1.27mm 10p.

كما أنني استخدمت Fusion360 للحصول على عرض ثلاثي الأبعاد للوحة ويمكنك رؤية بعض الصور المعروضة له أيضًا.

الخطوة 2: لحام ثنائي الفينيل متعدد الكلور

لحام ثنائي الفينيل متعدد الكلور
لحام ثنائي الفينيل متعدد الكلور
لحام ثنائي الفينيل متعدد الكلور
لحام ثنائي الفينيل متعدد الكلور
لحام ثنائي الفينيل متعدد الكلور
لحام ثنائي الفينيل متعدد الكلور

لديك خيار لطلب استنسل باستخدام PCB الخاص بك ، فمن الأسهل تطبيق معجون اللحام على اللوحة باستخدام الاستنسل ، لقد استخدمت اللوح الساخن لتلحيم المكونات معًا ، واستخدام الهواء الساخن أمر جيد أيضًا ولكن كن حذرًا أثناء لحام LED منذ ذلك الحين هم حساسون جدا للحرارة.

يعد لحام الجانب السفلي أسهل قليلاً نظرًا لأنه يحتوي فقط على رأس دبوس SWD والبطارية الاحتياطية ، والتي يمكنك لحامها باستخدام مكواة اللحام.

قبل توصيل الدائرة بأي مصدر طاقة USB ، تحقق من وجود أي ماس كهربائي.

قم بتوصيل هوائي GPS وتأكد من لحام الموصل بشكل صحيح ، وقمت بتثبيت الهوائي على الجانب السفلي من اللوحة.

الخطوة 3: البرامج … الوظائف … النتائج

Image
Image
البرامج … الوظائف … النتائج
البرامج … الوظائف … النتائج
البرامج … الوظائف … النتائج
البرامج … الوظائف … النتائج

سيتم تقسيم البرنامج إلى 4 أجزاء:

  1. USART للتواصل مع وحدة GPS ATGM332.
  2. SPI للتواصل مع OLED.
  3. USB CDC.
  4. GPIO للتحكم في المصابيح

قم أولاً بتوصيل موصل USB بالطاقة على الدائرة ثم قم بتوصيل كابل الشريط بموصل SWD.

قم بتنزيل الكود من جيثب (الرابط هنا).

للحصول على الموقع الجغرافي لديك 3 خيارات مختلفة لرسائل NMEA:

  1. GPGGA
  2. جي بي آر إم سي
  3. GPGLL

لقد استخدمت جملة GPRMC للحصول على الموقع والوقت والتاريخ (الوقت هو 0.0 بتوقيت جرينتش) لذلك ستجد في الكود:

GPRMC. Enable = 1 ؛ / * 0 إذا لم تكن هناك حاجة لهذه الرسالة * /

GPGGA. Enable = 0 ؛ / * 0 إذا لم تكن هناك حاجة لهذه الرسالة * /

GPGLL. Enable = 0 ؛ / * 0 إذا لم تكن هناك حاجة لهذه الرسالة * /

يمكنك تمكينهم جميعًا معًا وقراءتها في نفس الوقت للحصول على البيانات التي تحتاجها.

بمجرد وجود جملة GPRMC صالحة ، ستصبح theGPRMC. Ready 1 ويمكنك الحصول على جميع البيانات المتاحة في هذه الجملة ، تحقق من هذا الرابط لمعرفة البيانات المتاحة في هذه الجملة.

ببساطة إذا كان Fix هو "A" فهذا يعني أن الموقع متاح ، إذا كان Fix هو "V" فهذا يعني أن الموقع غير متاح.

لاحظ أن ATSAMD21 يحتوي على RTC داخلي ، لكنني هنا لا أستخدمه وبدلاً من ذلك أستخدم الوقت والتاريخ مباشرة من GPS ، لذلك إذا كنت لا ترغب في استخدام بطارية النسخ الاحتياطي CR1220 ، فبمجرد فصل مصدر طاقة USB ، ستفعل ذلك. تفقد الوقت / التاريخ وفي المرة التالية التي تقوم فيها بتشغيل الدائرة ، ستكون منطقة الوقت / التاريخ على الشاشة فارغة حتى يكون لنظام GPS قيمة صالحة للوقت / التاريخ.

ستظهر لك الشاشة الحالة الحالية لنظام تحديد المواقع العالمي (GPS) وستظهر الموقع الجغرافي بمجرد توفره ، ولكن هناك 3 مصابيح LED على اللوحة:

  1. مؤشر LED أخضر متصل بـ PA06 ، وسوف يومض إذا كانت هناك قيمة صالحة للموقع الجغرافي.
  2. مؤشر LED البرتقالي متصل بـ PA07 وسيومض مرة واحدة في الثانية إذا لم يكن هناك موقع جغرافي صالح.
  3. الصمام الأحمر هذا متصل بدبوس PPS لوحدة GPS وسيومض فقط عندما تكون هناك إشارة صالحة تتعلق بالموقع.

نتائج

عملت الدائرة بشكل جيد معي ، استغرق الحصول على الموقع الجغرافي من GPS 20-30 ثانية في الهواء الطلق مع رؤية واضحة للسماء وبين المباني دون أي مشكلة حتى مع وجود هوائي على الجانب السفلي من اللوحة.

الخطوة 4: حافظة مطبوعة ثلاثية الأبعاد … نوع من

حافظة مطبوعة ثلاثية الأبعاد … نوع من
حافظة مطبوعة ثلاثية الأبعاد … نوع من

لقد أعددت حالة بسيطة (حامل أكثر دقة) لهذه الدائرة ولكن بسبب وباء COVID-19 والإغلاق الذي أنا فيه الآن ، لم أتمكن من الوصول إلى الطابعة ثلاثية الأبعاد الخاصة بي لطباعتها ، لذلك سأقوم بتحديث هذا القسم بـ stl ملف وصورة لحاملها بمجرد توفرها.

الخطوة 5: أشياء يجب تحسينها …

أشياء يجب تحسينها …
أشياء يجب تحسينها …
أشياء يجب تحسينها …
أشياء يجب تحسينها …
أشياء يجب تحسينها …
أشياء يجب تحسينها …
  1. نقل موصل SWD إلى الجانب العلوي لأنه من الأسهل توصيله بالمبرمج الخاص بك.
  2. تشغيل الدائرة من بطارية الليثيوم ، لقد قمت بذلك عن طريق لحام وصلة عبور وعملت بشكل جيد ، وتذكر أن المنظم الخطي (LDO) لديه جهد هبوط V إذا كان (Vbat - Vout) أقل من حد Vdrop قد لا تعمل الدائرة بصورة صحيحة.
  3. جعل زر المستخدم أكبر قليلاً بحيث يسهل الضغط عليه.
  4. إضافة كود USB CDC حتى تتمكن من التواصل / تصميم برنامج خاص لماك / كمبيوتر / لينكس.
  5. بالنسبة لهوائي نظام تحديد المواقع العالمي (GPS) ، استخدمت الهوائي النشط لهذا المشروع ، من الممكن استخدام هوائي سلبي ، عن طريق إضافة منخفض الضوضاء op-Amp مثل AT2659 (راجع أيضًا التخطيطي في ورقة بيانات ATGM332 P.14).
  6. بالنسبة إلى OLED 0.96 'SSD1306 ، المكتبة الرسمية من الرقاقة الأصلية لعرض 128 * 32 ، لتعديل الكود للعمل مع 128 * 64 ، يجب عليك الانتقال إلى ssd1306.c وتعديل الكود (تحقق من الصورة).

موصى به: