Forum: Mikrocontroller und Digitale Elektronik PI-Regler für GS-Motor; immer noch Fragen


von Kartoffel (Gast)


Lesenswert?

Hallo Leute,
ich weiß, ich nerv mittlerweile, aber ich bin fast am Ziel und komm 
nicht wirklich weiter. Zur Erinnerung: ich regel einen GS-Motor mit 
einem PI-Regler. Angetrieben von PWM.
Soll- und Istwert ist eine Geschwingigkeit in U/min.
Was stellt denn meine Stellgröße dar, welche Einheit hat sie? Ich hab 
schon viele verschiedene Möglichkeiten gehört, welche ist denn jetzt 
richtig?
Ist die Stellgröße eine Geschwindigkeit oder die PWM-Pulsbreite?
Hilft mir, ich bin am Verzweifeln....

von gast :-) (Gast)


Lesenswert?

das kannst du dir eigentlich aussuchen, ggf musst du die werte 
umrechnen...

vergiss aber dabei nicht das umrechnungen idr immer ne gewisse 
abweichnung haben.
ich mein damit das wenn du zb pwm nach u/min umrechnest, das du ja 
bestimmt ein pi dabei. dadurch wird dein ergebnis idr auf/abregundet.

von Kartoffel (Gast)


Lesenswert?

Das kapier ich eben nicht, wieso ich mir das aussuchen kann, ich hab 
doch eine feste Formel. Meine schaut so aus:

pi_r.Stellwert = pi_r.Kp*pi_r.Regelabweichung + 
(pi_r.Ki*pi_r.I_Anteil)/100;

Regelabweichung ist eine Drehzahldifferenz, z.B 2000-1950 = 50
Der I-Anteil ist die Summe aller Abweichungen, z.B 10
Kp = 18; Ki = 60

also alles feste Größen, bei dieser Konstellation bekomme ich 906 raus.
Und was sagt mir die Zahl????????

von Michael K. (mmike)


Lesenswert?

Die musst Du dann umrechnen...

Deine Stellgröße ist die Größe, mit der Du Deinen Motor "stellen" also 
steuern kannst. Das sollte Dein PWM Verhältnis sein. Du hast mal 
geschrieben bei 50% PWM Tastverhältnis steht der Motor.

Mach doch einfach mal ein Diagramm. Trag auf der x - Achse das PWM High 
- Low Verhältnis in Prozent auf und auf der y - Achse die Drehzahl. 
Wahrscheinlich ist das Ganze schön nichtlinear ... Stell das Diagramm 
dann mal hier rein, dann kann Dir konkreter geholfen werden !

Grüße,
Michael

von Weinga-Unity (Gast)


Lesenswert?

Die Stellgröße ist die mittlere Spannung, die der Motor beaufschlagt 
wird. D.h. bei 10V Versorgung gilt 90%PWM=9V, 10%PWM=1V, ...
Ein Zusammenhang Drehzahl<->PWM kann nicht gefunden werden, da dieser 
von Belastung usw. abhängt. Kann eigentlich leicht erklärt werden:
1) Motor steht und PWM=0%
2) jetzt PWM=50%
3) Motor steht immer noch und läuft erst gemütlich weg
-> PWM=50% würde somit Drehzahlen von n=0...xxx entsprechen->kein 
Zusammenhang.

von Kartoffel (Gast)


Lesenswert?

Hab vielleicht eine Möglichkeit gefunden, wie ich das eine in das andere 
umrechnen kann. Allerdings muss ich dafür die maximale Stellgröße 
wissen.
Die muss ich aus der Formel :
pi_r.Stellwert = pi_r.Kp*pi_r.Regelabweichung + 
(pi_r.Ki*pi_r.I_Anteil)/100;

berechnen können und dann kann ich das auf PWM umrechnen.
Also minimale Stellgröße =0 entspricht PWM=FE70 (Flankenwechselregister)
Maximale Stellgröße = ?? entspricht PWM=FFFF


Ich hab versucht, den max. Stellwert durch das Einsetzen der Werte zu 
bestimmen. Also für den Teil mit dem P-Anteil funktioniert das sehr gut: 
die max. Regelabweichung ist Maxdrehzahl-0U/min = 3000U/min. Mit Kp=60 
multipliziert = 54000. Wie ich das mit dem I-Anteil herausbekommen 
soll...keine Ahnung....Wenn ich das wüsste, dann hab ich zwei Bereiche:

0->400
0->Max.Stellwert

und kann die ineinander umrechnen!!

von Kartoffel (Gast)


Lesenswert?

also ich hab jetzt ein paar Werte aufgenommen.
Tastverhältnis in % -> Drehzahl in U/min

50% -> 0 U/min
60% -> 445 U/min
70% -> 1704 U/min
80% -> 1780 U/min
90% -> 2390 U/min
100% -> 2474 U/min

Das ganze ist wirklich schön unlinear.
Also wie soll ich jetzt meine Stellgröße skallieren?

von daniel (Gast)


Lesenswert?

ich würde kubische splines machen und dann eine lookup tabelle
aufbauen. bei vorgabe einer drehzahl würde ich in dieser tabelle
das benötigte tastverhältnis nachschlagen (for loop durchlauf mit break
wenn gefunden)
vielleicht nicht ideal aber pragmatisch gelöst

von Michael K. (mmike) (Gast)


Lesenswert?

Hier was zum einstellen der Verstärkungsfaktoren ...

http://de.wikipedia.org/wiki/Faustformelverfahren_(Automatisierungstechnik)

von Kartoffel (Gast)


Angehängte Dateien:

Lesenswert?

also ich hab jetzt ein Diagramm erstellt: Drehzahl in Abhängigkeit vom 
Tastverhältnis(siehe Anhang). Also wenn man interpoliert und zwei Augen 
zurdückt, dann kann man doch sagen, dass der Verlauf linear ist, oder?
Was sagt ihr???????????????????????????????

von Kartoffel (Gast)


Lesenswert?

also ich hab versucht eure Tipps in die Tat umzusetzen. Hab die 
Stellgröße auf den richgigen Bereich skaliert von 0->65535 auf (0->400).

Nochmal der Regler:
1
  pi_r.Stellwert = pi_r.Kp*pi_r.Regelabweichung + pi_r.Ki*pi_r.I_Anteil)/100;

Skalierte Stellgröße: (pi_r.Stellwert*400)/65535

Da meine Stellgröße sich im Bereich zw. 400 bis 800 bewegt sieht die 
entgültige Stellgröße so aus:

Stellgröße_entg= 400 + skalierte Stellgröße

Hab versucht, das anhand von 2 Werten zu überprüfuen.
v_soll = 1500U/min
v_ist = 1300U/min

Nach dem Anwenden aller Formeln bekomme ich Stellgröße_entg = 423

Das kann doch nicht sein....
Denn 423 entspricht einer sehr niedrigen Drehzahl (unter 80 U/min).
Ich möchte aber von 1300 auf 1500 und nicht auf 80 runter!!!!!
Hab ich nen Denkfehler????

von Kartoffel (Gast)


Lesenswert?

Weiß denn niemand Rat?

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.