Hall-effeksensor: alles wat u moet weet vir u Arduino-projekte

Hall-effek sensor

U mag dalk op soek wees na 'n toestel waarmee u nabygeleë magnetiese velde kan opspoor, of dit as 'n kontakvrye skakelaar kan gebruik vir toepassings wat waterbeskerming benodig, ens. In daardie geval kan u dit gebruik Hal effek sensorsDie een wat ek u sal wys alles wat u moet weet om dit te integreer met u toekomstige projekte met Arduino. Trouens, as u dit saam met neodymmagnete gaan gebruik, is die toepassings wat u daaruit kan kry baie.

Die verbinding van hierdie tipe toestelle is baie eenvoudig, soos u kan sien. Daarbenewens is dit elektroniese komponente  baie goedkoop en wat u maklik in baie gespesialiseerde winkels of aanlyn kan kry. As u meer wil weet, kan u voortgaan om te lees ...

Die Hall-effek

Hall-effek diagram

Die naam kom van die eerste ontdekker, die Amerikaanse fisikus Edwin Herbert Hall. Die saal-effek Dit is die fisiese verskynsel wat voorkom as 'n elektriese veld verskyn as gevolg van die skeiding van elektriese ladings binne 'n geleier waardeur 'n magneetveld sirkuleer. Hierdie elektriese veld (Hall-veld) het 'n komponent loodreg op die beweging van ladings en op die loodregte komponent van die toegepaste magnetiese veld. Op hierdie manier kan onder meer die aanwesigheid van magnetiese velde opgespoor word.

Met ander woorde, wanneer 'n stroom deur 'n geleier of halfgeleier vloei en daar 'n nabygeleë magneetveld is, word geverifieer dat 'n magnetiese krag in die vragdraers wat hulle binne die materiaal hergroepeer. Die ladingdraers sal dus aan die een kant van die geleier / halfgeleier afbuig en saamtrek. Soos u kan voorstel, veroorsaak dit 'n variasie van elektriese potensiaal in hierdie geleier / halfgeleier, wat die elektriese veld loodreg op die magnetiese veld lewer.

Wat is 'n Hall-effeksensor?

Hall-effek sensor

Sodra u eers weet hoe die Hall-effek werk, kan u oor die komponente praat of Hall-effek sensors dat hulle in staat is om hierdie verskynsel te benut vir praktiese toepassings. Byvoorbeeld, met hulle kan u metings van 'n magneetveld maak.

Hierdie elemente word wyd gebruik in baie elektroniese projekte en toestelle wat gereeld gebruik word. Byvoorbeeld, in voertuie kan u dit in sekere veiligheidstelsels vind, om die posisie van die nokas in die enjin te meet, vloeistofsnelhede te meet, metale op te spoor, en 'n lang ens.

Die goeie ding aan hierdie soort Hall-effek sensors, anders as ander, is dat kontak benodig nie. Dit wil sê dat hulle hierdie take op afstand kan doen, behalwe dat hulle heeltemal immuun is vir elektroniese geraas, stof, ens., Dus is dit redelik duursaam en betroubaar in hul metings. Die omvang daarvan is egter beperk, aangesien hulle op 'n sekere afstand van die gegenereerde veld moet wees om dit te kan vasvang.

Tipes

U kan dit binne die Hall-effek-sensors vind twee basiese tipes:

  • Analoog: dit is baie basiese toestelle, met 'n pen of uitset wat 'n sein sal lewer wat eweredig is aan die intensiteit van die magneetveld wat hulle vasvang. Dit wil sê, hulle is soortgelyk aan Temperatuur sensor, tot die spanningen ander sensors wat ons in hierdie blog uiteengesit het.
  • digitale: in die geval van digitale, is dit baie meer basies as analoog. Aangesien hulle nie 'n uitvoer lewer wat eweredig is aan die veld nie, gee hulle 'n hoë spanningswaarde as daar 'n magnetiese veld is en laag as daar geen magnetiese veld is nie. Dit wil sê, hulle kan nie gebruik word om magnetiese velde soos analoog te meet nie, bloot om hul teenwoordigheid op te spoor. Verder kan hierdie digitale in twee addisionele subkategorieë verdeel word:
    • Grendel: dié van hierdie tipe word geaktiveer wanneer 'n mens nader en hul waarde by die uitgang handhaaf totdat die teenoorgestelde pool nader kom.
    • Skakel: in hierdie ander, sal die uitset nie gehandhaaf word nie, dit word gedeaktiveer wanneer die paal verwyder word. Dit is nie nodig om die teenoorgestelde pool nader te bring vir die uitset om te verander nie.

Ek raai u aan om dit te gebruik neodymium magnete, dit is die beste om hierdie Hall-effeksensors goed te laat werk.

As u op soek is na 'n analoog sensor, kan 'n goeie opsie wees Saal 49E sensor. Hiermee kan u die teenwoordigheid van magnetiese velde opspoor en ook meet. U kan byvoorbeeld nabygeleë magnetiese velde meet, 'n toerenteller met behulp van 'n magneet maak om die omwentelings per minuut van 'n as of snelheid te meet, op te spoor wanneer 'n deur met 'n magneet oop of toe gaan, ens. Hierdie sensor is te vinde in verskeie winkels vir 'n paar sent, of vir iets anders as u dit op 'n PCB wil laat monteer met alles wat u benodig in 'n module wat gereed is om saam met Arduino te gebruik:

  • Geen produkte gevind nie.
  • Geen produkte gevind nie.

Verder, as u 'n digitale een soek, dan kan jy koop Hallsensor A3144, wat ook van die tipe skakelaar is, dit wil sê, dit sal nie nodig wees om die paal te verander nie. Op hierdie manier sal u die teenwoordigheid van 'n metaalvoorwerp kan opspoor, of daar 'n magneetveld is of nie, en selfs 'n RPM-teller kan skep soos in die vorige geval. Dit is ook maklik om te vind, en dit is net so goedkoop as meer as die vorige, beide los en in die module:

In die geval van analoog, moet u raadpleeg die gegewensblad van die model wat u gekoop het. Vir byvoorbeeld in die 49E U sal 'n grafiek vind van hoe die magnetiese veld gemeet kan word en dit sal u help om die formule te skep wat u dan in die Arduino-bronkode moet implementeer om die digtheid van die waargenome magnetiese vloed (mT) te bereken. In die geval van die 49E sou dit wees: B = 53.33V-133.3, as gevolg van die magnetiese omvang en die spanning wat dit op sy uitset kan lewer ...

Wat algemeen is vir digitaal en analoog, is die aantal penne wat dit het (pinout), in beide gevalle is dit 3. As u die Hall-sensor met sy gesig na u toe stel, dit wil sê met die gesig met die inskripsies na u toe, dan is die pen aan die linkerkant 1, die middelste een sal 2 wees en die een aan u regterkant sal 3:

  • 1: op beide die 49E en die A3144 is die 5V kragpen.
  • 2: die beheereenheid is in albei gevalle op GND of grond gekoppel.
  • 3: in beide gevalle is dit die uitset, dit wil sê die een wat die magneetveld meet of opspoor, wat 'n spanning daardeur genereer. Onthou dat dit in digitaal slegs twee waardes sal neem, hoog of laag, terwyl u analoog die vorige formule kan toepas om te weet hoe hierdie veld opgespoor word ...

Hall-effek sensor integrasie met Arduino

Verbindingsdiagram van die saaleffek sensor met Arduino

Nadat u gesien het hoe dit werk en wat u van hierdie Hall-effeksensor moet weet, met die beskrywing van die pinout, moet u reeds weet hoe dit is verbind met u Arduino-bord. In hierdie geval sal dit soos volg verbind word:

  • U weet al dat pen 1 gekoppel moet wees aan die 5V-spanningsuitset van die Arduino, sodat dit aan die gang kan kom, beide in die geval van digitaal en analoog.
  • Die sentrale pen of 2, u moet dit koppel aan GND of grond van u Arduino-bord.
  • In die geval van pen 3, hang dit af van die analoog of digitale:
    • Analoog: verbind pen 3 van die Hall-sensor direk met een van die analoog-insette van u Arduino-bord.
    • Digitaal: u moet pen 1 en 3 met 'n optrekweerstand oorbrug, byvoorbeeld 10K om die stroombaan korrek met die A3144 te laat werk. Ander modelle het dalk verskillende weerstandswaardes nodig ... As u dit in ag neem, kan u pen 3 aan 'n digitale invoer op u Arduino-bord koppel.

Dit maak nie saak die nommer van die invoer van die bord waarop u dit gekoppel het nie, onthou net die nommer en skep dan korrek die bronkode vir u projek om te werk. In hierdie geval sal daar ook verskille wees tussen analoog of digitaal:

  • Die eenvoudige kode vir die analogic is:
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);
}

  • Die eenvoudige kode vir die digitale sou:
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);
  }
}

Ek hoop dat hierdie gids u gehelp het ...


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

Wees die eerste om te kommentaar lewer

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.