Hallo, ich habe schon gegoogelt, aber auf dieses Problem wird nirgends, sofern es denn tatsächlich eins darstellt, näher eingegangen. Wenn man die Drehzahl mittels Hallsensor messen will, ist es doch so, dass man diese durch die Umlaufzeit des Rotors berechnet. Aus den Grundlagen der Regelungstechnik ist mir bekannt, dass ein digitaler Regler einem analogen Regler möglichst durch eine hohe Abtastrate angenähert werden kann. (praktischerweise sollte die Abtastrate in etwa 10x größer sein, als die höchste im Regelkreis vorkommende Frequenz - also anhand der Übertragungsfunktion des offenen Regelkreises betrachtet) Ein Beispiel: Annahme: Motor dreht mit 10 Ups (also 600 Upm) - ergibt eine Umlaufzeit von 100 ms Würde ich meinen digitalen Regler z.B. mit einer Abtastrate von 1kHz implementieren, so würde ich 10x (jede Millisekunde wird der alte Drehzahlwert verwendet, aber erst nach 10 Millisekunden würde ein tatsächlicher neuer Wert gemessen werden - der dem gemittelten Wert der letzten 10 ms entsprechen würde) den alten Wert verwenden müssen. Fragen: Ist das ein Problem? Wie setzt man in so einem Fall die Abtastzeit? (theoretisch/praktisch) Theoretisch betrachtet müsste es sich hier um ein Totzeit-Glied mit veränderlicher Totzeit handeln (als Funktion der Drehzahl), insofern bestünde ja die Gefahr des Schwingens/Instabilität. mfg, Daniel
Sorry, Faktor 10 Fehler - meinte natürlich 100x messen bis nach 100 ms neuer Wert verfügbar
Tach Daniel, das muss man in der Tat beachten. Bei Schrittmotoren hat man ein ähnliches Problem. Meiner Erfahrung nach ist es am besten den Regler zwei gliedrig aufzubauen. Ein Teil läuft mit einer festen Zeitbasis. Wenn die eingestellte Zeit abgelaufen ist wird der eigentliche Regler angestoßen. Der macht also nichts weiter als watchdog zu spielen, falls der Rotor stehen bleibt. Ansonsten wird der Regler nur mit jedem Encodertakt angestoßen. Wie stark der Regler pro Takt seinen Ausgangswert verändern kann ist dann eine Sache der Dimensionierung. Auf diese Weise ist der Regler auf die variable Totzeit des Sensors synchronisiert. Thor
Den Regler über den Encoder zu triggern halte ich für gewagt. Was macht man dann bei Drehzahlen nahe Null? In der Praxis ist die Geberauflösung tatsächlich ein kritischer Punkt. Niedrigpolige Motoren lassen sich nur auf Hallbasis bei niedrigen Drehzahlen nur sehr schlecht regeln, d.h. das Geräuschverhalten und der Gleichlauf sind nicht gut. Und das, obwohl man selten mit Motoren zu tun hat, die nur ein Polpaar haben. Um so höher die Polpaarzahl, um so mehr Hallgeber Impulse hat man pro mechanischer Umdrehung. Es kann helfen, den Reglertakt zu reduzieren. Für Drehzahlregler sind je nach Anwendung 1-16kHz üblich, man kann aber auch darunter gehen. Aber dann wird eben auch das Gesamtsystem träger. Für eine Drehzahlregelung bis Drehzahl Null oder eine präzise Positionierung benötigt man in den meisten Fällen aber einen Encoder mit typisch 1000-2000 Strichen/U (also 4000-8000 Pulsen/U). Mit freundlichen Grüßen Thorsten Ostermann
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.