Hallo zusammen, ich habe hier einen Aktuator mit integrierten Hall-Sensoren. Leider werde ich nicht ganz schlau aus dem Datenblatt. Habe bisher noch nicht mit Hall-Sensoren gearbeitet und war der Meinung, dass diese einen Spannungswert zurückliefern, den ich mit einem A/D-Wandler meines µC auswerten könnte. Jetzt werde ich aber aus diesem Datenblatt nicht schlau: http://www.concens.com/PRODUCTS/Actuators/Hall_Sensors.aspx#374 Für was sind diese zwei Pulse und wie kann ich diese vernünftig mit meinem µC auswerten? Kann mich bitte irgendjemand aufschlauen? Danke und Gruß
Schaut aus wie ein GRAY-Code. Such mal nach Drehencoder. Damit kannst du die Umdrehungen des internen Getriebes zählen und anhand der Angabe im DBL, wieviel Pulse/mm geliefert werden auf die Position schließen. Gruß Roland
Hallo Markus. Das ist ein linearer Aktuator. Innendrinnen enthaelt er einen Motor mit Getriebe. Am der Motorachse sind zwei Hallsensoren angebracht, die dir ein Signal ausgeben. Beide Hallsensoren sind phasenverschoben angebracht. Dein uC braucht keinen ADC sondern zwei Digitaleingaenge. Damit kannst Du die beiden Hallsensoren einlesen und 1. Die Motordrehzahl ausrechnen - und damit die Verfahrgeschwindigleit des Aktuators und 2. Die Drehrichtung bzw. Verfahrrichtung ermitteln (logische Auswertung der beiden Hallsignale). Wenn Deine SW ein bischen schlauer ist, kann sie die Aufloesung (Pulse / Umdrehung) verdoppeln. Diese beiden Pulse und die Richtungsinfo sind notwendig, um z.B. einen Zaehler mitlaufen zu lassen, der die aktuelle Aktuatorposition repraesentiert! Das ganze ist ein Inkrementalencoder, d.h. es ist kein definierter Nullpunkt vorhanden. Du musst den Aktuator gegen einen Anschlag oder Sensor fahren lassen und dem Positionszaehler sagen "hier ist Null"!. Die Hallausgaenge sind uebrignes OpenCollector und benoetigen einen Pullup Widerstand von 1kO (lt. Datenblatt empfohlen). Noch Fragen? Gruss Michael
vielen Dank für die Erklärungen! Jetzt ist mir das ganze etwas klarer. Das ganze finde ich aber ziemlich ungeschickt gelöst: wenn der Strom mitten in der Bewegung ausfällt und ich wieder neu starte, kann ich nicht sagen, an welcher Stelle sich der Aktuator befindet - richtig? D.h. ich muss das mech. System wieder auf null fahren, heißt bis Anschlag, und wieder von vorne Anfangen. Finde ich ziemlich ungeschickt - um es nett auszudrücken. :-( Gruß Markus
P.S.: wenn ich gegen einen Anschlag fahre, setzen die Impulse aus - richtig? So kann ich die Anschlagserkennung realisieren. Oder schadet das dem Aktuator - würde wahrscheinlich einige µ- oder Millisekunden gegen den Anschlag donnern zu sich zu viel Strom ziehen...
Hallo Markus, ein "gegen den Anschlag fahren" darf dem Teil nicht schaden, denn jede mechanische Bewegung kann mechanisch blockiert werden und muss das abkoennen. Es ist richtig: Aus dem Abstand der Hallsignale kannst Du auf ein Bremsen der Bewegung schliessen und dann bei oder kurz vor Blockieren abschalten. Eine Stromueberwachung ist so ueberfluessig, denn der Motorstrom ist fast linear zur Motorlast und umgekehrt proportional zur Motorgeschwindigkeit. Natuerlich ist bei Verlust der Betriebsspannung der Hallsensoren die Positionsinformation weg sofern sich die Spindle aus irgendeinem Grund noch bewegen kann. Wohlgemerkt nicht bei Verlust der Spannung am Motor sondern den 5V Hallversorgung. Ausser, ein mechanisches Verstellen der Spindel ist von aussen (bei Spannungsverlust) nicht moeglich. In solchen Faellen detektiert der uC einen Betriebsspannungsverlust und schreibt den Positionswert in ein EEPROM weg. Dann ist nach Power-On alles wieder i.O. Was man gerne macht ist, die Betriebsspannung der Hallsensoren zu pulsen und deren Position zu pollen. Also die 5V-Versorgung alle 10mS fuer 0.xmS einschalten und schauen, ob sich die Hallsignale geaendert haben. Wenn ja, dann uC aufwecken und Zaehlerstand korrigieren! Im praktischen Betrieb empfiehlt es sich, so einem System immer nur in einer definierten Position das Abschalten der Betriebsspannung zu erlauben. Gruss Michael
Hallo Michael, vielen Dank für die vielen Informationen! :-) Damit sollte es jetzt kein Problem mehr sein, etwas passendes zu programmieren. Gruß Markus
>Finde ich ziemlich ungeschickt - um es nett auszudrücken. :-(
Gibt es auch anders, will aber kaum einer bezahlen...
Gast
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.