Forum: Mikrocontroller und Digitale Elektronik Dehzahlregelung: langsame Geschwindigkeiten genau regeln


von Mach F. (machfax)


Lesenswert?

Hallo zusammen
Ich bin eine Drehzahlregelung am realisieren. Es ist ein BLDC Motor 
verbaut, zur Speedmessung werte ich die Geschwindigkeit des Encoders 
aus. (500 Impulse pro Spur und Umdrehung = 2000 Flanken pro Umdrehung 
über A+B gesehen)
Die Anforderung ist, dass ich bei niedrigen Geschwindigkeiten sehr genau 
regeln muss im Vergleich zu den höheren Geschwindigkeiten. Bei einer 
Updaterate von 30ms bei der Messung der Zeit über 100 Flanken (A+B beide 
Flanken) habe ich mit einem 100kHz Timer bei 100rpm einen Timerwert von 
3000. Bei 5rpm und einer Updaterate von 30ms ergibt das nur noch 5 
Flanken für die Zeitmessung, was natürlich schlecht ist mit der 
Filterwirkung. Der Timerwert ist aber immer noch bei 3000.
Wenn ich jetzt theoretisch mit 5rpm und 100 Flanken auswerte, erhalte 
ich einen Timerwert von 60000 jedoch bei einer Updaterate von 600ms, was 
sicher viel zu langsam ist. Somit habe ich ja bei kleinen 
Geschwindigkeiten immer eine schlechtere Auflösung. Um den PI Regler 
jetzt anzusteuern, habe ich den Kehrwert des Timerstandes genommen als 
Ist-Wert. Das heisst aber, dass ich wiederum bei kleinen 
Geschwindigkeiten einen kleinen Wert habe und somit an Genauigkeit 
verliere. Ich habe also eine schlechtere Filterwirkung (wegen der 
Messung über weniger Flanken) und auch eine kleinere Ist-Grösse wegen 
dem Kehrwert. Somit ist bei kleinen Geschwindigkeiten die Genauigkeit 
immer schlechter als bei grossen Geschwindigkeiten, korrekt?
Wenn ich jetzt aber vom Timerstand nicht den Kehrwert als Ist-Signal 
verarbeite, sondern die Rohdaten, habe ich zumindest bei kleinen 
Geschwindigkeiten einen hohen Wert. Der Regler muss aber dann "gekehrt" 
werden. Ist dies überhaupt möglich?
Ich hätte dann ja bei einer kleinen Geschwindigkeit ein sehr hoher 
Istwert, der abnimmt, wenn die Geschwindigkeit zunimmt. Der PI Regler 
müsste dann also "umgekehrt" regeln. Kann ich also den Reglerausgang, 
der dann ins negative läuft einfach invertieren oder ist dieser 
Lösungsansatz komplett falsch?

von m.n. (Gast)


Lesenswert?

Suche hier im Forum nach "reziproke Frequenzmessung"

Bei einem Drehgeber mit 500 Teilen/Spur erhält man bei 5 U/min 
5*500/60=41,667 Impulse pro Sekunde, welche einem Intervall von 24ms 
entsprechen. Das ist doch ein guter Wert.

Welchen µC Du verwendest, sagst Du leider nicht. Falls es ein AVR sein 
sollte, dann setze die Frequenz für den Timer1 mit 16-20MHz an. 100kHz 
ist zu langsam. Die Impulsmessung selbst wird dann über den 
Capture-Eingang ICP1 erledigt.

Zum genauen Verständnis solltest Du die oben gefundenen Beiträge 
durchlesen.

von Udo S. (urschmitt)


Lesenswert?

Bei langsamen Drehzahlen zählst du nicht mehr die Impulse pro Sekunde 
oder pro x Millisekunden, sondern du ermittelst die Zeit zwischen zwei 
Impulsen.

von Matthias L. (Gast)


Lesenswert?

Ich glaube zu wissen, das FUs für die n-Regelung typischerweise 1kHz 
Abtastfrequenz und für den i-Regler 8kHz verwenden..

von Mach F. (machfax)


Lesenswert?

Udo Schmitt schrieb:
> Bei langsamen Drehzahlen zählst du nicht mehr die Impulse pro Sekunde
> oder pro x Millisekunden, sondern du ermittelst die Zeit zwischen zwei
> Impulsen.

Ja das mache ich auch, jedoch nicht über 2 Flanken, sondern über 4, da 
die EncoderSpuren A+b nicht 0 Abweichung zueinander haben...

Danke

von Mach F. (machfax)


Lesenswert?

Domi --- schrieb:

> Ich hätte dann ja bei einer kleinen Geschwindigkeit ein sehr hoher
> Istwert, der abnimmt, wenn die Geschwindigkeit zunimmt. Der PI Regler
> müsste dann also "umgekehrt" regeln. Kann ich also den Reglerausgang,
> der dann ins negative läuft einfach invertieren oder ist dieser
> Lösungsansatz komplett falsch?

Geht dies überhaupt, da bei Geschwindigkeit 0 der IstWert ja sehr gross 
ist und abnimmt je höher die Geschwindigkeit wird...

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Matthias!

> Ich glaube zu wissen, das FUs für die n-Regelung typischerweise 1kHz
> Abtastfrequenz und für den i-Regler 8kHz verwenden..

Das ist so pauschal falsch. Für den Stromregler sind 16-32kHz üblich, 
für den Drehzahlregler 4-16kHz. Was aber nicht heißt, dass es nicht 
Geräte gibt, die abweichende Werte aufweisen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

ich finde nirgends eine Angabe über die Höchstdrehzahl. Wenn es 
hauptsächlich um niedrigste Drehzahlen geht, kann man das Problem auch 
mit einem Getriebe umgehen. Damit vereinfacht sich nicht nur die 
Erfassung der Drehzahl, sondern auch die Ansteuerung des Motors.

Gruss Reinhard

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Bei dieser Art Regelung brauchst Du die Angabe der Mindestdrehzahl und 
der Höchstdrehzahl. Dann kannst Du Frequenzen und Abtastzeiten 
ermitteln, um etwas brauchbares zu programmieren. Ganz wichtig ist eher 
die Mindestdrehzahl, weil hier die Torzeiten sehr lang werden.
Schnell kann jeder !

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
Noch kein Account? Hier anmelden.