- Tarvittavat materiaalit:
- Hall-efektianturit:
- Piirikaavio ja selitys:
- Hall-tehosensori Arduino-koodi:
- Arduino Hall -vaikutinanturi toimii:
Anturit ovat aina olleet tärkeä osa projektia. Nämä muuntavat reaaliaikaiset reaaliaikaiset ympäristötiedot digitaalisiksi / muuttuviksi tiedoiksi, jotta elektroniikka pystyy käsittelemään niitä. Markkinoilla on monia erilaisia antureita, ja voit valita yhden tarpeidesi mukaan. Tässä projektissa opimme käyttämään Hall-anturia eli Hall-efektianturia Arduinon kanssa. Tämä anturi pystyy havaitsemaan magneetin ja myös magneetin navan.
Miksi havaita magneetti?, Voit kysyä. No, on monia sovelluksia, jotka käytännössä käyttävät Hall Effect -anturia, emmekä ole koskaan huomanneet niitä. Yksi tämän anturin yleinen sovellus on nopeuden mittaaminen polkupyörissä tai pyörivissä koneissa. Tätä anturia käytetään myös BLDC-moottoreissa roottorin magneettien asennon havaitsemiseksi ja staattorikäämin laukaisemiseksi vastaavasti. Sovelluksia on rajattomasti, joten opitaan, kuinka Interface Hall -anturi Arduino lisätään toinen työkalu arsenaaliimme. Tässä on joitain projekteja, joissa on Hall-anturi:
- Tee DIY-nopeusmittari Arduinolla ja Android-sovelluksen käsittelyllä
- Digitaalinen nopeusmittari ja matkamittaripiiri PIC-mikrokontrolleria käyttäen
- Virtuaalitodellisuus Arduinoa ja prosessointia käyttämällä
- Magneettikentän voimakkuuden mittaus Arduinolla
Tässä opetusohjelmassa käytämme Arduinon keskeytystoimintoa havaitsemaan magneetti Hall-anturin lähellä ja hehkuvan LED-valon. Hall-anturia käytetään suurimmaksi osaksi vain keskeytysten kanssa niiden sovellusten takia, joissa vaaditaan suurta luku- ja suoritusnopeutta, joten käyttäkäämme keskeytyksiä myös opetusohjelmassa.
Tarvittavat materiaalit:
- Hall-efektianturi (mikä tahansa digitaalinen verison)
- Arduino (mikä tahansa versio)
- 10k ohmin ja 1K ohmin vastus
- LED
- Johtojen liittäminen
Hall-efektianturit:
Ennen kuin sukellamme yhteyksiin, sinun on tiedettävä muutama tärkeä asia Hall Effect -antureista. Hall-antureita on itse asiassa kaksi erityyppistä, toinen on Digital Hall -anturi ja toinen on Analog Hall -anturi. Digitaalinen Hall-anturi pystyy havaitsemaan vain magneetin läsnäolon vai ei (0 tai 1), mutta analogisen hall-anturin lähtö vaihtelee magneetin ympärillä olevan magneettikentän perusteella, eli se voi havaita magneetin voimakkuuden tai etäisyyden. Tässä projektissa pyritään vain digitaalisiin Hall-antureihin, koska niitä käytetään yleisimmin.
Kuten nimestäkin voi päätellä, Hall-efektianturi toimii "Hall-efektin" periaatteella. Tämän lain mukaan "kun johdin tai puolijohde, jonka virta kulkee yhdessä suunnassa, johdetaan kohtisuoraan magneettikenttään nähden, jännite voidaan mitata suorassa kulmassa virtatielle". Tätä tekniikkaa käyttämällä hallianturi pystyy havaitsemaan magneetin läsnäolon sen ympärillä. Tarpeeksi teoriasta päästään laitteistoon.
Piirikaavio ja selitys:
Hall-anturin ja Arduinon välisen liitännän täydellinen kytkentäkaavio löytyy alla.
Kuten näette, halli-ilmiöanturin arduino-piirikaavio on melko yksinkertainen. Mutta paikka, jossa me yleensä teemme virheitä, on selvittää hall-antureiden pin-numerot. Aseta lukemat itseäsi kohti ja ensimmäinen tappi vasemmalla on Vcc ja sitten vastaavasti maa ja signaali.
Aiomme käyttää keskeytyksiä kuten aiemmin kerrottiin, joten Hall-anturin ulostulotappi on kytketty Arduinon tapaan 2. Tappi on kytketty LEDiin, joka syttyy, kun magneetti havaitaan. Olen yksinkertaisesti tehnyt liitännät leipälaudalle, ja se näytti hieman tältä alla, kun se oli valmis.
Hall-tehosensori Arduino-koodi:
Täydellinen Arduino koodi on vain muutama rivi, ja se löytyy alareunassa tämän sivun, joka voidaan suoraan ladata Arduino hallituksen. Jos haluat tietää, miten ohjelma toimii, lue lisää.
Meillä on yksi tulo, joka on anturi, ja yksi lähtö, joka on LED. Anturi on kytkettävä keskeytystulona. Joten asetustoimintomme sisällä alustamme nämä nastat ja saamme myös nastan 2 toimimaan keskeytyksenä. Täällä pin 2 on nimeltään Hall_sensor ja pin 3 kutsutaan LED .
void setup () {pinMode (LED, OUTPUT); // LED on lähtötappi pinMode (Hall_sensor, INPUT_PULLUP); // Hall-anturi on tulotappi attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Pin kaksi on keskeytystappi, joka kutsuu vaihtotoimintoa}
Kun havaitaan keskeytys, vaihtotoiminto kutsutaan kuten yllä olevassa rivissä mainitaan. On olemassa monia keskeytysparametreja, kuten Toggle , Change, Rise, Fall jne., Mutta tässä opetusohjelmassa havaitsemme Hall-anturin lähdön muutoksen.
Nyt sisällä toggle toiminnon, käytämme muuttuja nimeltä ” tila ”, joka vain muuttaa tilaansa 0, jos jo 1 ja 1 jos se on jo nolla. Tällä tavalla voimme saada LEDin syttymään tai sammumaan.
void toggle () {tila =! tila; }
Lopuksi silmukkatoimintomme sisällä meidän on vain ohjattava LEDiä. Muuttuvaa tilaa muutetaan joka kerta, kun magneetti havaitaan, joten käytämme sitä sen määrittämiseen, pitäisikö ledin palaa vai ei.
void loop () {digitalWrite (LED, tila); }
Arduino Hall -vaikutinanturi toimii:
Kun olet valmis laitteistosi ja koodisi kanssa, lataa koodi vain Arduinoon. Olen käyttänyt 9 V: n akkua virran saamiseksi koko laitteistosta. Voit käyttää mitä tahansa sopivinta virtalähdettä. Tuo nyt magneetti lähelle anturia ja LED-valo syttyy ja jos otat sen pois, se sammuu.
Huomaa: Hall-anturi on napaherkkä, mikä tarkoittaa, että sensorin toinen puoli voi joko havaita vain pohjoisnavan tai vain etelänavan, ei molempia. Joten jos tuot etelänavan lähellä pohjoista tunnistavaa pintaa, LED ei hehku.
Sisällä todellisuudessa tapahtuu, kun tuomme magneetin lähelle anturia, anturi muuttaa tilaansa. Tämän muutoksen havaitsee keskeytystappi, joka kutsuu vaihtotoimintoa, jonka sisällä muutamme muuttujan "tila" arvosta 0 arvoon 1. Siksi LED syttyy. Kun siirrämme magneetin poispäin anturista, anturin teho muuttuu jälleen. Keskeytyslauseke huomaa tämän muutoksen jälleen ja muuttuja ”tila” muutetaan arvosta 1 arvoon 0. Siten LED sammuu. Sama toistuu joka kerta, kun tuot magneetin lähelle anturia.
Täydellinen Working video projektin löytyy alla. Toivottavasti ymmärrät projektin ja nautit uuden rakentamisesta. Käytä muuten ystävällisesti alla olevaa kommenttiosaa tai foorumeita.