Start Elkretssimulator


Hallsensor

Detektera magnetfält

En hallsensor reagerar på magnetfält. Detta gör det möjligt att t.ex. skapa enkla kontaktlösa givare för att kontrollera läget på någon mekanisk detalj. På en arm kan man fästa en liten magnet och på lämpligt ställe placera en halleffektsensor. På så vis vet man om armen befinner sig i positionen ifråga. Magneten kan också monteras på t.ex. en roterande axel i en motor. I en borstlös motor, t.ex. i hjulen på en hoverboard, sitter 3 stycken hallsensorer. På så vis kan man räkna ut vilka elektromagneter som skall elektrifieras, för att åstadkomma rotation åt ena eller andra hållet.



Det finns halleffektsensorer av lite olika sort. t.ex. switchande, latchande, linjära och kompasser. Den vanligaste och billigaste har 3 ben och en typisk testkoppling ser du här ovan, där en lysdiod monteras i serie med en resistor mellan ben 1 och 3. Oftast kan sensorn användas som den är med den enda kringkomponenten en resistans på kanske 1KΩ mellan 5V och digital ut. Resistorn behövs oftast, då utgången är av typen open collector.

Jag beskriver när nedan dessa 4 olika hallsensorer här, varav den sista har jag exprimenterat lite mer ingående med.

Digitalt switchande (on/off) halleffektswitch



Den här varianten är troligen vad de flesta tänker på när de hör talas om halleffektswitch, dvs en sensor/switch som reagerar på (slår till vid) närvaron av en magnet (ON) och stänger av när magneten försvinner (OFF). En sådan här hallsensor kan t.ex. sitta i en borstlös motor. Det finns några varianter på temat. Omnipolär - reagerar på magnetfält oavsett polaritet (oavsett hur magneten är vänd) och slår av när magneten försvinner. Unipolär - reagerar på magnetisk sydpol och slår är av när magneten avlägsnas.

Exempel på en sådan halleffektsensor är TLE 4905 som kostar ungefär 10 kr på elfa.



Latchande halleffektswitch (bipolär)

En latchande hallsensor slår till/på när den utsätts för ett magnetfältet som har en viss polaritet och styrka och slår inte ifrån förrän den utsätts för ett magnetfält med motsatt polaritet. Detta brukar också kallas bipolär hallswitch.

Exempel på sådan sensor A1203EUA-T, kostar ca 30 kr på elfa.



Linjär halleffektsensor

Till skillnad från ovanstående som ger en diskret utsignal (5V eller 0V, "1" eller "0") så ger den linjära hallsensorn en utspänning som förhåller sig linjär till (proportionell mot) magnetfältet den exponeras för. En magnet vars styrka är "halvstark" kommer alltså ge ett utslag någonstans i mitten av 5V och 0V.

Exempel på sådan är A1324LUA-T som på elfa kostar ca 20 kronor.

Riktningskänslig halleffektsensor, kompass

Det finns också halleffektsensorer som kan känna igen riktningen av ett magnetfält i 360 grader. Dvs, en 2D -sensor. Det betyder att man kan läsa av i vilket riktning en magnet är positionerad. Söker man på halleffektsensor hos ELFA är det denna typ man får fram - till skillnad fråm halleffektswitchar. Det brukar även kallas positionssensor eller kompass. Man kan ofta välja vilken typ av utsignal man önskar, dvs en analog signal eller digital signal (I2C t.ex.). Exempel på sådan halleffektsensor är MLX90316.

Lite expriment med en MLX90316

MLX90316 är en cmos hall givare som läser av riktningen på ett magnetfält. Den fungerar alltså m.h.a. det som kallas för halleffekt.

Detta chip gör det möjligt att skapa en kontaktlös positionssensor helt befriad från delar som slits. Vad man gör är att man på något sätt fäster en lämplig magnet på en axel och mekaniskt bygger det så att denna magnet roterar ovanför chippet. Lite beroende på vilken variant av detta chip man köper får man då antingen en analog signal ut motsvarande riktningen på magnetfältet eller en pulsbreddsmodulerad signal (PWM) eller en helt digital signal.

En titt i databladet ger följande enkla schema för den analoga versionen av detta chip. Kondensatorerna i schemat verkar sitta där för att koppla av störningar. Ett motstånd på 10K Ohm känns viktigt.



Lämplig magnet

Den här sensorn förutsätter en magnet med ett diametrisk magnetfält; alltså ett magnetfält parallellt med sensorn. Det är rätt så logiskt om man tänker efter då det annars inte skulle finnas något att mäta. Detta utesluter alla runda magneter med monteringshål i mitten som jag känner till, vilket är lite synd då en sådan passar ganska bra montera på en roterande axel.

Återstår alltså så långt jag vet fyrkantiga magneter eftersom dessa går att vända i önskvärd riktning.

Noggrannhet m.m.

Mätnoggrannheten specificeras till 10 bitar, vilket är mindre än den upplösning som skickas ut via analog utgång (12 bitars upplösning) eller via digital utgång (14 bitars upplösning).

10 bitar betyder 2^10 = 1024 nivåer. Dvs en upplösning på 360 grader / 1024 = 0.35 grader.

Eftersom utgångarna har högre upplösning går det naturligtvis att mäta mindre vinklar. Analoga utgången's 12 bitars upplösning betyder 2^12 = 4096 nivåer respektive för den digitala 2^14 = 16384 nivåer vilket skulle indikera en vinkel på 360 / 4096 = 0.088 grader respektive 0.022 grader som minsta mätbara förändring.

"Inbyggda" fel specificeras som ca 1 grad fel. Om jag tolkar databladet rätt syftar alltså detta på absoluta fel i givaren. Säg att man monterat in en sådan här givare i en applikation. Sen tänker man sig att givaren byts ut mot en ny. Då kan det alltså skilja 1 grad i mätdata trots att inget annat förändrats. Detta inbyggda fel kalibreras bort.

Det finns en meny med valmöjligheter att öka noggrannheten ifall detta skulle bli nödvändigt.

- Välja en dubbel version av MLX90316 och ta snittvärdet av båda sensorer.
- Olika mjukvarulösningar, t.ex. räkna snittvärden, ta hänsyn till var sensorn säger och vad servot borde vara, osv.

Testriggen för att testa givaren

Som synes är det en väldigt liten krets. Lite halvjobbig att löda fast sladdar på. Men skam den som ger sig! Det var ett tag sedan jag använde voltmetern i mitt digitala lab så jag gör en liten testmätning med extern voltmeter. Schemat jag använder är det som finns här ovan.





Om man tittar noga uppe i övre högra hörnet ser man voltmetern på det digitala labbet. Den visar 1,5 volt resp 3.5 volt och 4.5 volt för de 3 bilderna; beroende på hur jag vänder magneten som du kan se att jag placerat på kretsen.







Lite mätresultat

Rött nedan är det som kallas nord på magneten. När vinkeln gått ett varv och slår över från 359 grader till noll grader så snubblar man över en diskontinuitet. Jag har därför skrivit 0+ (0.0001...grader) som ger 0.5 volt ut. 0- (359.99... grader) ger 4.5 volt ut. Observera att vinkel och utdata ökar moturs från 0.5 volt till 4.5 volt.

mlx 0 grader
Vinkel 0+ grader
0.50 volt
mlx 45 grader
Vinkel 45 grader
1.0 volt
mlx 90 grader
Vinkel 90 grader
1.5 volt
mlx 135 grader
Vinkel 135 grader
2.0 volt
mlx 180 grader
Vinkel 180 grader
2.5 volt
mlx 225 grader
Vinkel 225 grader
3.0 volt
mlx 270 grader
Vinkel 270 grader
3.5 volt
mlx 315 grader
Vinkel 315 grader
4.0 volt
mlx 0 grader
Vinkel 0- grader
4.5 volt