U bent misschien op zoek naar een apparaat waarmee u magnetische velden in de buurt kunt detecteren, of om te gebruiken als contactloze schakelaar, voor toepassingen die waterbescherming nodig hebben, enz. In dat geval kunt u gebruik maken van Hal-effect sensorenDegene waarvan ik je alles zal laten zien wat je moet weten om het te integreren met je toekomstige projecten met Arduino. Als u ze samen met neodymiummagneten gaat gebruiken, zijn de toepassingen die u ervan kunt krijgen talrijk.
De aansluiting van dit type apparaat is heel eenvoudig, zoals u kunt zien. Bovendien zijn het elektronische componenten heel goedkoop en die u gemakkelijk kunt vinden in veel gespecialiseerde winkels of online. Als je meer wilt weten, kun je verder lezen ...
Het Hall-effect
De naam komt van de eerste ontdekker, de Amerikaanse natuurkundige Edwin Herbert Hall. De Hall-effect Het is het fysische fenomeen dat optreedt wanneer een elektrisch veld verschijnt als gevolg van de scheiding van elektrische ladingen in een geleider waardoor een magnetisch veld circuleert. Dit elektrische veld (Hall-veld) zal een component hebben die loodrecht staat op de beweging van de ladingen en op de loodrechte component van het aangelegde magnetische veld. Op deze manier kan onder meer de aanwezigheid van magnetische velden worden gedetecteerd.
Met andere woorden, wanneer een stroom door een geleider of halfgeleider vloeit en er een magnetisch veld in de buurt is, wordt geverifieerd dat een magnetische kracht in de ladingdragers die ze hergroeperen in het materiaal. Dat wil zeggen, de ladingsdragers zullen afbuigen en clusteren aan één kant van de geleider / halfgeleider. Zoals u zich kunt voorstellen, veroorzaakt dit een variatie in elektrisch potentieel in deze geleider / halfgeleider, waardoor dat elektrische veld loodrecht op het magnetische veld wordt geproduceerd.
Wat is een Hall-effectsensor?
Daarom, als je eenmaal weet hoe het Hall-effect werkt, kun je praten over de componenten of Hall-effect sensoren dat ze van dit fenomeen kunnen profiteren voor een praktische toepassing. Hiermee kun je bijvoorbeeld metingen doen aan een magnetisch veld.
Deze elementen worden veel gebruikt in veel elektronische projecten en vaak gebruikte apparaten. In voertuigen kun je ze bijvoorbeeld vinden in sommige beveiligingssystemen, om de positie van de nokkenas in de motor te meten, om vloeistofsnelheden te meten, metalen te detecteren, en een lange enz.
Het goede aan dit type Hall-effectsensoren, in tegenstelling tot andere, is dat ze hebben geen contact nodig. Dat wil zeggen, ze kunnen deze taken op afstand uitvoeren, en zijn bovendien volledig immuun voor elektronische ruis, stof, enz., Dus ze zijn behoorlijk duurzaam en betrouwbaar in hun metingen. Hun bereik is echter beperkt, aangezien ze zich op een bepaalde afstand van het gegenereerde veld moeten bevinden om het te kunnen vastleggen.
Soorten
Binnen de Hall-effectsensoren vind je twee basistypen:
- Analoog: het zijn zeer eenvoudige apparaten, met een pin of uitgang die een signaal levert dat evenredig is met de intensiteit van het magnetische veld dat ze opvangen. Dat wil zeggen, ze lijken op temperatuursensor, aan de spanning, en andere sensoren die we in deze blog hebben beschreven.
- digitaal: in het geval van digitale zijn ze veel eenvoudiger dan analoge. Omdat ze geen output leveren die evenredig is met het veld, geven ze een hoge spanningswaarde als er een magnetisch veld is en laag als er geen magnetisch veld is. Dat wil zeggen dat ze niet kunnen worden gebruikt om magnetische velden te meten zoals analoge velden, alleen om hun aanwezigheid te detecteren. Bovendien kunnen deze cijfers worden onderverdeeld in twee aanvullende subcategorieën:
- Latch: die van dit type worden geactiveerd wanneer men nadert en behouden hun waarde bij de uitgang totdat de tegenoverliggende pool nadert.
- Schakelaar: in deze andere wordt de uitgang niet vastgehouden, ze worden gedeactiveerd wanneer de paal wordt verwijderd. Het is niet nodig om de tegenoverliggende pool dichterbij te brengen om de output te laten veranderen ...
Ik raad je aan om te gebruiken neodymium magneten, ze zijn het beste om deze Hall-effectsensoren goed te laten werken.
Als u op zoek bent naar een analoge sensor, misschien een goede optie Hall 49E-sensor. Hiermee kun je de aanwezigheid van magnetische velden detecteren en deze ook meten. U kunt bijvoorbeeld magnetische velden in de buurt meten, een toerenteller maken met behulp van een magneet om de omwentelingen per minuut van een as of snelheid te meten, detecteren wanneer een deur opent of sluit met een magneet, enz. Deze sensor is te vinden in verschillende winkels voor een paar cent, of voor iets anders als je hem op een print wilt monteren met alles wat je nodig hebt in een module die klaar is voor gebruik met Arduino:
- Geen producten gevonden.
- Geen producten gevonden.
Bovendien als wat u zoekt een digitale is, dan kun je kopen Hall-sensor A3144, dat ook van het schakeltype is, dat wil zeggen dat het niet nodig is om de pool te veranderen. Op deze manier kun je de aanwezigheid van een metalen voorwerp detecteren, of er al dan niet een magnetisch veld is, en zelfs een toerenteller creëren zoals in het vorige geval. Dit is ook gemakkelijk te vinden, en het is net zo goedkoop of meer dan de vorige, zowel los als in module:
- Geen producten gevonden.
- Koop module KY-003 met Hall-effect A3144
In het geval van analoog, moet u raadpleeg de datasheet van het model dat u heeft gekocht. Voor bijvoorbeeld in 49E U vindt een grafiek van hoe het magnetisch veld kan worden gemeten en het helpt u bij het maken van de formule die u vervolgens in de Arduino-broncode moet implementeren om de dichtheid van de gedetecteerde magnetische flux (mT) te berekenen. In het geval van de 49E zou het zijn: B = 53.33V-133.3, vanwege het magnetische bereik en de spanning die het kan leveren aan zijn uitgang ...
Wat gebruikelijk is voor digitaal en analoog is de aantal pinnen het heeft (pinout), in beide gevallen is het 3. Als je de Hall-sensor met de voorkant naar je toe plaatst, dat wil zeggen met de voorkant met de inscripties naar je toe, dan is de pin aan de linkerkant 1, de middelste 2 en de een aan je rechterkant zal 3:
- 1: op zowel de 49E als de A3144 is de 5V-voedingspin.
- 2: de besturingseenheid is in beide gevallen aangesloten op GND of aarde.
- 3: in beide gevallen is het de uitgang, dat wil zeggen degene die het magnetische veld meet of detecteert en er een spanning doorheen genereert. Onthoud dat het bij digitaal slechts twee waarden nodig heeft, hoog of laag, terwijl je bij analoog de vorige formule kunt toepassen om te weten hoe dat veld wordt gedetecteerd ...
Hall-effectsensorintegratie met Arduino
Als je eenmaal hebt gezien hoe het werkt en wat je moet weten over deze Hall-effectsensor, met de beschreven pinout, zou je al moeten weten hoe het is maak verbinding met je Arduino-bord. In dit geval maakt het als volgt verbinding:
- Je weet al dat pin 1 moet worden aangesloten op de 5V-spanningsuitgang van de Arduino, zodat deze hem kan voeden, zowel in het geval van digitaal als analoog.
- De centrale pin of 2 moet je verbinden met GND of aarde van je Arduino-bord.
- In het geval van pin 3 varieert dit naargelang het een analoge of digitale betreft:
- Analoog: sluit pin 3 van de Hall-sensor rechtstreeks aan op een van de analoge ingangen van je Arduino-bord.
- Digitaal: je moet pin 1 en 3 overbruggen met een pull-up weerstand, bijvoorbeeld 10K om het circuit correct te laten werken met de A3144. Andere modellen hebben mogelijk andere weerstandswaarden nodig ... Als je daar rekening mee houdt, kun je pin 3 aansluiten op een digitale ingang op je Arduino-bord.
Het maakt niet uit het nummer van de ingang van het bord waarop u het hebt aangesloten, onthoud gewoon het nummer en maak het vervolgens correct de broncode zodat uw project werkt. In dit geval zullen er ook verschillen zijn tussen of u voor analoog of digitaal heeft gekozen:
- De eenvoudige code voor de analogisch 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); }
- De eenvoudige code voor de digitaal zou:
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); } }
Ik hoop dat deze gids je heeft geholpen ...