Gepost door Jeroen Vreuls op woensdag 10 november 2021
Ik ga een hall-sensor gebruiken voor het positioneren van een as. Meestal wordt dit met een encoder gedaan, maar het kan ook met een hall-sensor. Alleen moet er wel een flinke vertraging achter de motor zitten. Alleen de motoras ermee positioneren gaat niet werken, omdat dat met één hall-sensor totaal niet precies is. Dan kun je in principe alleen 360 graden halen, maar zet je achter de motor een grote vertraging dan wordt het een ander verhaal. Dat heb ik in het voorbeeld ook gedaan en dan wordt het vrij precies, hoe groter de vertraging is hoe beter het is.
De hall-sensor die gebruikt is, is van het bipolaire type. Dat wil zeggen dat de sensor geset en gereset wordt door de noord en zuidkant van een magneet. De magneet is een rond type met een noord- en zuidkant, deze magneet is op de motoras gemonteerd.
Het is een sensor van Honeywell, de SS411-T3. De voeding van de sensor heeft een vrij groot voedingsspanningsbereik, tussen de 3,8 en 30 V DC. De sensor mag continu 20 mA sinken met een absoluut maximum van 50 mA.
In het voorbeeld gaan we de sensor met 5 V DC voeden. De sensor wordt gevoed uit de controllerprint en de uitgang van de sensor komt direct op een ingang van de controllerprint.
Zoals je kunt zien is pin 1 de plus, pin 2 is de massa en pin 3 is de uitgang van de sensor.
In het principeschema zie je dat de sensor en de motor gekoppeld zijn. De sensor is een sink type, dat wil zeggen dat de belasting naar de GND getrokken wordt, dit wordt gedaan middels een pull-up weerstand van 1 kΩ aan 5 V DC. Op deze manier is de uitgang van de sensor hoog en dus ook de ingang van de controller. Als nu de magneet langs de sensor draait, zal de sensor uitgang laag en weer hoog worden. Hierdoor komt er dus een blokgolf op de ingang van de controller te staan. En daar kan in de software bijvoorbeeld weer mee geteld worden om naar een bepaalde positie te gaan.
Hieronder een voorbeeld van de blokgolf.
Je kunt zien dat als de motor langzaam draait de frequentie van het uitgangssignaal lager is dan bij een hoger toerental. Op deze manier kun je dus bijvoorbeeld ook het toerental van de motor meten en constant houden bij zwaardere belastingen.