- Szükséges anyagok
- Mi az a magnetométer és hogyan működik?
- Hogyan működik a HMC5883L érzékelő modul
- Kördiagramm
- A digitális iránytű nyomtatott áramköreinek gyártása
- A NYÁK összeállítása
- Az Arduino programozása
Az emberi agy összetett szerkezeti rétegből épül fel, amely segít abban, hogy meghatározó faj legyünk a földön. Például az agyadban lévő entorhinalis kéreg adhat irányérzetet, segítve könnyedén eligazodni olyan helyeken, amelyeket nem ismersz. De velünk ellentétben a robotoknak és a pilóta nélküli Ariel járműveknek valamire szükségük van ahhoz, hogy elsajátítsák ezt az irányérzetet, hogy önállóan manőverezhessenek új terepeken és tájakon. Különböző robotok különböző típusú érzékelőket használnak ennek megvalósításához, de a leggyakrabban használt magnetométer, amely tájékoztathatja a robotot arról, hogy melyik geográfiai irányban néz jelenleg. Ez nem csak segít a robotnak az irányérzékelésben, hanem abban is, hogy előre meghatározott irányba és angyalba forduljon.
Mivel az érzékelő jelezni tudta az északi, déli, keleti és nyugati geográfiai ábrákat, szükség esetén időnként mi emberek is használhatjuk. Tehát ebben a cikkben próbáljuk megérteni, hogyan működik a magnetométer érzékelő, és hogyan lehet összekapcsolni egy olyan mikrovezérlővel, mint az Arduino. Itt felépítünk egy klassz digitális iránytűt, amely segít nekünk megtalálni az irányokat azáltal, hogy izzik az északi irányba mutató LED. Ezt a digitális iránytűt szépen gyártják a PCBGOGO PCB-jén, hogy legközelebb magammal vigyem, amikor kimenek a vadonban, és azt kívánom, bárcsak eltévednék, ha ezt a dolgot használnám hazafelé. Kezdjük el.
Szükséges anyagok
- Arduino Pro mini
- HMC5883L magnetométer érzékelő
- LED lámpák - 8Nos
- 470Ohm ellenállás - 8Nos
- Jack hordó
- Egy megbízható NYÁK-gyártó, mint a PCBgogo
- FTDI programozó mini
- PC / laptop
Mi az a magnetométer és hogyan működik?
Mielőtt belemerülnénk az áramkörbe, értsünk meg egy kicsit a magnetométerről és azok működéséről. Ahogy a neve is sugallja, a Magneto kifejezés nem arra a csodálatos mutánsra utal, aki a fémeket úgy tudná irányítani, hogy csak zongorázik a levegőben. Ohh! De szeretem azt a fickót, aki klassz.
A magnetométer valójában egy olyan berendezés, amely érzékeli a föld mágneses pólusait és ennek megfelelően irányt mutat. Mindannyian tudjuk, hogy a Föld hatalmas darab gömb alakú mágnes az Északi-sark és a Déli-sark mellett. És mágneses mező van miatta. A magnetométer érzékeli ezt a mágneses teret, és a mágneses tér iránya alapján képes felismerni azt az irányt, amellyel szemben vagyunk.
Hogyan működik a HMC5883L érzékelő modul
A HMC5883L hogy egy magnetométer érzékelő ugyanezt teszi. Honeywell HMC5883L IC van rajta. Ennek az IC-nek 3 magneto-rezisztens anyaga van, amelyek az x, y és z tengelyekben vannak elrendezve. Az ezeken az anyagokon keresztül áramló áram mennyisége érzékeny a föld mágneses mezőjére. Tehát az ezen anyagokon átáramló áram változásának mérésével észlelhetjük a Föld mágneses mezőjének változását. Amint a változás mágneses teret elnyeli, az értékeket az I2C protokollon keresztül bármely beágyazott vezérlőhöz, például mikrovezérlőhöz vagy processzorhoz el lehet küldeni.
Mivel az érzékelő a mágneses mező érzékelésével működik, a kimeneti értékeket nagymértékben befolyásolja, ha a közelébe fém kerül. Ez a viselkedés felhasználható arra, hogy ezeket az érzékelőket fémdetektorként is felhasználják. Ügyelni kell arra, hogy mágneseket ne vigyünk az érzékelő közelébe, mivel a mágnes erős mágneses tere hamis értékeket válthat ki az érzékelőn.
Különbség a HMC5883L és a QMC5883L között
Ezeknek az érzékelőknek sok kezdője zavart okoz. Egyes gyártók (valójában a legtöbb) a QMC5883L érzékelőket adják el a Honeywell eredeti HMC5883L helyett. Leginkább azért, mert a QMC5883L sokkal olcsóbb, mint a HMC5883L modul. A szomorú rész az, hogy e két érzékelő működése kissé eltér, és ugyanaz a kód nem használható mindkettőhöz. Ennek oka, hogy mindkét érzékelő I2C címe nem azonos. Az oktatóanyagban megadott kód csak a QMC5883L esetében használható, az általánosan elérhető érzékelő modulhoz.
Ahhoz, hogy megtudja, melyik szenzormodell van, csak alaposan meg kell néznie magát az IC-t, hogy elolvassa a tetejére írtakat. Ha valami L883- at írt, akkor az a HMC58836L, és ha valami DA5883- at írt, akkor az a QMC5883L IC. Mindkét modul az alábbi képen látható a könnyű érthetőség érdekében.
Kördiagramm
Ennek az Arduino alapú digitális iránytűnek az áramköre meglehetősen egyszerű: egyszerűen össze kell kapcsolnunk a HMC5883L érzékelőt az Arduino-val, és 8 LED-et kell csatlakoztatnunk az Arduino Pro mini GPIO csatlakozóihoz. A teljes kapcsolási rajz az alábbiakban látható
Az érzékelő modulnak 5 érintkezője van, amelyek közül a DRDY (Data Ready) nem szerepel a projektünkben, mivel az érzékelőt folyamatos üzemmódban működtetjük. A Vcc és a földelőcsap a modul 5 V-os áramellátására szolgál az Arduino kártyáról. Az SCL és az SDA az I2C kommunikációs buszvonal, amelyek az Arduino Pro mini A4, illetve A5 I2C csatlakozóihoz vannak csatlakoztatva. Mivel a modulnak maga a vonalakon magas ellenállása van, nem szükséges külsőleg hozzáadni őket.
Az irány jelzésére 8 LED-et használtunk, amelyek mindegyike 470 Ohmos áramkorlátozó ellenálláson keresztül csatlakozik az Arduino GPIO csapjaihoz. A teljes áramkört egy 9 V-os akkumulátor táplálja a csőcsonkon keresztül. Ezt a 9 V-ot közvetlenül az Arduino Vin tűjéhez biztosítják, ahol 5 V-ra van szabályozva az Arduino fedélzeti szabályozójával. Ezt az 5 V-ot ezután az érzékelő és az Arduino táplálásához is használják.
A digitális iránytű nyomtatott áramköreinek gyártása
Az áramkör ötlete az, hogy a 8 LED-et körkörösen helyezzük el, úgy, hogy mindegyik Led mind a 8 irányt mutat, nevezetesen észak, északkelet, kelet, délkelet, dél, délnyugat, nyugat és északnyugat. Tehát nem könnyű rendezni őket rendesen egy kenyérlapon vagy akár egy tökéletes deszkán. Ha egy áramköri lapot fejleszt ki ehhez az áramkörhöz, rendesebbé és könnyebben használhatóvá válik. Megnyitottam a NYÁK-tervező szoftveremet, és a LED-eket és az ellenállást szép körkörös mintába helyeztem, és összekötöm a sávokat a kapcsolatok kialakításához. A Tervem az alábbiak szerint nézett ki, amikor elkészült. A Gerber fájlt az alábbi linkről is letöltheti.
- Töltse le a Gerber fájlt a Digital Compass NYÁK-hoz
Dupla oldalsó táblának terveztem, mivel azt akarom, hogy az Arduino legyen a NYÁK alján, hogy ne rontsa el a NYÁK tetejét. Ha aggódsz, hogy magasan kell fizetned egy dupla oldalsó NYÁK-ért, akkor tartsd meg kaptam jó új jövőt.
Most, hogy a tervünk készen áll, ideje elkészíteni őket. A nyomtatott áramköri lap elkészítéséhez elég egyszerű, egyszerűen kövesse az alábbi lépéseket
1. lépés: Keresse fel a www.pcbgogo.com oldalt, regisztráljon, ha ez az első alkalom. Ezután a NYÁK prototípus fülön adja meg a NYÁK méreteit, a rétegek számát és a szükséges NYÁK számát. A nyomtatott áramköri lapom 80 cm × 80 cm, így a fül az alábbiak szerint néz ki
2. lépés: Folytassa az Idézés most gombra kattintva. Egy olyan oldalra kerül, ahol szükség esetén néhány további paramétert állíthat be, például a használt anyag sávközét stb. De többnyire az alapértelmezett értékek működnek jól. Az egyetlen dolog, amit itt figyelembe kell vennünk, az az ár és az idő. Amint láthatja, az építési idő csak 2-3 nap, és csak 5 dollárba kerül a PSB-nknek. Ezután kiválaszthatja a kívánt szállítási módot az igényei alapján.
3. lépés: Az utolsó lépés a Gerber fájl feltöltése és a fizetés folytatása. Annak érdekében, hogy a folyamat zökkenőmentes legyen, a fizetés folytatása előtt a PCBGOGO ellenőrzi, hogy Gerber fájlja érvényes-e. Így biztos lehet abban, hogy a NYÁK gyártásbarát, és elkötelezetten eljut hozzád.
A NYÁK összeállítása
A tábla megrendelése után néhány nap múlva eljutott hozzám, bár futár egy szépen címkézett, jól csomagolt dobozban, és mint mindig, a PCB minősége fantasztikus volt. Néhány képet megosztok az alábbi táblákról, hogy megítélhesse.
Bekapcsoltam a forrasztórudat, és elkezdtem összeszerelni a táblát. Mivel a lábnyomok, a betétek, az üvegcsék és a selyemképernyő tökéletesen megfelelő alakúak és méretűek, nem okozott gondot a tábla összeállítása. A tábla a doboz kibontásától számított 10 perc alatt készen állt.
Az alábbiakban néhány képet láthatunk a tábláról a forrasztás után.
Az Arduino programozása
Most, hogy a hardverünk készen áll, nézzük meg azt a programot, amelyet fel kell tölteni az Arduino táblánkra. A kód célja a QMC5883L magnetométer érzékelő adatainak kiolvasása és fokokra (0–360) konvertálása. Miután megtudtuk a fokozatot, be kell kapcsolnunk egy LED-et, amely egy adott irányt mutat. A program által használt irány észak. Tehát függetlenül attól, hogy hol van, csak egy LED világít a táblán, és a LED iránya jelzi az ÉSZAK irányt. Ha később kiszámolhatnánk a másik irányt, akkor az egyik irány ismert.
A Digital Compass Projekt teljes kódja az oldal végén található. Miután feltöltötte a könyvtárat, közvetlenül feltöltheti a táblára, és készen áll az indulásra. De, ha tudni akarod