- Potřebné materiály
- Co je magnetometr a jak funguje?
- Jak funguje senzorový modul HMC5883L
- Kruhový diagram
- Výroba desek plošných spojů pro digitální kompas
- Montáž desky plošných spojů
- Programování Arduina
Lidský mozek je postaven ze složité vrstvy struktur, které nám pomáhají být dominantním druhem na Zemi. Například entorhinální kůra ve vašem mozku vám může poskytnout směr, což vám pomůže snadno se orientovat v místech, která neznáte. Ale na rozdíl od nás, roboti a bezpilotní vozidla Ariel potřebují něco, aby získali tento směr, aby mohli samostatně manévrovat v nových terénech a krajinách. Různé roboty k tomu používají různé typy senzorů, ale běžně používaným magnetometrem je, který by mohl robota informovat, ve kterém geografickém směru se aktuálně nachází. To robotovi pomůže nejen snímat směr, ale také střídat předem definovaný směr a anděla.
Vzhledem k tomu, že senzor dokázal indikovat geografický sever, jih, východ a západ, mohli bychom ho my lidé také použít v době, kdy to bylo potřeba. V tomto článku se tedy pokusíme porozumět tomu, jak senzor magnetometru funguje a jak jej propojit s mikrokontrolérem, jako je Arduino. Zde postavíme skvělý digitální kompas, který nám pomůže najít směr nasvícením LED ukazující na severní směr. Tento digitální kompas je na PCB úhledně vyroben z PCBGOGO, abych jej mohl nosit příště, když vyjedu do divočiny a přeji si, abych se ztratil, abych mohl použít tuto věc k nalezení cesty zpět domů. Začněme.
Potřebné materiály
- Arduino Pro mini
- Senzor magnetometru HMC5883L
- LED světla - 8 č
- 470Ohm rezistor - 8Nos
- Barrel Jack
- Spolehlivý výrobce desek plošných spojů, jako je PCBgogo
- FTDI programátor pro mini
- PC / notebook
Co je magnetometr a jak funguje?
Než se ponoříme do okruhu, pojďme se trochu seznámit s magnetometrem a tím, jak fungují. Jak název napovídá, termín Magneto neodkazuje na toho bláznivého mutanta ve zázraku, který by mohl ovládat kovy pouhým hraním na klavír ve vzduchu. Ohh! Ale líbí se mi ten chlap, který je v pohodě.
Magnetometr je vlastně zařízení, které dokáže snímat magnetické póly Země a podle toho nasměrovat směr. Všichni víme, že Země je obrovský kus sférického magnetu se severním a jižním pólem. A kvůli tomu existuje magnetické pole. Magnetometr snímá toto magnetické pole a na základě směru magnetického pole dokáže detekovat směr, kterému čelíme.
Jak funguje senzorový modul HMC5883L
HMC5883L být senzor magnetometr dělá totéž. Má integrovaný obvod HMC5883L, který je od společnosti Honeywell. Tento IC má uvnitř 3 magneto-odporové materiály, které jsou uspořádány v osách x, yaz. Množství proudu protékajícího těmito materiály je citlivé na magnetické pole Země. Takže měřením změny proudu protékajícího těmito materiály můžeme detekovat změnu magnetického pole Země. Jakmile je změna absorbována magnetickým polem, mohou být hodnoty odeslány do libovolného vestavěného řadiče, jako je mikrokontrolér nebo procesor, prostřednictvím protokolu I2C.
Vzhledem k tomu, že senzor pracuje na základě snímání magnetického pole, budou výstupní hodnoty výrazně ovlivněny, pokud bude poblíž kov. Toto chování lze využít k použití těchto senzorů také jako detektorů kovů. Je třeba dávat pozor, abyste nepřibližovali magnety k tomuto senzoru, protože silné magnetické pole z magnetu může vyvolat falešné hodnoty na senzoru.
Rozdíl mezi HMC5883L a QMC5883L
Kolem těchto senzorů se u mnoha začátečníků točí společný zmatek. Je to proto, že někteří prodejci (ve skutečnosti většina) prodávají senzory QMC5883L namísto původních HMC5883L od společnosti Honeywell. Je to hlavně proto, že QMC5883L je mnohem levnější než modul HMC5883L. Smutnou částí je, že práce těchto dvou senzorů se mírně liší a stejný kód nelze použít pro oba. Je to proto, že adresa I2C obou senzorů není stejná. Kód uvedený v tomto kurzu bude fungovat pouze pro QMC5883L běžně dostupný modul snímače.
Chcete-li vědět, jaký model senzoru máte, musíte se zblízka podívat na samotný IC a přečíst si, co je na něm napsáno. Pokud je napsáno něco jako L883, pak je to HMC58836L a pokud je napsáno něco jako DA5883, pak je to QMC5883L IC. Oba moduly jsou zobrazeny na obrázku níže pro snadné pochopení.
Kruhový diagram
Obvod tohoto digitálního kompasu založeného na Arduinu je docela jednoduchý, jednoduše musíme propojit snímač HMC5883L s Arduino a připojit 8 LED k pinům GPIO Arduino Pro mini. Kompletní schéma zapojení je uvedeno níže
Modul snímače má 5 pinů, z nichž DRDY (Data Ready) se v našem projektu nepoužívá, protože snímač provozujeme v nepřetržitém režimu. Vcc a zemnící kolík se používá k napájení modulu 5V z desky Arduino. SCL a SDA jsou linky komunikační sběrnice I2C, které jsou připojeny k pinům A4 a A5 I2C Arduino Pro mini. Vzhledem k tomu, že samotný modul má na vedeních vysoký odpor tahu, není třeba je přidávat externě.
K indikaci směru jsme použili 8 LED, z nichž všechny jsou připojeny k pinům GPIO Arduina přes rezistor omezující proud 470 Ohmů. Obvod Complete je napájen 9V baterií přes hlavní Jack. Tento 9V je poskytován přímo do Vin pinu Arduina, kde je regulován na 5V pomocí palubního regulátoru na Arduinu. Toto 5V se poté používá k napájení senzoru a také Arduina.
Výroba desek plošných spojů pro digitální kompas
Myšlenkou obvodu je umístit 8 LED diod kruhovým způsobem tak, aby každá LED směřovala všemi 8 směry, konkrétně na sever, severovýchod, východ, jihovýchod, jih, jihozápad, západ a severozápad. Není tedy snadné uspořádat je úhledně na prkénku na prkénko nebo dokonce na desce perf. Díky vývoji desky plošných spojů pro tento obvod bude vypadat úhledněji a snadněji se používá. Takže jsem otevřel svůj návrhový software desek plošných spojů a umístil LED diody a rezistor do úhledného kruhového vzoru a spojil stopy, aby vytvořil spojení. Po dokončení vypadal My Design níže nějak takto. Můžete si také stáhnout soubor Gerber z níže uvedeného odkazu.
- Stáhněte si soubor Gerber pro PCB Digital Compass
Navrhl jsem to jako dvojitou boční desku, protože chci, aby Arduino bylo na spodní straně mé desky plošných spojů, aby nezkazilo vzhled na mé desce plošných spojů. Pokud se obáváte, že musíte platit vysoko za oboustrannou desku plošných spojů, počkejte, mám dobrý nový příchod.
Nyní, když je náš Design připraven, je čas si je nechat vyrobit. Chcete-li udělat desku plošných spojů docela snadné, jednoduše postupujte podle následujících kroků
Krok 1: Vstupte na www.pcbgogo.com, zaregistrujte se, pokud jste poprvé. Poté na kartě Prototyp desky plošných spojů zadejte rozměry desky plošných spojů, počet vrstev a požadovaný počet desek plošných spojů. Moje deska plošných spojů je 80 cm × 80 cm, takže karta vypadá takto níže
Krok 2: Pokračujte kliknutím na tlačítko Citovat nyní . Budete přesměrováni na stránku, kde můžete v případě potřeby nastavit několik dalších parametrů, jako je použitý rozestup stop atd. Ale většinou budou výchozí hodnoty fungovat dobře. Jediná věc, kterou zde musíme vzít v úvahu, je cena a čas. Jak vidíte, doba sestavení je pouze 2–3 dny a stojí jen 5 $ za náš PSB. Poté můžete vybrat preferovaný způsob dopravy na základě vašeho požadavku.
Krok 3: Posledním krokem je nahrání souboru Gerber a pokračování platby. Před pokračováním v platbě PCBGOGO ověří, zda je váš soubor Gerber platný, aby byl proces hladký. Tímto způsobem si můžete být jisti, že vaše deska plošných spojů je přátelská k výrobě a dostane se k vám jako oddaná.
Montáž desky plošných spojů
Poté, co byla deska objednána, se mi po několika dnech dostala, i když kurýr v úhledně označené dobře zabalené krabici a jako vždy byla kvalita desky plošných spojů úžasná. Sdílím několik obrázků z níže uvedených desek, abyste je mohli posoudit.
Zapnul jsem pájecí tyč a začal montovat desku. Vzhledem k tomu, že stopy, podložky, průchody a sítotisk jsou perfektně správného tvaru a velikosti, neměl jsem problém sestavit desku. Deska byla hotová za pouhých 10 minut od vybalení krabice.
Několik obrázků desky po pájení je uvedeno níže.
Programování Arduina
Nyní, když je náš hardware připraven, pojďme se podívat na program, který je třeba nahrát na naši desku Arduino. Účelem kódu je načíst data ze snímače magnetometru QMC5883L a převést je na stupně (0 až 360). Jakmile poznáme stupeň, musíme rozsvítit LED ukazující určitým směrem. Směr, který jsem použil v tomto programu, je sever. Takže bez ohledu na to, kde jste, bude na vaší desce svítit pouze jedna LED a směr LED bude indikovat SEVERNÍ směr. Kdysi bylo možné později vypočítat druhý směr, je známý jeden směr.
Úplný kód tohoto projektu Digital Compass naleznete na konci této stránky. Po zahrnutí knihovny jej můžete přímo nahrát na svoji nástěnku a jste připraveni vyrazit. Ale pokud to chcete vědět