Мазмуну:

OLED дисплей долбоору менен GPSти көзөмөлдөө: 5 кадам (сүрөттөр менен)
OLED дисплей долбоору менен GPSти көзөмөлдөө: 5 кадам (сүрөттөр менен)

Video: OLED дисплей долбоору менен GPSти көзөмөлдөө: 5 кадам (сүрөттөр менен)

Video: OLED дисплей долбоору менен GPSти көзөмөлдөө: 5 кадам (сүрөттөр менен)
Video: Extract GPS location in Arduino with Ublox Neo-6 and Neo 7m GPS modules 2024, Ноябрь
Anonim
GPS мониторинги OLED дисплей долбоору менен
GPS мониторинги OLED дисплей долбоору менен
GPS мониторинги OLED дисплей долбоору менен
GPS мониторинги OLED дисплей долбоору менен
OLED дисплей долбоору менен GPS мониторинги
OLED дисплей долбоору менен GPS мониторинги
GPS мониторинги OLED дисплей долбоору менен
GPS мониторинги OLED дисплей долбоору менен

Салам баарына, бул тез макалада мен сиз менен өз проектимди бөлүшөм: SAMD21J18 микроконтроллери жана SSD1306 OLED 128*64 дисплейи бар ATGM332D GPS модулу, мен бул үчүн Eagle Autodeskке атайын ПКБ куруп, аны Atmel studio 7.0 жана ASF4 аркылуу программалайм. бул макалада мен сиз менен бул саякатты жана сиз колдонгон файлдарды бөлүшөсүз, эгерде сиз муну өзүңүз үчүн кызыктуу болсо.

Эми сиз MCU/өнүктүрүү тактаңызды Arduino аркылуу программалап жатсаңыз, бул проект сизге салыштырмалуу оңой болушу керек, бирок бул жерде мен C тилине негизделген Atmel/Microchipтен ASF4 (Advanced software framwork 4) колдоном жана сизге идея берет. USART асинхрондук драйвери (Callback) аркылуу GPS NMEA билдирүүсүн кантип окуу керектиги жана сизге жөнөкөй китепкана менен камсыз кылуу үчүн, аны каалаган Микроконтроллер жана башка платформа менен колдоно аласыз. GPS (NMEA билдирүүсү).

Мен бул макаланы бөлөм:

  1. PCB Дизайн.
  2. BOM сиз ПХБ чогултуу керек
  3. Программалык камсыздоону жана коддун өзүн тез карап чыгуу жана аппараттык жана программалык камсыздоону текшерүү.
  4. акырында, бирок бул долбоорду жакшыртуу үчүн кээ бир пункттар.

Сиз бул долбоорго тиешелүү бардык материалдарды Githubдан таба аласыз (Бул жерде)

1 -кадам: Бүркүттүн жардамы менен ПХБ дизайны

Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны
Бүркүттүн жардамы менен PCB дизайны

Бул долбоор негизинен ATGM332D GPS модулуна негизделген, жөн гана GPS иштеши үчүн бир нече пассивдүү компоненттерге муктаж жана биз модулдан негизги кубат булагын өчүрсөк, убакытты/датаны үнөмдөө үчүн камдык батареяны кошо алмакпыз.

жана схеманын бардык сигналдарын көзөмөлдөө үчүн мен ATSAMD21J18B микроконтроллери, TQFP64 пакети менен бардым, анткени анын 128КБайт программалык эс тутуму жана 32КБайт маалымат эстутуму бар (жана менде алардын көбү менин жумушчу столумдун тегерегинде).

чынжыр USB 5V булагы менен иштейт, ошондой эле USB виртуалдык COM порту катары иштей алат (CDC USB) жана сиз USB аркылуу түзмөк менен байланышкыңыз келсе, ага код кошо аласыз.

дисплей үчүн мен SSD1306 0,96 'OLED дисплейин SPI шинасы менен тандап алдым, ал кичинекей, бирок мен каалаган ПХБ өлчөмүнө ылайыктуу, тактайдын өлчөмү 100x31 мм.

Микроконтроллерди программалоо SWD программисти аркылуу болот (I Atmel ICE колдоном) жана аны 1.27мм 10p пин башы аркылуу туташтырат.

Ошондой эле мен Fusion360ты тактанын 3d көрүнүшүн алуу үчүн колдондум, жана сиз ошондой эле анын сүрөттөлүшүн көрө аласыз.

2 -кадам: ПХБны ширетүү

ПХБны ширетүү
ПХБны ширетүү
ПХБны ширетүү
ПХБны ширетүү
ПХБны ширетүү
ПХБны ширетүү

Сизде PCB менен трафаретке заказ кылуунун тандоосу бар, трафареттин жардамы менен тактага ширетүүчү пастаны колдонуу оңой, мен тетиктерди чогуу ширетүү үчүн ысык плитаны колдондум, ысык абаны колдонуу да жакшы, бирок LED ди ширетүүдө этият болуңуз. алар ысыкка ушунчалык сезимтал.

астыңкы жагын ширетүү бир аз жеңилирээк, анткени анда SWD пин башы жана резервдик батарейкасы бар, аларды сиз ширетүүчү темир менен ширете аласыз.

USB туташтыргычты туташтыруудан мурун, кыска туташууну текшериңиз.

GPS антеннаңызды туташтырыңыз жана анын туташтыргычын туура туташтырганыңызды текшериңиз, антеннаны тактанын ылдый жагына бекиттим.

3 -кадам: Программалык камсыздоо… Функционалдык… жыйынтыктар

Image
Image
Программалык камсыздоо… Функционалдык… жыйынтыктар
Программалык камсыздоо… Функционалдык… жыйынтыктар
Программалык камсыздоо… Функционалдык… жыйынтыктар
Программалык камсыздоо… Функционалдык… жыйынтыктар

Программалык камсыздоо 4 бөлүккө бөлүнөт:

  1. USART ATGM332 GPS модулу менен байланышуу үчүн.
  2. SPI OLED менен байланышуу үчүн.
  3. USB CDC.
  4. LEDди башкаруу үчүн GPIO

адегенде USB туташтыргычын электр схемасына туташтырыңыз, андан кийин лента кабелин SWD туташтыргычы менен туташтырыңыз.

Githubдан Кодду жүктөп алыңыз (Бул жерде шилтеме).

Гео-жайгашууну алуу үчүн сизде NMEAнын 3 башка билдирүүсү бар:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Мен GPRMC сүйлөмүн жайгашкан жерди, убакытты жана датаны алуу үчүн колдондум (убакыт 0.0 GMT), ошондуктан сиз коддон таба аласыз:

GPRMC. Enable = 1;/*0, эгерде бул билдирүүнүн кереги жок болсо*/

GPGGA. Enable = 0;/*0, эгерде бул билдирүүнүн кереги жок болсо*/

GPGLL. Enable = 0;/*0, эгерде бул билдирүүнүн кереги жок болсо*/

сиз аларды чогуу иштетип, ошол эле учурда керектүү маалыматтарды ала аласыз.

жарактуу GPRMC сүйлөмү болгондон кийин, theGPRMC. Ready 1 болуп калат жана сиз бул сүйлөмдөгү бардык маалыматтарды ала аласыз, бул сүйлөмдөгү жеткиликтүү маалыматтарды көрүү үчүн бул шилтемени текшериңиз.

жөн гана эгерде Fix "А" болсо, бул жайгашкан жерди билдирет, эгерде оңдоо "V" болсо, бул жайгашкан жер жок дегенди билдирет.

ATSAMD21де ички RTC бар экенин байкаңыз, бирок бул жерде мен аны колдонбойм жана анын ордуна убакытты жана датаны GPSтен түз колдоном, андыктан CR1220 камдык батареясын колдонууну каалабасаңыз, USB кубат булагын ажыраткандан кийин Убакытты/Датаны жоготуп, кийинки жолу схеманы күйгүзгөнүңүздө, дисплейдеги убакыт/дата аймагы GPS жарактуу убакыт/күн маанисине ээ болгонго чейин бош калат.

дисплей сизге GPSтин учурдагы абалын көрсөтөт жана жеткиликтүү болгондо Гео-ордун көрсөтөт, бирок тактада 3 LED бар:

  1. Жашыл LED PA06 менен туташкан, жана жарактуу Гео-жайгашуу мааниси бар болсо, ирмелет.
  2. Orange LED PA07ге туташкан жана жарактуу Гео-жайгашуу жок болсо, секундасына бир ирет өчүп калат.
  3. Кызыл LED бул GPS модулунун PPS пинине туташкан жана Жайгашууга байланыштуу жарактуу сигнал болгондо гана жаркырайт.

Жыйынтыктар

Район мен менен абдан жакшы иштеди, GPSтен гео-жайгашуу 20-30 секундада ачык асманга жана имараттардын ортосуна тактайдын ылдый жагында антеннасы болсо да эч кандай көйгөйсүз кабыл алынды.

4 -кадам: 3D Басылган Case… Sort Of

3D Басылган Кап… Sort Of
3D Басылган Кап… Sort Of

Мен бул схема үчүн жөнөкөй корпусту (тагыраак кармагычты) даярдадым, бирок азыр COVID-19 эпидемиясынан жана блокададан улам мен аны басып чыгаруу үчүн 3d принтериме жете алган жокмун, ошондуктан бул бөлүмдү stl менен жаңыртам жеткиликтүү болгондон кийин файлдын ээси үчүн сүрөттөр.

5 -кадам: Жакшыртуучу нерселер …

Жакшыртуучу нерселер…
Жакшыртуучу нерселер…
Жакшыртуучу нерселер…
Жакшыртуучу нерселер…
Жакшыртуучу нерселер…
Жакшыртуучу нерселер…
  1. SWD туташтыргычын үстү жагына жылдыруу, анткени аны программистиңизге туташтыруу оңой.
  2. Литий батареясынан микросхеманы кубаттап, мен секиргичти ширетүү менен кылдым жана ал жакшы иштеди, эгерде сызыктуу (LDO) жөндөгүчтүн V түшүү чыңалуусу бар экенин эске алсак (Vbat - Vout) Vdrop чегинен аз болсо, схема иштебей калышы мүмкүн. туура.
  3. колдонуучунун баскычын бир аз чоңойтуп, басуу оңой болот.
  4. USB CDC кодун кошуп, сиз MAC/PC/linux үчүн атайын программа түзө аласыз.
  5. GPS антеннасы үчүн мен AT2659 сыяктуу төмөн ызы-чуу кошуу менен бул проектте активдүү антеннаны колдондум (ATGM332 Datasheet P.14 схемасын текшериңиз).
  6. OLED 0.96 'SSD1306 үчүн, микрочиптен расмий китепкана 128*32 дисплей үчүн, 128*64 менен иштөө үчүн кодду өзгөртүү үчүн, ssd1306.c сайтына кирип, кодду өзгөртүү керек (сүрөттү текшериңиз).

Сунушталууда: