- Potrebni materijali
- Što je magnetometar i kako djeluje?
- Kako djeluje senzorski modul HMC5883L
- Kružni dijagram
- Izrada PCB-ova za digitalni kompas
- Sastavljanje PCB-a
- Programiranje Arduina
Ljudski mozak izgrađen je od složenog sloja struktura što nam pomaže da budemo dominantna vrsta na zemlji. Na primjer, entorinalni korteks u vašem mozgu može vam pružiti osjećaj smjera pomažući vam u lakoj navigaciji mjestima koja vam nisu poznata. No, za razliku od nas, robotima i bespilotnim vozilima Ariel treba nešto za postizanje takvog osjećaja smjera kako bi mogli autonomno manevrirati na novim terenima i krajolicima. Različiti roboti koriste različite tipove senzora da bi to postigli, ali najčešće korišten je magnetometar, koji bi mogao obavijestiti robota u kojem se geografskom smjeru trenutno suočava. To ne samo da će robotu pomoći da osjeti smjer već i da se izmjenjuje u unaprijed definiranom smjeru i anđelu.
Budući da je senzor mogao ukazivati na geo-grafički sjever, jug, istok i zapad, mi ljudi bismo ga također mogli koristiti kad god je to potrebno. Stoga u ovom članku pokušajmo shvatiti kako Magnetometar senzor radi i kako ga povezati s mikrokontrolerom poput Arduina. Ovdje ćemo izgraditi sjajni digitalni kompas koji će nam pomoći u pronalaženju uputa užarenom LED lampicom koja pokazuje smjer Sjever. Ovaj digitalni kompas uredno je napravljen na PCB-u od PCBGOGO, tako da ga mogu nositi sljedeći put kad izađem u divljinu i poželim da se izgubim samo da bih ovu stvar iskoristio za povratak kući. Započnimo.
Potrebni materijali
- Arduino Pro mini
- HMC5883L Senzor magnetometra
- LED svjetla - 8Nos
- Otpornik 470Ohm - 8Br
- Bačva Jack
- Pouzdan proizvođač PCB-a poput PCBgogo
- FTDI programer za mini
- PC / Laptop
Što je magnetometar i kako djeluje?
Prije nego što zaronimo u krug, shvatimo malo o magnetometru i načinu njihovog rada. Kao što i samo ime govori, pojam Magneto ne odnosi se na onog ludog mutanta u čudu koji je mogao kontrolirati metale samo svirajući klavir u zraku. Ohh! Ali sviđa mi se taj tip, on je cool.
Magnetometar je zapravo oprema koja bi mogla osjetiti magnetske polove zemlje i usmjeravati smjer prema tome. Svi znamo da je Zemlja ogroman komad sfernog magneta sa Sjevernim i Južnim polom. I zbog toga postoji magnetsko polje. Magnetometar osjeti ovo magnetsko polje i na temelju smjera magnetskog polja može otkriti smjer u kojem smo okrenuti.
Kako djeluje senzorski modul HMC5883L
HMC5883L kao senzor magnetometar radi istu stvar. Na sebi je HMC5883L IC koji dolazi iz Honeywella. Ovaj IC ima 3 magnetootporna materijala koji su smješteni u osi x, y i z. Količina struje koja prolazi kroz ove materijale osjetljiva je na zemaljsko magnetsko polje. Tako mjereći promjenu struje koja prolazi kroz ove materijale možemo otkriti promjenu Zemljinog magnetskog polja. Jednom kada se magnetsko polje apsorbira, vrijednosti se mogu poslati bilo kojem ugrađenom kontroleru poput mikrokontrolera ili procesora putem I2C protokola.
Budući da senzor djeluje tako što osjeti magnetsko polje, na izlazne vrijednosti uvelike će utjecati ako se metal postavi u blizini. Ovo se ponašanje može iskoristiti da se ovi senzori koriste i kao detektori metala. Treba paziti da se magneti ne približavaju ovom senzoru, jer jako magnetsko polje magneta može pokrenuti lažne vrijednosti na senzoru.
Razlika između HMC5883L i QMC5883L
Oko ovih senzora postoji uobičajena zbrka kod mnogih početnika. To je zato što neki dobavljači (zapravo većina) prodaju QMC5883L senzore umjesto originalnog HMC5883L tvrtke Honeywell. To je ponajviše zato što je QMC5883L puno jeftiniji od modula HMC5883L. Tužan je dio što se rad ova dva senzora malo razlikuje i isti se kod ne može koristiti za oba. To je zato što I2C adresa oba senzora nije ista. Kôd naveden u ovom uputstvu radit će samo za QMC5883L, obično dostupni senzorski modul.

Da biste znali koji model senzora imate, samo trebate pažljivo pogledati sam IC kako biste pročitali što je napisano na njemu. Ako je napisano nešto poput L883, onda je to HMC58836L, a ako je napisano nešto poput DA5883, onda je to QMC5883L IC. Oba modula prikazana su na donjoj slici radi lakšeg razumijevanja.

Kružni dijagram
Krug za ovaj digitalni kompas zasnovan na Arduinu prilično je jednostavan, jednostavno moramo povezati senzor HMC5883L s Arduinom i povezati 8 LED na GPIO pinove Arduino Pro mini. Kompletna shema sklopa prikazana je u nastavku

Modul senzora ima 5 pinova od kojih se DRDY (spreman za podatke) ne koristi u našem projektu jer senzorom upravljamo u kontinuiranom načinu. Vcc i uzemljeni pin koriste se za napajanje modula s 5 V s ploče Arduino. SCL i SDA su I2C komunikacijske sabirnice koje su povezane na A4 i A5 I2C pinove Arduino Pro mini uređaja. Budući da sam modul ima visokootporni otpor na vodovima, nema potrebe za dodavanjem izvana.
Da bismo naznačili smjer, koristili smo 8 LED dioda koje su sve povezane na GPIO pinove Arduina kroz trenutni ograničavajući otpor od 470 Ohma. Kompletni krug napaja se baterijom od 9 V kroz cijevni priključak. Ovaj 9V isporučuje se izravno na Vin pin Arduina, gdje se regulira na 5V pomoću ugrađenog regulatora na Arduinu. Tih se 5V koristi za napajanje senzora i Arduina.
Izrada PCB-ova za digitalni kompas
Ideja sklopa je smjestiti 8 LED dioda na kružni način tako da svaki Led usmjeri svih 8 smjerova, naime Sjever, Sjeveroistok, Istok, Jugoistok, Jug, Jugozapad, Zapad i Sjeverozapad. Tako da ih nije lako uredno posložiti na ploči za ploču ili čak na perf ploči. Razvojem PCB-a za ovaj sklop izgledat će urednije i jednostavnije za upotrebu. Zato sam otvorio svoj softver za dizajniranje PCB-a i postavio LED-e i otpornike u uredan kružni uzorak i povezao tračnice kako bih stvorio veze. Moj dizajn izgledao je otprilike ovako u nastavku kad je završen. Datoteku Gerber također možete preuzeti s donje veze.
- Preuzmite Gerber datoteku za PCB Digital Compass

Dizajnirao sam ga kao dvostruku bočnu ploču jer želim da se Arduino nalazi na donjoj strani moje PCB-a tako da ne pokvari izgled na vrhu moje PCB-a. Ako se brinete da biste morali platiti skupo za dvostranu PCB, pričekajte, dobio sam dobar novi dolazak.
Sad, kad je naš dizajn spreman, vrijeme je da se oni izmisle. Dovršiti PCB prilično je jednostavno, jednostavno slijedite korake u nastavku
1. korak: Uđite na www.pcbgogo.com, prijavite se ako ste prvi put. Zatim, na kartici PCB Prototype unesite dimenzije vaše PCB-a, broj slojeva i broj PCB-a koji vam je potreban. Moja PCB je 80 cm × 80 cm, tako da kartica izgleda ovako dolje

Korak 2: Nastavite klikom na gumb Quote Now . Bit ćete preusmjereni na stranicu na kojoj možete postaviti nekoliko dodatnih parametara ako je potrebno, poput razmaka trase itd. Ali uglavnom će zadane vrijednosti raditi u redu. Ovdje moramo uzeti u obzir jedino cijenu i vrijeme. Kao što vidite, vrijeme izrade je samo 2-3 dana, a samo košta 5 USD za naš PSB. Tada možete odabrati željeni način otpreme na temelju vaših zahtjeva.

Korak 3: Posljednji korak je prijenos Gerber datoteke i nastavak plaćanja. Da bi bio siguran da je postupak nesmetan, PCBGOGO provjerava je li vaša Gerber datoteka valjana prije nastavka plaćanja. Na ovaj način možete biti sigurni da je vaša PCB pogodna za proizvodnju i da će vas kontaktirati kao da ste predani.
Sastavljanje PCB-a
Nakon što je ploča naručena, stigla me nakon nekoliko dana, iako je kurir u lijepo označenoj dobro spakiranoj kutiji i kao i uvijek kvaliteta PCB-a bila nevjerojatna. Dijelim nekoliko slika ploča u nastavku da biste mogli prosuditi.

Uključio sam štap za lemljenje i počeo sastavljati ploču. Budući da su otisci stopala, jastučići, pločice i sitotisak savršeno pravilnog oblika i veličine, nisam imao problema sa sastavljanjem ploče. Daska je bila gotova za samo 10 minuta od trenutka raspakiranja kutije.
Nekoliko slika ploče nakon lemljenja prikazano je u nastavku.

Programiranje Arduina
Sad kad je naš hardver spreman, pogledajmo program koji se mora prenijeti na našu Arduino ploču. Svrha koda je očitavanje podataka sa senzora magnetometra QMC5883L i njihovo pretvaranje u stupanj (0 do 360). Jednom kada znamo stupanj, moramo upaliti LED diodu koja pokazuje određeni smjer. Smjer koji sam koristio u ovom programu je sjever. Dakle, bez obzira gdje se nalazite, na vašoj ploči svijetlit će samo jedna LED lampica, a smjer LED-a označit će SJEVERNI smjer. Jednom kad smo kasnije mogli izračunati drugi smjer, poznat je jedan smjer.
Kompletni kod za ovaj projekt Digitalnog kompasa nalazi se na kraju ove stranice. Možete ga izravno prenijeti na ploču nakon uključivanja knjižnice i spremni ste za polazak. Ali, ako želite znati
