Мазмұны:

OLED дисплей жобасымен GPS мониторингі: 5 қадам (суреттермен)
OLED дисплей жобасымен GPS мониторингі: 5 қадам (суреттермен)

Бейне: OLED дисплей жобасымен GPS мониторингі: 5 қадам (суреттермен)

Бейне: OLED дисплей жобасымен GPS мониторингі: 5 қадам (суреттермен)
Бейне: Қослайк жобасы Айдананың аяғы ауыр болып шықты !😱#qoslike #кослайк #қослайық #кослайкпрямойэфир 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 (Advanced software framwork 4) қолданамын және сізге идея береді. USART асинхронды драйвері (Callback) көмегімен GPS NMEA хабарламасын қалай оқу керектігін және сізге оны кез келген микроконтроллермен және басқа платформада пайдалануға болатын қарапайым кітапхананы ұсыну үшін хабарды қабылдау үшін қолданылатын драйверді қосу арқылы. GPS (NMEA хабарламасы).

Мен бұл мақаланы келесіге бөлемін:

  1. ПХД дизайны.
  2. BOM сізге ПХД жинау керек
  3. Бағдарламалық жасақтама мен кодтың өзіне жылдам қарау және аппараттық және бағдарламалық қамтамасыз етуді тексеру.
  4. ақырында, бірақ бұл жобаны жақсарту үшін маңызды.

Сіз бұл жобаға қатысты барлық материалдарды Github -дан таба аласыз (Мұнда)

1 -қадам: Eagle көмегімен ПХД дизайны

Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны
Eagle көмегімен ПХД дизайны

Бұл жоба негізінен ATGM332D GPS модуліне негізделген, қарапайым GPS қолдануға арналған, себебі ол жұмыс істеу үшін тек бірнеше пассивті компоненттерді қажет етеді және егер біз модульден негізгі қуат көзін өшірсек, уақытты/күнді үнемдеу үшін резервтік батареяны қосуға болады.

мен тізбектегі барлық сигналдарды басқару үшін мен ATSAMD21J18B микроконтроллерімен, TQFP64 пакетімен жүрдім, себебі оның 128 КБт жады жады мен 32 КБт деректер жады бар (және менде олардың көпшілігі жұмыс үстелінде орналасқан).

тізбек USB 5V көзінен қуат алуы керек, сонымен қатар USB виртуалды COM порты (CDC USB) ретінде жұмыс істей алады және егер сіз құрылғымен USB арқылы байланысқыңыз келсе, оған код қосуға болады.

дисплей үшін мен SPD шинасы бар SSD1306 0,96 'OLED дисплейін таңдадым, ол кішкентай, бірақ мен қалаған ПХД өлшеміне сәйкес келеді, тақтай өлшемі 100х31 мм.

Микроконтроллерді бағдарламалау SWD бағдарламашысы арқылы болады (мен Atmel ICE қолданамын) және оны 1.27 мм 10 істікшелі тақырып арқылы қосады.

Сондай -ақ, мен Fusion360 тақтаның 3D көрінісін алу үшін қолдандым, және сіз оның кейбір суретін көре аласыз.

2 -қадам: ПХД дәнекерлеу

ПХД дәнекерлеу
ПХД дәнекерлеу
ПХД дәнекерлеу
ПХД дәнекерлеу
ПХД дәнекерлеу
ПХД дәнекерлеу

Сіз өзіңіздің ПХД -мен трафаретке тапсырыс бере аласыз, трафарет көмегімен тақтаға дәнекерленген пастаны жағу оңай, мен ыстық пластинаны компоненттерді бір -бірімен дәнекерлеу үшін қолдандым, ыстық ауаны пайдалану да жақсы, бірақ жарық диодты дәнекерлеу кезінде абай болыңыз. олар ыстыққа өте сезімтал.

Төменгі жағын дәнекерлеу сәл жеңілірек, себебі оның тек SWD түйреуіші мен резервтік батареясы бар, оларды дәнекерлеу үтікімен дәнекерлеуге болады.

тізбекті USB қуат көзіне қоспас бұрын, қысқа тұйықталуды тексеріңіз.

GPS антеннасын қосыңыз және оның қосқышын дұрыс дәнекерлегеніңізге көз жеткізіңіз, мен антеннаны тақтаның төменгі жағына бекіттім.

3 -қадам: Бағдарламалық қамтамасыз ету… Функционалдылық… нәтижелер

Image
Image
Бағдарламалық қамтамасыз ету… Функционалдылық… нәтижелер
Бағдарламалық қамтамасыз ету… Функционалдылық… нәтижелер
Бағдарламалық қамтамасыз ету… Функционалдылық… нәтижелер
Бағдарламалық қамтамасыз ету… Функционалдылық… нәтижелер

Бағдарламалық қамтамасыз ету 4 бөлікке бөлінеді:

  1. USART ATGM332 GPS модулімен байланысу үшін.
  2. SPI OLED -мен байланысады.
  3. USB CDC.
  4. Жарықдиодты басқару үшін 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 'A' болса, бұл орналасу бар екенін білдіреді, егер Fix 'V' болса, бұл орын жоқ дегенді білдіреді.

ATSAMD21 -де ішкі RTC бар екенін ескеріңіз, бірақ мен оны қолданбаймын, оның орнына уақыт пен күнді GPS арқылы тікелей қолданамын, сондықтан егер сіз CR1220 резервтік батареясын пайдаланғыңыз келмесе, USB қуат көзін ажыратқаннан кейін сіз Уақытты/Күнді жоғалтыңыз және келесі рет тізбекті қосқанда, GPS дұрыс уақыт/күн мәніне дейін дисплейдегі уақыт/күн аймағы бос болады.

дисплей GPS-тің ағымдағы күйін көрсетеді және қол жетімді болған кезде гео-орынды көрсетеді, бірақ тақтада 3 жарық диоды бар:

  1. Жасыл жарық диоды PA06-ға жалғанған, егер гео-орналасудың жарамды мәні болса жыпылықтайды.
  2. Қызғылт түсті жарық диоды PA07-ге қосылған және егер дұрыс гео-орын болмаса секундына бір рет жыпылықтайды.
  3. Қызыл жарық диодты GPS модулінің PPS түйреуішіне қосылады және орналасуға қатысты жарамды сигнал болған кезде ғана жыпылықтайды.

Нәтижелер

Бұл схема менімен өте жақсы жұмыс жасады, GPS-тен гео-орналасу 20-30 секунд ішінде ашық аспанға және ғимараттар арасында, тіпті тақтаның төменгі жағындағы антеннамен де еш қиындықсыз өтті.

4 -қадам: 3D басып шығарылған қап… Сұрыптау

3D басып шығарылған қап… Сұрыптау
3D басып шығарылған қап… Сұрыптау

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

5 -қадам: жақсартуға болатын нәрселер …

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

Ұсынылған: