Агуулгын хүснэгт:

OLED дэлгэцийн төслийн тусламжтайгаар GPS хяналт: 5 алхам (зурагтай)
OLED дэлгэцийн төслийн тусламжтайгаар GPS хяналт: 5 алхам (зурагтай)

Видео: OLED дэлгэцийн төслийн тусламжтайгаар GPS хяналт: 5 алхам (зурагтай)

Видео: OLED дэлгэцийн төслийн тусламжтайгаар GPS хяналт: 5 алхам (зурагтай)
Видео: La Trottinette Electrique d'Apple!! 45 km/h Segway KickScooter P100 SE 2024, Долдугаар сарын
Anonim
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт
OLED дэлгэцийн төслийн тусламжтайгаар GPS -ийн хяналт

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

Хэрэв та MCU/хөгжлийн самбараа Arduino ашиглан програмчилж байгаа бол энэ төсөл танд харьцангуй хялбар байх болно, гэхдээ энд би C хэл дээр суурилсан Atmel/Microchip -ээс ASF4 (Нарийвчилсан програм хангамжийн хүрээ 4) ашиглах бөгөөд танд санаа өгөх болно. USART асинхрон драйвер (Callback) ашиглан GPS NMEA мессежийг хэрхэн уншиж, ямар ч микро контроллер болон өөр платформтой хамт ашиглах боломжтой энгийн номын сангаар хангахын тулд мессежийг хүлээн авахын тулд ашиглаж буй драйвераа нэмж оруулаарай. GPS (NMEA мессеж).

Би энэ нийтлэлийг дараахь байдлаар хуваах болно.

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

Та энэ төсөлтэй холбоотой бүх материалыг Github дээрээс олох болно (Энд)

Алхам 1: Ийгл ашиглан ПХБ -ийн дизайн

Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн
Бүргэд ашиглан ПХБ -ийн дизайн

Энэхүү төсөл нь үндсэндээ ATGM332D GPS модульд суурилсан бөгөөд ашиглахад энгийн GPS ашиглахад идэвхгүй хэд хэдэн бүрэлдэхүүн хэсгүүд хэрэгтэй бөгөөд хэрэв бид модулийн үндсэн тэжээлийн эх үүсвэрийг унтраавал цаг/огноог хэмнэхийн тулд нөөц батерей нэмж болно.

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

Энэ хэлхээ нь USB 5V эх үүсвэрээр тэжээгддэг бөгөөд USB нь виртуал COM порт (CDC USB) үүргийг гүйцэтгэх боломжтой бөгөөд хэрэв та төхөөрөмжтэй USB -ээр холбогдохыг хүсвэл кодыг нэмж болно.

Дэлгэцийн хувьд би SPI автобус бүхий SSD1306 0.96 'OLED дэлгэцийг сонгосон, энэ нь жижиг боловч миний хүссэн ПХБ -ийн хэмжээ, хавтангийн хэмжээ 100x31 мм.

Микроконтроллерыг програмчлах нь SWD програмистаар хийгддэг (би Atmel ICE ашигладаг) бөгөөд 1.27 мм 10p зүү толгойгоор холбоно.

Мөн би Fusion360 -ийг ашиглан самбарыг 3d хэлбэрээр харах боломжтой байсан бөгөөд та үүний зарим дүрсийг харж болно.

Алхам 2: ПХБ -ийг гагнах

ПХБ -ийг гагнах
ПХБ -ийг гагнах
ПХБ -ийг гагнах
ПХБ -ийг гагнах
ПХБ -ийг гагнах
ПХБ -ийг гагнах

Та өөрийн ПХБ -ээр стенил захиалах сонголт байна, стенил ашиглан самбар дээр гагнуурын оо түрхэх нь илүү хялбар болно, би бүрэлдэхүүн хэсгүүдийг хамтад нь гагнахдаа халуун хавтан ашигласан, халуун агаар ашиглах нь бас тохиромжтой боловч LED -ийг гагнахдаа болгоомжтой байгаарай. Тэд халуунд маш мэдрэмтгий байдаг.

Доод талыг гагнах нь арай хялбар байдаг, учир нь зөвхөн SWD зүү толгой ба нөөц батерейтай тул та гагнуурын төмрөөр гагнах боломжтой.

Хэлхээг USB тэжээлийн эх үүсвэрт холбохын өмнө богино холболт байгаа эсэхийг шалгаарай.

GPS антенаа холбож, холбогчийг зөв гагнах эсэхийг шалгаарай, би антенныг самбарын доод талд засав.

Алхам 3: Програм хангамж … Функциональ байдал … үр дүн

Image
Image
Програм хангамж … Функциональ байдал … үр дүн
Програм хангамж … Функциональ байдал … үр дүн
Програм хангамж … Функциональ байдал … үр дүн
Програм хангамж … Функциональ байдал … үр дүн

Програм хангамжийг 4 хэсэгт хуваах болно.

  1. USART нь ATGM332 GPS модультай холбогдох болно.
  2. OLED -тэй харилцах SPI.
  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. Улбар шар өнгийн LED нь PA07-д холбогдсон бөгөөд хүчин төгөлдөр Гео байршил байхгүй бол секундэд нэг удаа анивчих болно.
  3. Улаан LED нь GPS модулийн PPS зүүтэй холбогдсон бөгөөд Байршилтай холбоотой зөв дохио өгөхөд л анивчих болно.

Үр дүн

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

Алхам 4: 3D хэвлэсэн кейс … Эрэмбэлэх

3D хэвлэсэн кейс … Эрэмбэлэх
3D хэвлэсэн кейс … Эрэмбэлэх

Би энэ хэлхээнд зориулж энгийн хайрцаг (илүү нарийвчлалтай эзэмшигч) бэлдсэн боловч одоо COVID-19 тахал болон түгжигдсэн байдлаас болж 3d принтер дээрээ хэвлэх боломжгүй байсан тул энэ хэсгийг stl ашиглан шинэчлэх болно. файл болон эзэмшигчийн зургийг бэлэн болмогц.

Алхам 5: Сайжруулах зүйлс …

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

Зөвлөмж болгож буй: