- Szükséges anyagok:
- Hall effekt érzékelők:
- Áramkör és magyarázat:
- Hall effekt érzékelő Arduino kód:
- Az Arduino Hall hatásérzékelő működik:
Az érzékelők mindig is létfontosságú elemek voltak minden projektben. Ezek azok, amelyek a valós idejű környezeti adatokat digitális / változó adatokká alakítják, hogy azokat elektronika feldolgozhassa. A piacon sokféle típusú érzékelő kapható, és az Ön igényei szerint választhat egyet. Ebben a projektben megtanuljuk, hogyan kell használni a Hall szenzort, más néven Hall effekt szenzort az Arduino-val. Ez az érzékelő képes érzékelni a mágnest és a mágnes pólusát is.
Miért érzékeli a mágnes ?, Lehet kérni. Nos, sok olyan alkalmazás van, amely gyakorlatilag Hall Hall effektus-érzékelőt használ, és talán soha nem vettük volna észre őket. Ennek az érzékelőnek az egyik általános alkalmazása a sebesség mérése kerékpárokon vagy bármilyen forgó gépen. Ezt az érzékelőt a BLDC motorokban is használják, hogy érzékeljék a rotormágnesek helyzetét és ennek megfelelően kiváltsák az állórész tekercseit. Az alkalmazások végtelenek, ezért tanuljuk meg, hogyan kell az Arduino Interface Hall effektus-érzékelőt egy újabb eszköz hozzáadásához arzenálunkba. Íme néhány Hall-érzékelővel rendelkező projekt:
- Barkácssebességmérő az Arduino használatával és az Android App feldolgozásával
- Digitális sebességmérő és kilométeróra áramkör PIC mikrokontrollerrel
- Virtuális valóság az Arduino és a Processing használatával
- Mágneses térerősség mérése Arduino segítségével
Ebben az oktatóanyagban az Arduino megszakítási funkcióját fogjuk használni a Hall-érzékelő közelében lévő mágnes észleléséhez és egy LED-es világításhoz. A Hall-érzékelőt legtöbbször csak megszakításokkal fogják használni azok alkalmazása miatt, amelyekben nagy olvasási és végrehajtási sebességre van szükség, ezért használjunk megszakításokat is az oktatóanyagunkban.
Szükséges anyagok:
- Hall-effektus érzékelő (bármilyen digitális verison)
- Arduino (bármilyen verzió)
- 10k ohm és 1K ohm ellenállás
- VEZETTE
- Vezetékek csatlakoztatása
Hall effekt érzékelők:
Mielőtt belemerülnénk a kapcsolatokba, néhány fontos dolgot tudnia kell a Hall Effect érzékelőkről. Kétféle Hall érzékelő létezik, az egyik a Digital Hall érzékelő, a másik az Analog Hall érzékelő. A digitális Hall szenzor csak akkor képes felismerni, hogy van-e mágnes, vagy sem (0 vagy 1), de az analóg hall érzékelő kimenete a mágnes körüli mágneses mező alapján változik, vagyis képes felismerni a mágnes erősségét vagy távolságát. Ebben a projektben csak a digitális Hall szenzorokat fogjuk megcélozni, mivel ezek a leggyakrabban használtak.
Ahogy a neve is sugallja, a Hall-effektus érzékelő a „Hall-effektus” elvével működik . E törvény szerint „amikor az egyik irányban áramló vezetőt vagy félvezetőt egy mágneses mezőre merőlegesen vezették be, a feszültséget az áramútra merőlegesen mérni lehetett”. Ezzel a technikával a hall-érzékelő képes lesz észlelni a körülötte lévő mágnes jelenlétét. Elég az elméletből, menjünk a hardverbe.
Áramkör és magyarázat:
A Hall-érzékelő és az Arduino összekapcsolásának teljes kapcsolási rajza alább található.
Amint láthatja, a hall effektus érzékelő arduino kapcsolási rajza meglehetősen egyszerű. De az a hely, ahol gyakran hibázunk, a csarnok érzékelők pin-számának kiszámítása. Helyezze az olvasmányokat maga felé, és az első csap a bal oldalán a Vcc, majd a föld és a jel.
A megszakításokat a korábban elmondottak szerint fogjuk használni, ezért a Hall-érzékelő kimeneti csatlakozója az Arduino 2-es csatlakozójához van csatlakoztatva. A csap csatlakozik egy LED-hez, amely bekapcsol, ha mágnest észlel. Egyszerűen egy kenyérlapon hoztam létre a csatlakozásokat, és az alábbiakban kissé így nézett ki, miután elkészült.
Hall effekt érzékelő Arduino kód:
A teljes Arduino kód csak néhány sor, és ez az oldal alján található, amelyet közvetlenül feltölthet az Arduino táblára. Ha tudni szeretné a program működését, olvassa el tovább.
Van egy bemenetünk, amely az érzékelő, és egy kimenetünk, amely egy LED. Az érzékelőt megszakító bemenetként kell csatlakoztatni. Tehát a beállítási funkciónkban inicializáljuk ezeket a csapokat, és a 2-es csapot is megszakításként működtetjük. Itt a 2. tűt Hall_-érzékelőnek , a 3. csapot pedig LED-nek hívják.
void setup () {pinMode (LED, OUTPUT); // A LED egy kimeneti pin pinMode (Hall_sensor, INPUT_PULLUP); // a Hall-érzékelő a bemeneti pin attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // A két pin a megszakító tű, amely a váltás funkciót hívja meg}
Ha megszakítást észlel, a váltó funkciót a fenti sorban említett módon hívjuk meg. Számos megszakítási paraméter létezik, például Toggle , Change, Rise, Fall stb., De ebben az oktatóanyagban észleljük a Hall érzékelő kimenetének változását.
Most belsejében kapcsoló funkció, használjuk a változót az úgynevezett „ állam ”, amely csak megváltoztatni az állapotát, hogy 0, ha már az 1. és 1, ha már nulla. Így a LED-et be- vagy kikapcsolhatjuk.
void toggle () {állapot =! állapot; }
Végül a hurokfunkciónkban csak a LED-et kell vezérelnünk. A változó állapot minden alkalommal megváltozik, amikor egy mágnest észlelnek, ezért azt használjuk annak meghatározására, hogy a LED-nek világítania kell-e vagy sem.
void loop () {digitalWrite (LED, állapot); }
Az Arduino Hall hatásérzékelő működik:
Miután elkészült a hardverrel és a kóddal, töltse fel a kódot az Arduino-ra. 9 V-os akkumulátort használtam a teljes áramellátáshoz, bármilyen előnyös áramforrást használhat. Most hozza közel a mágnest az érzékelőhöz, és a LED világítani fog, és ha elveszi, akkor kialszik.
Megjegyzés: A Hall-érzékelő pólusérzékeny, vagyis az érzékelő egyik oldala vagy csak az északi sarkot, vagy csak a déli sarkot képes felismerni, és nem mindkettőt. Tehát, ha egy déli pólust viszünk az északi érzékelő felülethez, akkor a LED nem fog világítani.
Ami valójában belül történik, az az, amikor a mágnest közel hozzuk az érzékelőhöz, az érzékelő megváltoztatja az állapotát. Ezt a változást érzékeli a megszakító csap, amely meghívja a váltási funkciót, amelyen belül az "állapot" változót 0-ról 1-re változtatjuk. Ezért a LED kigyullad. Most, amikor elmozdítjuk a mágnest az érzékelőtől, az érzékelő kimenete ismét megváltozik. Ezt a változást a megszakítási utasításunk ismét észreveszi, ezért az „állapot” változó 1-ről 0-ra változik. Így a LED, ha kikapcsol. Ugyanaz ismétlődik, amikor mágnest hoz az érzékelőhöz.
A projekt teljes munkavideója alább található. Remélem, megértette a projektet, és élvezett valami újat. Ha másképp van, kérjük, használja az alábbi megjegyzések részt vagy a fórumokat segítségért.