Halov senzor efekta: sve što trebate znati za svoje Arduino projekte

Halov senzor efekta

Možda tražite uređaj koji vam omogućava otkrivanje obližnjih magnetskih polja ili upotrebu kao nekontaktni prekidač za aplikacije kojima je potrebna zaštita od vode itd. U tom slučaju možete koristiti Senzori Hal efektaOnu od koje ću vam pokazati sve što trebate znati da biste je integrirali sa svojim budućim projektima s Arduinom. U stvari, ako ćete ih koristiti zajedno s neodimijskim magnetima, aplikacija koje možete dobiti od njih je mnogo.

Kao što vidite, veza ove vrste uređaja je vrlo jednostavna. Pored toga, oni su elektroničke komponente  vrlo jeftino i koje možete lako pronaći u mnogim specijalizovanim prodavnicama ili na mreži. Ako želite znati više, možete nastaviti čitati ...

Hallov efekat

Dijagram Hallovog efekta

Ime mu dolazi od prvog otkrivača, američkog fizičara Edwina Herbert Halla. The efekt dvorane To je fizički fenomen koji se javlja kada se električno polje pojavi zbog razdvajanja električnih naboja unutar vodiča kroz koji magnetsko polje cirkulira. Ovo električno polje (Hallovo polje) imat će komponentu okomitu na kretanje naboja i na okomitu komponentu primijenjenog magnetskog polja. Na taj način se, između ostalog, može otkriti prisustvo magnetnih polja.

Drugim riječima, kada struja teče kroz vodič ili poluvodič i postoji obližnje magnetsko polje, provjerava se da magnetna sila u nosačima tereta koji ih pregrupisuju unutar materijala. Odnosno, nosači naboja će se skrenuti i skupiti na jednoj strani provodnika / poluprovodnika. Kao što možete zamisliti, ovo uzrokuje varijaciju električnog potencijala u ovom vodiču / poluprovodniku, stvarajući to električno polje okomito na magnetno polje.

Šta je senzor Hall efekta?

Halov senzor efekta

Stoga, nakon što saznate kako djeluje Hallov efekt, možete razgovarati o komponentama ili Halovi senzori efekata da su sposobni iskoristiti ovaj fenomen za neku praktičnu primjenu. Na primjer, pomoću njih možete vršiti mjerenja magnetskog polja.

Ovi elementi se široko koriste u mnogi elektronski projekti i često korišćeni uređaji. Na primjer, u vozilima ih možete pronaći u nekim sigurnosnim sustavima, za mjerenje položaja bregastog vratila u motoru, za mjerenje brzina fluida, otkrivanje metala i duge itd.

Dobra stvar kod ove vrste senzora Hallovih efekata je, za razliku od ostalih, u tome ne trebaju kontakt. Odnosno, te zadatke mogu raditi na daljinu, osim što su potpuno imuni na elektroničku buku, prašinu itd., Pa su prilično izdržljivi i pouzdani u svojim mjerenjima. Međutim, njihov domet je ograničen, jer moraju biti na određenoj udaljenosti od generisanog polja da bi ga mogli uhvatiti.

Vrste

Unutar senzora Hall efekta možete pronaći dvije osnovne vrste:

  • Analogno: oni su vrlo osnovni uređaji, sa pinom ili izlazom koji će isporučivati ​​signal proporcionalan intenzitetu magnetskog polja koje hvataju. Odnosno, slični su senzor temperature, na napetosti drugi senzori koje smo detaljno opisali na ovom blogu.
  • digitalni: u slučaju digitalnih, oni su mnogo osnovniji od analognih. Budući da ne daju izlaz proporcionalan polju, ali daju visoku vrijednost napona ako postoji magnetsko polje i nizak ako nema magnetskog polja. Odnosno, ne mogu se koristiti za mjerenje magnetskih polja poput analognih, jednostavno za otkrivanje njihovog prisustva. Nadalje, ove brojke možemo podijeliti u dvije dodatne potkategorije:
    • Zasun: oni se aktiviraju kad se približi i zadrže svoju vrijednost na izlazu sve dok se ne približi suprotni pol.
    • Prekidač: kod ovih ostalih izlaz se neće održavati, oni se deaktiviraju kad se ukloni stub. Nije potrebno približavati suprotni pol da bi se izlaz promijenio ...

Savjetujem vam da koristite neodimijski magneti, oni su najbolji da ovi senzori Hall efekta dobro rade.

Ako tražite senzor analognog tipa, dobra opcija može biti Senzor Hall 49E. Pomoću nje možete otkriti prisustvo magnetnih polja, kao i izmjeriti ih. Na primjer, možete izmjeriti obližnja magnetska polja, napraviti tahometar pomoću magneta za mjerenje okretaja u minuti osi ili brzine, otkriti kada se vrata magnetom otvore ili zatvore, itd. Ovaj senzor možete pronaći u nekoliko trgovina za nekoliko centi, ili za nešto drugo ako ga želite montirati na PCB sa svime što vam treba u modulu spremnom za upotrebu s Arduinom:

  • Nije pronađen nijedan proizvod.
  • Nije pronađen nijedan proizvod.

Sa druge strane, ako je ono što tražite digitalno, onda možete kupiti Hall senzor A3144, koji je takođe tipa prekidača, odnosno neće biti potrebno mijenjati pol. Na taj ćete način moći otkriti prisustvo metalnog predmeta ili postoji li magnetsko polje ili ne, pa čak i stvoriti brojač okretaja kao u prethodnom slučaju. Ovo je takođe lako pronaći, a jednako je jeftino ili više od prethodnog, i labavo i u modulu:

U slučaju analognog, morate pregledajte tehnički list modela koji ste kupili. Za na primjer, u 49E Pronaći ćete grafikon kako se magnetsko polje može izmjeriti i pomoći će vam u stvaranju formule koju zatim morate primijeniti u izvornom kodu Arduino za izračunavanje gustine otkrivenog magnetskog fluksa (mT). U slučaju 49E to bi bilo: B = 53.33V-133.3, zbog magnetskog dometa i napona koji može isporučiti na svom izlazu ...

Ono što je zajedničko digitalnom i analognom je broj pinova koje ima (pinout), u oba slučaja je 3. Ako Hallov senzor stavite licem okrenutim prema sebi, odnosno licem na kojem ima natpise prema vama, tada će klin s lijeve strane biti 1, a središnji 2 a onaj s vaše desne strane će biti 3:

  • 1: i na 49E i na A3144 nalazi se naponski pin od 5V.
  • 2: upravljačka jedinica je spojena u oba slučaja na GND ili uzemljenje.
  • 3: u oba slučaja to je izlaz, odnosno onaj koji mjeri ili detektira magnetsko polje, stvarajući kroz njega napon. Imajte na umu da će u digitalnom biti potrebne samo dvije vrijednosti, visoka ili niska, dok u analognom možete primijeniti prethodnu formulu da znate kako se otkriva ovo polje ...

Integracija senzora Hall efekta s Arduinom

Dijagram veze senzora Hall efekta s Arduinom

Jednom kada ste vidjeli kako to radi i što trebate znati o ovom senzoru Hall efekta, s opisanim pinoutom, trebali biste već znati kako je povežite se sa Arduino pločom. U ovom slučaju povezat će se ovako:

  • Već znate da pin 1 mora biti povezan na Arduinov 5-voltni izlaz kako bi ga mogao napajati, kako u slučaju digitalnog tako i analognog.
  • Centralni pin ili 2, morate ga spojiti na GND ili uzemljenje vaše Arduino ploče.
  • U slučaju pina 3, on varira ovisno o tome je li analogni ili digitalni:
    • Analogno: izravno spojite pin 3 Hallovog senzora na jedan od analognih ulaza vaše Arduino ploče.
    • Digitalno: pin 1 i 3 morate premostiti povlačnim otpornikom, na primjer 10K da bi krug ispravno radio s A3144. Ostali modeli mogu trebati različite vrijednosti otpora ... Jednom kada to uzmete u obzir, možete povezati pin 3 na digitalni ulaz na vašoj Arduino ploči.

Nije važan broj ulaza ploče na koju ste ga povezali, samo zapamtite broj i zatim napravite ispravno izvorni kod za rad vašeg projekta. U ovom slučaju, također će postojati razlike između toga jeste li se odlučili za analogni ili digitalni:

  • Jednostavan kod za analogni je:
const int pinHall = A0;
 
void setup() {
  pinMode(pinHall, INPUT);
  Serial.begin(9600);
}
 
void loop() {
 
  //Filtro para ruido con 10 medidas
  long measure = 0;
  for(int i = 0; i < 10; i++){
      int value = 
      measure += analogRead(pinHall);
  }
  measure /= 10;
  
  //Calcular el voltaje en mV que da la salida del sensor Hall
  float outputV = measure * 5000.0 / 1023;
  Serial.print("Voltaje de salida = ");
  Serial.print(outputV);
  Serial.print(" mV   ");
  
  //Interpolación a densidad del campo magnético (fórmula)
  float magneticFlux =  outputV * 53.33 - 133.3;
  Serial.print("La densidad del flujo magnético del campo es = ");
  Serial.print(magneticFlux);
  Serial.print(" mT");
  
  delay(2000);
}

  • Jednostavan kod za digitalni bi:
const int HALLPin = 2;
const int LEDPin = 13;
//El pin 13 en el esquema de nuestro ejemplo no pinta nada, pero se podría agregar un LED a dicho pin para que se encienda si detecta campo magnetico
 
void setup() {
  pinMode(LEDPin, OUTPUT);
  pinMode(HALLPin, INPUT);
}
 
void loop() {
  if(digitalRead(HALLPin)==HIGH)
  {
    digitalWrite(LEDPin, HIGH);   
  }
  else
  {
    digitalWrite(LEDPin, LOW);
  }
}

Nadam se da vam je ovaj vodič pomogao ...


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.