Hall szenzor


Lényege, ha egy áram járta vezetőt (félvezetőt) mágneses térbe helyezünk akkor az elektronokra erő hat ami áramlásukat kitéríti valamelyik irányba, igy hozva létre potenciál különbséget a vezetőbe(Hall feszültség). A Hall szenzor ezt hívatott érzékelni. Használat szerint csoportosíthatók a szenzorok, a legegyszerűbb amikor kapcsoló ként használják, itt egy megfelelő mágneses térerőségnél kapcsoló feszültséget továbbit a kimenetre. A másik lehetőség mágneses tér erősségét méri lineárisan, magnetométer, a harmadik formában észak-dél pólust érzékel, itt az egyik pólusnál bekapcsolt állapotban van a másik közelítésekor kikapcsoltba kerül (ez csak a bipoláris hall szenzoroknál).


Nézzük a Hall szenzort: én egy készre szerelt Arduino modult használok ami egy A3144-es szenzor érzékeli a mágneses teret saját feszosztó trimmer ellenállása és beépített müveleti erősítője  is van.


Az első kódunk egy analóg bemenetre kötött mágneses térerősség érzékelő:
Lábkiosztás:
GND -- GND
OUT -- A0
5V -- 5V

int hall_out= 0;
//változó létrehozása a Hall szenzor kimenetének
void setup()
{
Serial.begin(9600);
}

//Főciklus beolvassa a szenzor értékét másodpercenként
void loop()
{
int valtozas= analogRead( hall_out);
Serial.println(valtozas);
delay(1000);
}

Ez a progi analóg értékeket mér, ezért a A3144 szenzorral szerelt érzékelő panellel nem használható, illetve a panel digitálisan átkapcsol egy érték felett így kapcsolóként üzemel.

Lássuk hát a kapcsoló üzemmódot:

Lábkiosztás:
GND -- GND
OUT --  2 (digitális)
5V -- 5V

int hallState = 0;

void setup() {
pinMode(13, OUTPUT);
// hall effekt pin a digitális 2
pinMode(2, INPUT);
}

void loop(){
// beolvassuk a 2 bemenet értékét
hallState = digitalRead(2);


if (hallState == LOW) {
// ha a hall bemenet értéke alacsony akkor bekapcsolja a beépített ledet
digitalWrite(ledPin, HIGH);
}
else {
// különben led kikapcsolva
digitalWrite(ledPin, LOW);
}
}


Ez egy egyszerű mágneses kapcsoló áramkör, mágneses jeladóként gépkocsikban, vagy csak fordulat szám mérésére különböző motoroknál, riasztóknál nyitásérzékelőként vagy bármilyen más kapcsolásban kontaktus nélküli kapcsolóként használható.