Forum: PC-Programmierung Motor Drehzahl- und Stromgeregelt steuern


von Johannes S. (muster)


Lesenswert?

Hallo,

ich bin dabei, einen Motor Drehzahl- und Stromgeregelt zu steuern. In 
meinem C-Programm wird zu Anfang eine Solldrehzahl eingegeben. Diese 
soll der Motor dann natürlich möglichst schnell und ohne riesigen 
Überschwinger erreichen. Ich bekomme die Drehzahl vom Motor sowie den 
Strom.

Der PI-Regler für die Drehzahl läuft bereits wunderbar (ohne Schwingen). 
Wenn ich nun aber einen PI-Regler für die Stromregelung hinter den für 
die Drehzahl "schalte", wird das System instabil. Hat in diesem Bereich 
jemand Erfahrung bzw. kann mir jemand Tipps geben?

Den PI-Regler für die Drehzahl habe ich folgendermaßen eingestellt.

I-Anteil erstmal auf 0. Dann P-Anteil hochgefahren, bis es anfängt zu 
schwingen und dann den P-Anteil nochmal etwas runter gedreht. 
Anschließend den I-Anteil hochgefahren bis es noch stabil ist.
Wenn ich nun das Gleiche mit dem PI-Regler für den Strom mache, schwingt 
das System sobald ich den I-Anteil von 0 auf 0.1 setze. Ohne I-Anteil 
werden die "höheren" Umdrehungen des Motors (0 - 2000/min) jedoch nicht 
erreicht.

von Oliver S. (oliverso)


Lesenswert?

Johannes Schmitz schrieb:
> Ohne I-Anteil
> werden die "höheren" Umdrehungen des Motors (0 - 2000/min) jedoch nicht
> erreicht.

Ähem...

Wenn di einen I-Anteil im Drehzahlregler hast, dann muß der Motor jede 
Solldrehzahl erreichen.

Oliver

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


Lesenswert?

Man stellt Kaskaden-Regler eigentlich immer von innen nach außen ein. 
Die Reglereinstellungen die du für den reinen Drehzahlregler ermittelt 
hast werden für den Kaskaden-Regler nicht mehr das Optimum sein. 
Außerdem sollte der Stromregler schneller sein als der Drehzahlregler 
(mind. Faktor 2).

Mit freundlichen Grüßen
Thorsten Ostermann

von Georg (Gast)


Lesenswert?

Johannes Schmitz schrieb:
> Der PI-Regler für die Drehzahl läuft bereits wunderbar (ohne Schwingen).

1. Was regelst du denn jetzt, die Spannung? PWM?

2. Wenn es funktioniert, warum dann noch eine Stromregelung?

3. Stromregelung ist der innere Regelkreis, die Drehzahlregelung der 
äussere, die gibt den Sollstrom vor. Andersrum ist es nicht sinnvoll.

Georg

von Muster (Gast)


Lesenswert?

Hallo,

die Aufgabenstellung ist halt, dass er Drehzahl- und Stromgeregelt sein 
soll.

Ich regel damit indirekt die Spannung. Ich gebe auf den Ausgang 0-5V und 
entsprechend ändert sich der Zündwinkel meiner B6-Schaltung. Folglich 
ändert sich auch die Spannung.

von Muster (Gast)


Lesenswert?

Was ich noch vergessen habe:

Der Stromregler wurde nun doch als P Regler ausgelegt.

Die Regelung ist nun auch bis zu einem gewissen Punkt stabil (600/min). 
Darüber hinaus fängt er dann zu schwingen an.

von Ernst O. (ernstj)


Lesenswert?

Angenommen, die innere Regelung kümmert sich um den Motorstrom. Dann 
stellt sich in Abhängigkeit der Last am Motor eine bestimmte Drehzahl 
ein.
Jetzt noch angenommen, die äussere Regelung kümmert sich um die 
Drehzahl.

Meinst du das so?

Dann gibt es ein Problem: wenn die Drehzahl ausserhalb des Sollbereiches 
liegt, gibt es keine andere Möglichkeit als die dem Motor zugeführte 
Leistung zu verändern und das hat zwangsweise die Folge, dass der Strom 
verändert werden muss. Das ist als ob man in einem Auto zwei Lenkräder 
einbauen würde.



Angenommen, deine Regelstrecke sieht so aus: Der Drehzahlgeber des 
Motors wird von deinem Regler ausgewertet, der Regler gibt als 
Steuergröße eine Spannung aus. Diese wird einer spannungsgesteuerten 
Stromquelle zugeführt (deinem "Stromregler"), deren Ausgangssignal in 
Form eines eingeprägten Stroms dem Motor zugeführt wird. Ist das deine 
Schaltung?

Wenn dem so ist, dann sollte der Stromregler schneller sein als der 
Drehzahlregelkreis. Du musst also darauf achten, dass die 
Integrationszeitkonstante des Stromreglers deutlich kürzer ist als die 
des Drehzahlreglers.


P.S. wenn dein Motor ohne Stromregelung drehzahlbegrenzt ist dann stimmt 
etwas grundlegendes nicht.
Noch eine Frage: Warum beschränkst du dich auch PI Regler? Warum nicht 
PID?

von MaWin (Gast)


Lesenswert?

Muster schrieb:
> Ich regel damit indirekt die Spannung. Ich gebe auf den Ausgang 0-5V und
> entsprechend ändert sich der Zündwinkel meiner B6-Schaltung. Folglich
> ändert sich auch die Spannung.

Wenn du den Zündwinkel stellst, ist die effektive Motorspannung deine 
Führungsgrösse, nicht der Motorstrom.

Und das ist auch viel besser...

von Muster (Gast)


Angehängte Dateien:

Lesenswert?

So sieht es im Prinzip aus. Nur, dass ich anstatt des Stromrichters den 
Zündwinkel einer B6 und damit die Spannung ansteuere. So lautete auch 
die Aufgabenstellung.

von Ernst O. (ernstj)


Lesenswert?

Hast du schon geprüft, ob an den jeweiligen Schnittstellen der vorherige 
Ausgang in der Lage ist, der jeweils nächsten Stufe das Eingangssignal 
zu liefern, das für ordnungsgemäßen Betrieb benötigt wird? (Jeweilige 
Schnittstelle auftrennen, Signal der Eingangsstufe mit einem Steller 
vorgeben , notieren welche Signale die vorgesehene Wirkung haben und 
schliesslich verifizieren dass die jeweils vorherige Stufe das 
erforderliche Steuersignal liefern kann)

Wie arbeitet der Drehzahlsensor? Funktioniert die Drehzahlauswertung 
über den vorgesehenen Drehzahlbereich? Behindert vielleicht eine 
Entprellung die Signalerkennung oberhalb einer bestimmten Drehzahl?

von wendelsberg (Gast)


Lesenswert?

Entweder wird die Drehzahl geregelt ODER der Strom.
Man kann sicher sinnvoll eine Strombegrenzung vor dem Motor vorsehen 
(z.B. damit der Motor bei lange andauernder Uebelast nicht durchbrennt) 
und diese Stromregelung nennen, sie regelt ja auch den Maximalstrom. 
Allerdings sorgt diese dann auch dafuer, dass die Solldrehzahl nicht 
mehr erreicht wird, wenn zuviel Last zuviel Drehmoment und damit zuviel 
Strom fordert.

Beides gleichzeitig regeln zu wollen widerspricht sich.

wendelsberg

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


Lesenswert?

Hallo wendelsberg,

> Entweder wird die Drehzahl geregelt ODER der Strom.
...
> Beides gleichzeitig regeln zu wollen widerspricht sich.

Dann musst du wohl alle gänigen Fachbücher über die Regelung von 
elektrischen Antrieben neu schreiben. Die 2- oder 3-stufige 
Kaskadenregelung ist seit Jahrzenten Stand der Technik und wird von 
allen Herstellern so umgesetzt, egal ob sie Siemens, Beckhoff, B&R oder 
SEW heißen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Muster (Gast)


Lesenswert?

ernst oellers schrieb:
> Hast du schon geprüft, ob an den jeweiligen Schnittstellen der
> vorherige
> Ausgang in der Lage ist, der jeweils nächsten Stufe das Eingangssignal
> zu liefern, das für ordnungsgemäßen Betrieb benötigt wird? (Jeweilige
> Schnittstelle auftrennen, Signal der Eingangsstufe mit einem Steller
> vorgeben , notieren welche Signale die vorgesehene Wirkung haben und
> schliesslich verifizieren dass die jeweils vorherige Stufe das
> erforderliche Steuersignal liefern kann)
>
> Wie arbeitet der Drehzahlsensor? Funktioniert die Drehzahlauswertung
> über den vorgesehenen Drehzahlbereich? Behindert vielleicht eine
> Entprellung die Signalerkennung oberhalb einer bestimmten Drehzahl?


Ja, das hatte ich schon gemacht und konnte dabei keine Fehler 
feststellen.

Den Strom messe ich mit einer Strommessstelle, d.h. wenn Strom fließt, 
kann ich eine entsprechende Spannung messen. Diese Spannung liegt im 
Bereich von 0-15V (begrenzt durch den Trafo der Strommessstelle). Mit 
dem entsprechenden Widerstand in der Messstellenschaltung entsprechen 
die 0-15V einem Strom von 0-45.5A. Da ich die Spannung mit meiner Karten 
messen muss um sie zu verarbeiten, die Karte aber nur 0-10V erfassen 
kann, habe ich die Spannung der Messstelle auf 0-9V mit einem 
Spannungsteiler runterskaliert.
Das bedeutet nun, dass ich an meiner Karte eine Spannung von 0-9V messe, 
was einem Strom von 0-45.5A entspricht.

Der Stromregler bekommt nun den Ausgangswert vom PI-Drehzahl-Regler 
abzüglich des fließenden Stromes. Dieser wiederum bekommt ja die 
Solldrehzahl abzüglich der Istdrehzahl.

Die Solldrehzahl (bekomme ich per manueller Eingabe ins Programm) sowie 
die Istdrehzahl (0-20V, durch einen Spannungsteiler auf 0-8V skaliert 
und dann im Programm auf 0-9 hochgerechnet) rechne ich vor dem Regler 
schon auf 0-9 runter. Sodass 0/min - 2000/min dann 0-9 entspricht (muss 
doch so gemacht werden, da ich sonst bei der "Übergabe" der Werte 
zwischen den beiden Regler völlig unterschiedlich skalierte Werte 
habe?).

von Georg (Gast)


Lesenswert?

wendelsberg schrieb:
> Beides gleichzeitig regeln zu wollen widerspricht sich.

Das ist schlicht Unsinn. Üblich ist ein innerer Stromregelkreis (könnte 
auch Spannungsregelung sein, aber Stromregelung steuert das Drehmoment 
besser bei DC-Motoren).

Dieser Regelkreis bekommt seinen Sollwert von der übergeordneten 
Drehzahlregelung (für ganz minderbemittelte: wenn Drehzahl zu gering 
dann mehr Strom).

Die Drehzahlregelung bekommt ihren Sollwert von der übergeordneten 
Lageregelung. Fachleute sprechen von einer Regelkaskade.

Wenn du da einen Widerspruch siehst, solltest du dich mit was anderem 
beschäftigen.

Georg

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.