فهرست مطالب:

مانیتورینگ GPS با پروژه صفحه نمایش OLED: 5 مرحله (همراه با تصاویر)
مانیتورینگ GPS با پروژه صفحه نمایش OLED: 5 مرحله (همراه با تصاویر)

تصویری: مانیتورینگ GPS با پروژه صفحه نمایش OLED: 5 مرحله (همراه با تصاویر)

تصویری: مانیتورینگ GPS با پروژه صفحه نمایش OLED: 5 مرحله (همراه با تصاویر)
تصویری: پکیج پیشرفته و تخصصی STM32 ( با محوریت اینترنت اشیا ) 2024, جولای
Anonim
مانیتورینگ GPS با پروژه نمایش OLED
مانیتورینگ GPS با پروژه نمایش OLED
مانیتورینگ GPS با پروژه صفحه نمایش OLED
مانیتورینگ GPS با پروژه صفحه نمایش OLED
مانیتورینگ GPS با پروژه صفحه نمایش OLED
مانیتورینگ GPS با پروژه صفحه نمایش OLED
مانیتورینگ GPS با پروژه صفحه نمایش OLED
مانیتورینگ GPS با پروژه صفحه نمایش OLED

با سلام به همگی ، در این مقاله سریع پروژه خود را با شما به اشتراک می گذارم: ماژول GPS ATGM332D با میکروکنترلر SAMD21J18 و صفحه نمایش SSD1306 OLED 128*64 ، من یک PCB ویژه برای آن در Eagle Autodesk ایجاد کردم و با استفاده از Atmel studio 7.0 و ASF4 برنامه ریزی کردم. در این مقاله من این سفر و فایل هایی را که استفاده کردم در صورت تمایل به تنهایی با شما به اشتراک می گذارم.

حالا اگر در حال برنامه نویسی MCU/برد توسعه خود با استفاده از آردوینو هستید ، این پروژه باید نسبتاً آسان باشد ، اما در اینجا من از ASF4 (فریمورک نرم افزاری پیشرفته 4) Atmel/Microchip که بر اساس زبان C است استفاده می کنم و ایده ای به شما می دهد. برای نحوه خواندن پیام GPS NMEA با استفاده از درایور USART Asynchronous (Callback) و ارائه یک کتابخانه ساده به شما که می توانید از آن با هر کنترلر میکرو و پلت فرم مختلف استفاده کنید ، کافی است درایور مناسبی را که برای دریافت پیام از آن استفاده می کنید اضافه کنید. GPS (پیام NMEA).

این مقاله را به موارد زیر تقسیم می کنم:

  1. طراحی PCB.
  2. BOM شما نیاز به مونتاژ PCB دارید
  3. نگاهی سریع به نرم افزار و خود کد و آزمایشی برای سخت افزار و نرم افزار.
  4. در نهایت اما نکته مهمی برای بهبود این پروژه است.

تمام مطالب مربوط به این پروژه را در Github (اینجا) خواهید یافت

مرحله 1: طراحی PCB با استفاده از Eagle

طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب
طراحی PCB با استفاده از عقاب

این پروژه عمدتا بر اساس ماژول GPS ATGM332D ، GPS ساده برای استفاده است زیرا فقط به چند جزء منفعل برای کار نیاز دارد و در صورت خاموش کردن منبع تغذیه اصلی از ماژول ، می توانیم یک باتری پشتیبان برای صرفه جویی در زمان/تاریخ اضافه کنیم.

و برای کنترل همه سیگنالهای موجود در مدار با میکروکنترلر ATSAMD21J18B ، بسته TQFP64 استفاده کردم زیرا 128 کیلوبایت حافظه برنامه و 32 کیلوبایت حافظه داده دارد (و تعداد زیادی از آنها در اطراف میز کار من قرار دارد).

مدار باید از منبع USB 5V تغذیه شود ، همچنین USB می تواند به عنوان پورت COM مجازی (CDC USB) عمل کند و اگر می خواهید از طریق USB با دستگاه ارتباط برقرار کنید ، می توانید یک کد برای آن اضافه کنید.

برای صفحه نمایش من SSD1306 صفحه نمایش 0.96 اینچی OLED با گذرگاه SPI را انتخاب کردم ، کوچک است اما برای اندازه PCB مورد نظر من مناسب است ، ابعاد برد 100x31 میلی متر.

برنامه نویسی میکروکنترلر از طریق برنامه نویس SWD (من از Atmel ICE استفاده می کنم) انجام می شود و آن را از طریق هدر پین 1.27 میلی متری 10p متصل می کند.

همچنین از Fusion360 برای مشاهده نمای سه بعدی برای برد استفاده کردم و شما می توانید برخی از تصاویر رندر شده را نیز برای آن مشاهده کنید.

مرحله 2: لحیم کاری PCB

لحیم کاری PCB
لحیم کاری PCB
لحیم کاری PCB
لحیم کاری PCB
لحیم کاری PCB
لحیم کاری PCB

شما می توانید یک استنسیل با PCB خود سفارش دهید ، استفاده از خمیر لحیم کاری روی تخته با استفاده از استنسیل آسان تر است ، من از صفحه داغ برای لحیم کردن اجزا با هم استفاده کردم ، استفاده از هوای گرم نیز مناسب است ، اما هنگام لحیم کاری LED مراقب باشید. آنها به گرما بسیار حساس هستند

لحیم کاری قسمت پایینی کمی ساده تر است زیرا فقط هدر پین SWD و باتری پشتیبان دارد ، که می توانید آنها را با استفاده از لحیم کاری لحیم کنید.

قبل از اتصال مدار با منبع تغذیه USB ، اتصال کوتاه را بررسی کنید.

آنتن GPS خود را وصل کنید و مطمئن شوید که اتصال آن را به درستی لحیم کرده اید ، من آنتن را در قسمت پایینی برد ثابت کردم.

مرحله 3: نرم افزار… عملکرد… نتایج

Image
Image
نرم افزار… عملکرد… نتایج
نرم افزار… عملکرد… نتایج
نرم افزار… عملکرد… نتایج
نرم افزار… عملکرد… نتایج

نرم افزار به 4 قسمت تقسیم می شود:

  1. USART برای ارتباط با ماژول GPS ATGM332.
  2. SPI برای ارتباط با OLED.
  3. USB CDC.
  4. GPIO برای کنترل LED ها

ابتدا کانکتور USB را به مدار وصل کنید و سپس کابل روبان را با کانکتور SWD وصل کنید.

کد را از github بارگیری کنید (پیوند اینجا).

برای دریافت موقعیت جغرافیایی ، 3 گزینه مختلف پیام NMEA دارید:

  1. GPGGA
  2. GPRMC
  3. GPGLL

من از جمله GPRMC برای به دست آوردن مکان ، زمان و تاریخ (زمان 0.05 GMT) استفاده کردم ، بنابراین در کد می توانید پیدا کنید:

GPRMC. Enable = 1؛/*0 در صورت عدم نیاز به این پیام*/

GPGGA. En = 0؛/*0 در صورت عدم نیاز به این پیام فعال کنید*/

GPGLL. En = 0؛/*0 در صورت عدم نیاز به این پیام فعال کنید*/

می توانید همه آنها را با هم فعال کنید و همزمان آنها را بخوانید و اطلاعات مورد نیاز خود را بدست آورید.

هنگامی که یک جمله معتبر GPRMC وجود دارد ، theGPRMC. آماده 1 می شود و می توانید تمام داده های موجود در این جمله را بدست آورید ، این پیوند را بررسی کنید تا داده های موجود در این جمله را ببینید.

اگر Fix "A" باشد به این معنی که مکان در دسترس است ، اگر Fix "V" باشد به این معنی است که مکان در دسترس نیست.

توجه داشته باشید که ATSAMD21 دارای RTC داخلی است ، اما در اینجا من از آن استفاده نمی کنم و در عوض از زمان و تاریخ مستقیماً از GPS استفاده می کنم ، بنابراین اگر نمی خواهید از باتری پشتیبان CR1220 استفاده کنید ، پس از قطع منبع تغذیه USB ، زمان/تاریخ را از دست دهید و برای بار بعدی که مدار را روشن می کنید ، منطقه زمان/تاریخ روی صفحه نمایش خالی می شود تا زمانی که GPS دارای زمان/تاریخ معتبر باشد.

صفحه نمایش وضعیت فعلی GPS را به شما نشان می دهد و پس از در دسترس بودن موقعیت جغرافیایی را نشان می دهد ، با این حال 3 LED در صفحه وجود دارد:

  1. چراغ سبز به PA06 متصل شده و در صورت وجود مقدار موقعیت مکانی معتبر چشمک می زند.
  2. LED نارنجی به PA07 متصل شده و در صورت عدم وجود موقعیت مکانی معتبر ، یک ثانیه چشمک می زند.
  3. این چراغ قرمز به پین PPS ماژول GPS متصل می شود و فقط در صورت وجود سیگنال معتبر مربوط به موقعیت مکانی چشمک می زند.

نتایج

مدار با من بسیار خوب کار کرد ، دریافت موقعیت مکانی از GPS 20 تا 30 ثانیه در فضای باز با دید واضح به آسمان و بین ساختمانها بدون هیچ مشکلی حتی با آنتن در قسمت پایین برد.

مرحله 4: مورد چاپ سه بعدی … مرتب سازی بر اساس

مورد چاپ سه بعدی… مرتب سازی بر اساس
مورد چاپ سه بعدی… مرتب سازی بر اساس

من یک مورد ساده (نگهدارنده دقیق تر) برای این مدار آماده کردم ، اما به دلیل همه گیری COVID-19 و قرنطینه ای که در حال حاضر در آن هستم ، نتوانستم برای چاپ آن به چاپگر 3d خود دسترسی پیدا کنم ، بنابراین این بخش را با stl به روز می کنم. پس از در دسترس بودن فایل و عکس برای دارنده.

گام پنجم: موارد بهبود…

موارد بهبود…
موارد بهبود…
موارد بهبود…
موارد بهبود…
موارد بهبود…
موارد بهبود…
  1. اتصال SWD را به سمت بالا منتقل کنید زیرا اتصال آن با برنامه نویس آسان تر است.
  2. با تغذیه مدار از باتری لیتیوم ، این کار را با لحیم کردن یک بلوز انجام دادم و خوب کار کرد ، در نظر داشته باشید که تنظیم کننده خطی (LDO) دارای ولتاژ افت V است اگر (Vbat - Vout) کمتر از حد Vdrop مدار ممکن است کار نکند به درستی.
  3. دکمه کاربر را کمی بزرگتر کنید تا فشردن آن راحت تر شود.
  4. اضافه کردن کد USB CDC ، بنابراین می توانید برنامه خاصی را برای MAC/PC/linux طراحی و طراحی کنید.
  5. برای آنتن GPS ، من از آنتن فعال برای این پروژه استفاده کردم ، استفاده از آنتن غیرفعال با افزودن op-Amp کم سر و صدا مانند AT2659 امکان پذیر است (همچنین شماتیک ATGM332 Datasheet P.14 را بررسی کنید).
  6. برای OLED 0.96 'SSD1306 ، کتابخانه رسمی میکروچیپ در اصل برای صفحه نمایش 128*32 ، برای تغییر کد برای کار با 128*64 باید به ssd1306.c بروید و کد را اصلاح کنید (تصویر را بررسی کنید).

توصیه شده: