- Potrebné materiály
- Čo je magnetometer a ako funguje?
- Ako funguje senzorový modul HMC5883L
- Schéma zapojenia
- Príprava PCB pre digitálny kompas
- Montáž DPS
- Programovanie Arduina
Ľudský mozog je tvorený zložitou vrstvou štruktúr, ktoré nám pomáhajú byť dominantným druhom na Zemi. Napríklad entorhinálna kôra v mozgu vám môže poskytnúť orientačný zmysel, ktorý vám pomôže ľahko sa orientovať v miestach, ktoré nepoznáte. Ale na rozdiel od nás, roboty a vozidlá Ariel bez ľudskej posádky potrebujú niečo, aby získali tento smerový smer, aby mohli autonómne manévrovať v nových terénoch a krajinách. Rôzne roboty na dosiahnutie tohto cieľa používajú rôzne typy senzorov, ale bežne používaným magnetometrom je, ktorý by mohol robotovi informovať, ktorým geografickým smerom sa momentálne nachádza. To robotovi pomôže nielen vycítiť smer, ale aj striedať sa v preddefinovanom smere a anjelovi.
Pretože senzor dokázal indikovať geografický sever, juh, východ a západ, mohli by sme ho v prípade potreby použiť aj my ľudia. V tomto článku sa teda pokúsime pochopiť, ako funguje snímač magnetometra a ako ho prepojiť s mikrokontrolérom, ako je Arduino. Tu postavíme skvelý digitálny kompas, ktorý nám pomôže nájsť smer tým, že rozsvietime LED smerujúcu na sever. Tento digitálny kompas je úhľadne vyrobený na doske plošných spojov od spoločnosti PCBGOGO, aby som si ho mohol nabudúce preniesť, keď idem do voľnej prírody a želám si, aby som sa stratil, len aby som túto vec využil na nájdenie cesty späť domov. Začnime.
Potrebné materiály
- Arduino Pro mini
- HMC5883L snímač magnetometra
- LED svetlá - 8č
- 470Ohm rezistor - 8Nos
- Barrel Jack
- Spoľahlivý výrobca dosiek plošných spojov ako PCBgogo
- FTDI programátor pre mini
- PC / notebook
Čo je magnetometer a ako funguje?
Predtým, ako sa ponoríme do okruhu, pochopme niečo o magnetometri a o tom, ako fungujú. Ako už názov napovedá, výraz Magneto neodkazuje na toho bláznivého mutanta v zázraku, ktorý by dokázal ovládať kovy iba tak, že by vo vzduchu hral na klavír. Och! Ale páči sa mi ten chlap, ktorý je v pohode.
Magnetometer je vlastne zariadenie, ktoré dokáže snímať magnetické póly Zeme a podľa toho nasmerovať smer. Všetci vieme, že Zem je obrovský kus sférického magnetu so severným a južným pólom. A kvôli tomu existuje magnetické pole. Magnetometer sníma toto magnetické pole a na základe smeru magnetického poľa dokáže detegovať smer, ktorým čelíme.
Ako funguje senzorový modul HMC5883L
HMC5883L byť senzor magnetometer robí to isté. Je na ňom integrovaný obvod HMC5883L, ktorý pochádza od spoločnosti Honeywell. Tento IC má vo vnútri 3 magneto-odporové materiály, ktoré sú usporiadané v osiach x, y a z. Množstvo prúdu pretekajúceho týmito materiálmi je citlivé na magnetické pole Zeme. Takže meraním zmeny prúdu pretekajúceho týmito materiálmi môžeme detekovať zmenu magnetického poľa Zeme. Akonáhle je zmena absorbovaná magnetickým poľom, hodnoty môžu byť potom odoslané do ktoréhokoľvek zabudovaného radiča ako mikrokontrolér alebo procesor prostredníctvom protokolu I2C.
Pretože senzor pracuje na základe snímania magnetického poľa, výstupné hodnoty budú výrazne ovplyvnené, ak bude v blízkosti kov. Toto správanie je možné využiť pri použití týchto senzorov aj ako detektorov kovov. Je potrebné dbať na to, aby sa magnety nedostali do blízkosti tohto snímača, pretože silné magnetické pole magnetu môže na snímači vyvolať nesprávne hodnoty.
Rozdiel medzi HMC5883L a QMC5883L
Pre mnohých začiatočníkov je okolo týchto senzorov bežná nejasnosť. Je to preto, že niektorí predajcovia (vlastne väčšina) predávajú senzory QMC5883L namiesto pôvodných HMC5883L od spoločnosti Honeywell. Je to väčšinou preto, že QMC5883L je oveľa lacnejší ako modul HMC5883L. Smutnou časťou je, že fungovanie týchto dvoch senzorov je mierne odlišné a pre oba nemožno použiť rovnaký kód. Je to preto, že I2C adresa oboch senzorov nie je rovnaká. Kód uvedený v tomto výučbe bude fungovať iba pre QMC5883L bežne dostupný modul snímača.
Ak chcete vedieť, aký model snímača máte, stačí sa zblízka pozrieť na samotné IC a prečítať si, čo je na ňom napísané. Ak je napísané niečo ako L883, potom je to HMC58836L a ak je napísané niečo ako DA5883, potom je to QMC5883L IC. Oba moduly sú zobrazené na obrázku nižšie, aby ste ich ľahšie pochopili.
Schéma zapojenia
Obvod tohto digitálneho kompasu založeného na Arduine je dosť jednoduchý, musíme jednoducho prepojiť snímač HMC5883L s Arduino a pripojiť 8 LED k pinom GPIO Arduino Pro mini. Kompletná schéma zapojenia je uvedená nižšie
Modul snímača má 5 pinov, z ktorých sa DRDY (Data Ready) v našom projekte nepoužíva, pretože snímač prevádzkujeme v nepretržitom režime. Vcc a uzemňovací kolík sa používa na napájanie modulu 5V z dosky Arduino. SCL a SDA sú linky komunikačnej zbernice I2C, ktoré sú pripojené k pinom A4 a A5 I2C Arduino Pro mini. Pretože samotný modul má na linkách vysoký odpor ťahu, nie je potrebné ich externe pridávať.
Na indikáciu smeru sme použili 8 LED diód, ktoré sú všetky pripojené k pinom GPIO Arduina cez rezistor obmedzujúci prúd na 470 ohmov. Obvod Complete je napájaný z 9V batérie cez hlavný Jack. Tento 9V je poskytovaný priamo do kolíka Vin na Arduine, kde je regulovaný na 5V pomocou palubného regulátora na Arduine. Toto 5V sa potom používa na napájanie snímača a tiež Arduina.
Príprava PCB pre digitálny kompas
Myšlienkou obvodu je umiestnenie 8 LED diód kruhovým spôsobom tak, aby každá LED smerovala všetkými 8 smermi, a to sever, severovýchod, východ, juhovýchod, juh, juhozápad, západ a severozápad. Nie je teda ľahké usporiadať ich prehľadne na doske alebo dokonca na doske perf. Vývoj dosky plošných spojov pre tento obvod spôsobí, že bude vyzerať prehľadnejšie a ľahšie sa bude používať. Takže som otvoril svoj návrhový softvér plošných spojov a umiestnil som LED diódy a odpor do úhľadného kruhového vzoru a spojil stopy, aby sa vytvorili spojenia. Po dokončení môj dizajn vyzeral nižšie asi takto. Môžete si tiež stiahnuť súbor Gerber z odkazu uvedeného nižšie.
- Stiahnite si súbor Gerber pre PCB Digital Compass
Navrhol som to tak, aby to bola dvojitá bočná doska, pretože chcem, aby Arduino bolo v spodnej časti mojej PCB, aby to nezkazilo vzhľad na vrchnej časti mojej PCB. Ak sa obávate, že musíte platiť vysoko za obojstranný PCB, potom vydržte, mám dobrý nový príchod.
Teraz, keď je náš Dizajn pripravený, je čas nechať ich vyrobiť. Hotové PCB je celkom jednoduché, jednoducho postupujte podľa krokov uvedených nižšie
Krok 1: Choďte na www.pcbgogo.com, zaregistrujte sa, ak ste prvýkrát. Potom na karte Prototyp PCB zadajte rozmery vašej PCB, počet vrstiev a požadovaný počet PCB. Moja doska plošných spojov je 80 cm × 80 cm, takže karta vyzerá takto
Krok 2: Pokračujte kliknutím na tlačidlo Citovať teraz . Budete presmerovaní na stránku, kde môžete v prípade potreby nastaviť niekoľko ďalších parametrov, ako napríklad použitý rozstup koľají atď. Ale väčšinou budú fungovať predvolené hodnoty. Jediná vec, ktorú tu musíme brať do úvahy, je cena a čas. Ako vidíte, čas zostavenia je iba 2 - 3 dni a stojí iba 5 dolárov za náš PSB. Potom môžete zvoliť preferovaný spôsob dopravy na základe vašej požiadavky.
Krok 3: Posledným krokom je nahranie súboru Gerber a pokračovanie v platbe. Pred pokračovaním v platbe PCBGOGO overuje, či je proces plynulý, či je váš súbor Gerber platný. Týmto spôsobom si môžete byť istí, že vaša doska s plošnými spojmi je vhodná pre výrobu a že sa k vám dostane ako zaviazaná.
Montáž DPS
Po objednaní dosky sa ku mne po niekoľkých dňoch dostalo aj keď kuriér v úhľadne označenej dobre zabalenej krabici a ako vždy bola kvalita DPS úžasná. Zdieľam niekoľko obrázkov z tabúľ, ktoré môžete posúdiť.
Zapol som spájkovaciu tyč a začal som montovať dosku. Pretože sú stopy, podložky, priechody a sieťotlač perfektne správneho tvaru a veľkosti, nemal som problém s zostavením dosky. Doska bola hotová len za 10 minút od rozbalenia krabice.
Niekoľko obrázkov dosky po spájkovaní je zobrazených nižšie.
Programovanie Arduina
Teraz, keď je náš hardvér pripravený, pozrime sa na program, ktorý je potrebné nahrať na našu dosku Arduino. Účelom kódu je načítať údaje zo senzora magnetometra QMC5883L a previesť ich na stupne (0 až 360). Keď poznáme stupeň, musíme rozsvietiť LED smerujúcu konkrétnym smerom. Smer, ktorý som použil v tomto programe, je severný. Takže bez ohľadu na to, kde ste, na vašej doske bude svietiť iba jedna LED a smer LED bude indikovať SEVERNÝ smer. Kedysi bolo možné neskôr vypočítať druhý smer, je jeden smer známy.
Celý kód tohto projektu Digitálny kompas nájdete na konci tejto stránky. Po zahrnutí knižnice ju môžete priamo nahrať na svoju nástenku a ste pripravení vyraziť. Ale ak to chcete vedieť