PID Regler; umwandlung zu PWM

Gast #6672227
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
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
> 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
#6672246
Olaf schrieb:
> Das glaube ich dir erstmal so nicht

Gut dass der Motor sich nicht für Glaubensfragen interessiert. Wohl aber 
für die angelegte Spannung. Ob es nun die gemittelte PWM Spannung oder 
gleichspannung ist. Das Drehmoment hängt linear vom Strom, die Drehzahl 
linear von der Spannung ab.
Zumindest in ganz grauer Theorie

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.