PID Regler; umwandlung zu PWM

Gast #6672227
Lesenswert?

Hallo Freunde der Regleungstechnik :D

Ich möchte die Drehzahl von einem Motor per Sotfware PID-Regler 
einstellen. Zum Steuern am Motor geht das durch PWM. Je größer das Duty 
wird, umso größer die Drehzahl. Mit Hilfe eines an der Welle 
befindlichen Generators wird die Drehzahl indirekt durch 
Spannungsmessung ermittelt.

Nun habe ich in Software einen PID-Regler geschrieben aber irgendwie 
scheitert es an der Umwandlung von Spannungswerten zu PWM. ich meine, 
der Algorithmus erwartet Initialwerte kp, kd, ki und in jedem zyklus 
messwert, sollwert und gibt stellwert aus.
Messwert, sollwert und stellwert sind aber Spannungswerte. jetzt muss 
ich mir ja noch irgendwie eine funktion popeln die Spannung in PWM 
umwandelt.

z.b:      duty = 100 * 1/(output);

Den Algorithmus habe ich von wiki
https://en.wikipedia.org/wiki/PID_controller
1
previous_error := 0
2
integral := 0
3

4
loop:
5
    error := setpoint − measured_value
6
    proportional := error;
7
    integral := integral + error × dt
8
    derivative := (error − previous_error) / dt
9
    output := Kp × proportional + Ki × integral + Kd × derivative
10
    previous_error := error
11
    wait(dt)
12
    goto loop
#6672236
Lesenswert?

Du musst aus deiner Ausgangspannung eine entsprechende PWM machen. 
Nehmen wir an wäre es ein Spannungsausgang der 0-5 Volt kann. Wenn er 1V 
ausgibt, sind das 20% des Stellbereichs.

Genauso machst du das mit der PWM die Pulsweite in % entspricht etwa den 
Prozenten der MaxDrehzahl bei 100%PWM.
Gast #6672243
Lesenswert?

> Je größer das Duty wird, umso größer die Drehzahl.

Das glaube ich dir erstmal so nicht. Wenn du die PWM korrekt machst dann
wirst du damit die bestenfalls die mittlere Spannung an deinem Motor 
einstellen koennen. Die Drehzahl wird aber davon nicht linear abhaengen, 
vermutlich eher so grob quadratisch. Und damit klappt deine Regelung 
dann nicht mehr.

Olaf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren