INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Ansteuerung Servomotor mit Stellungsregler mit PID-Regler



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.01.2021, 13:13
Beitrag #1

hugo2w Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2021

2019
-
kA



Lightbulb Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Hallo zusammen,

ich bin Einsteiger in LabView und habe folgende Situation:

Ein Servomotor mit integriertem Stellungsregler soll für die Regelung der Drosselklappe in einem Luftstrom eingesetzt werden.
Der Servomotor kann mit 0 - 10 V (Sollwerteingang) angesteuert werden und gibt ein 0 - 10 V-Signal (Rückgabewert) zurück.

Ein in LabView implementierter PID-Regler bestimmt die Regelabweichung e zwischen dem Messwert r und dem Sollwert w und gibt einen Ausgabewert zwischen -100 und 100 % aus.

Mein Ansatz zur Bestimmung der Motorstellung wäre nun folgender:
- Der Reglerausgang wird von % in Einheiten umgewandelt (- 100 bis + 100 % --> -10 bis 10 V)
- Der Rückgabewert des Motors soll ständig eingelesen werden und mit dem V-Wert des Reglerausgangs addiert werden.

Ist mein Ansatz richtig oder gibt es dafür bessere Möglichkeiten?

Das Programm ist bisher nur ein Entwurf und wurde noch nicht an der Maschine getestet.

Danke und Grüße

hugo2w
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.01.2021, 13:44 (Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2021 14:11 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Hallo Hugo,

herzlich willkommen im Forum!

Zitat:Mein Ansatz zur Bestimmung der Motorstellung wäre nun folgender:
- Der Reglerausgang wird von % in Einheiten umgewandelt (- 100 bis + 100 % --> -10 bis 10 V)
- Der Rückgabewert des Motors soll ständig eingelesen werden und mit dem V-Wert des Reglerausgangs addiert werden.
Warum willst du auf ±10V skalieren, wenn der Motorregler nur positive Spannungen erwartet?
Warum willst du den Rückgabewert mit dem Stellsignal addieren???

Zitat:Ein Servomotor mit integriertem Stellungsregler
Wenn der Regler integriert ist, wozu dann der zusätzliche Software-PID-Regler?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2021, 19:40
Beitrag #3

hugo2w Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2021

2019
-
kA



RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Hallo Gerd,

anbei mein Regelkreis in der Übersicht und der Entwurf meines LabView-Programms.

Zitat:Warum willst du auf ±10V skalieren, wenn der Motorregler nur positive Spannungen erwartet?

Der PID-Regler berechnet aus der Regelabweichung ja eine Stellgröße. Falls aus dem Vergleich zwischen Führungsgröße und Rückführgröße ein negativer Wert herauskommt (e = w - r < 0), muss der PID-Regler nach meinem Verständnis auch negative Werte ausgeben können, um den V-Wert am Sollwerteingang des Motors zu verringern.

Zitat:Warum willst du den Rückgabewert mit dem Stellsignal addieren???

Der Regler kann ja nicht wissen, wo der Motor vorher gestanden hat. Durch die Addition des Stellsignals mit dem Rückgabewert soll der richtige V-Wert an den Sollwerteingang des Motors gesendet werden.

Bsp.: Der Motor steht im Ausgangszustand auf 50 % (Rückgabewert 5 V). Im Regelkreis ergibt sich, dass der Motor die Luftklappe etwas schließen muss (Motorstellung 40 % - Rückgabewert 4 V notwendig). Um in LabView den Motor nun mit 4 V anzusteuern, soll der Rückgabewert 5 V mit dem Reglerausgang - 1 V addiert werden:
5 V + (-1 V) = 4 V.

Wenn der Regler integriert ist, wozu dann der zusätzliche Software-PID-Regler?
[/quote]

Der Stellungsregler des Motors vergleicht ja den Sollwerteingang mit dem Rückgabewert und stellt sicher, dass die Motorstellung eingehalten wird.
Das ist aber unabhängig vom Regelkreis, der die Motorstellung abhängig von der Regelabweichung im Regelkreis bestimmt.

Wäre ein Motor mit 3-Punkt-Schritt-Ansteuerung passender für meine Anwendung?

Danke und Grüße

Michael
   
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2021, 20:14
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Hallo Hugo,

Zitat:Der PID-Regler berechnet aus der Regelabweichung ja eine Stellgröße. Falls aus dem Vergleich zwischen Führungsgröße und Rückführgröße ein negativer Wert herauskommt (e = w - r < 0), muss der PID-Regler nach meinem Verständnis auch negative Werte ausgeben können, um den V-Wert am Sollwerteingang des Motors zu verringern.
Nein.
Wenn dein Motor einen Input von 0V-10V erwartet, dann darf dein Regler eben nicht negative Spannungen ausgeben…

Zitat:urch die Addition des Stellsignals mit dem Rückgabewert soll der richtige V-Wert an den Sollwerteingang des Motors gesendet werden.
Nein, so arbeiten PID-Regler IMHO üblicherweise nicht.
Der PID bekommt als Input den Sollwert und den aktuellen Istwert/Messwert des Systems und berechnet daraus das Stellsignal. Man addiert nicht noch hinterher den Stellwert auf den Messwert…

Zitat:Bsp.: Der Motor steht im Ausgangszustand auf 50 % (Rückgabewert 5 V). Im Regelkreis ergibt sich, dass der Motor die Luftklappe etwas schließen muss (Motorstellung 40 % - Rückgabewert 4 V notwendig). Um in LabView den Motor nun mit 4 V anzusteuern, soll der Rückgabewert 5 V mit dem Reglerausgang - 1 V addiert werden:
5 V + (-1 V) = 4 V.
Das macht der PID aber schon intern und nicht du selbst hinterher noch(mal)…

Zu den Bildern:
1. Ganz generell: Bilder von LabVIEW-Code ist so, als wenn man ein Foto seines Autos zur Werkstatt bringt, um das Auto reparieren zu lassen - also grober Blödsinn. Bitte echten Code anhängen und nicht nur Bilder von Code…
2. Wozu die unnötigen Dinge im VI? Warum einen Cluster unbundlen und gleich wieder bundeln?
3. Bist du dir sicher, dass du einen Median-Wert im Chart darstellen willst anstatt eines Mean-Wertes?
4. Stell doch den Arbeitsbereich des PID einfach auf 0-10(V) und passe den P-Gain entsprechend an! (Vereinfacht ergibt sich der P-Gain als d(Messgröße)/d(Stellgröße)!)
5. Der "aktuelle Rückgabewert in V" geht an den Istwert-Input des PID - evtl. nur skaliert nach Einheit g, damit der Sollwert ebenfalls in "g" angegeben werden kann.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2021, 21:30
Beitrag #5

hugo2w Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2021

2019
-
kA



RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Hallo Gerd,

Zitat:2. Wozu die unnötigen Dinge im VI? Warum einen Cluster unbundlen und gleich wieder bundeln?

Das dient nur dazu, damit man auch im Blockschaltbild erkennt, welche Werte genau im PID verwendet werden.
Aber Du hast recht, sie erfüllen keine Funktion im Programm, also werden nicht unbedingt benötigt.

Zitat:3. Bist du dir sicher, dass du einen Median-Wert im Chart darstellen willst anstatt eines Mean-Wertes?

Danke für den Hinweis. Eigentlich möchte ich den mean-Wert darstellen.

Zitat:4. (Vereinfacht ergibt sich der P-Gain als d(Messgröße)/d(Stellgröße)!)
Mir ist das nicht klar. Kannst Du dazu ein Beispiel geben? Entspricht das der Anfangssteigung der Sprungantwort? (sh. Bild anbei) oder bin ich da auf dem falschen Weg.

Grüße

Hugo

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2021, 10:00
Beitrag #6

MScz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: May 2020

2019,2020
2014
DE_EN



RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler

Akzeptierte Lösung

Hallo hugo2w,

die Regler VIs sind anders Aufgebaut als man das zu erst aus den Blockschaltbildern der Regelungstechnik denken würde.
In die VIs, steckst du deinen Soll-Wert, deine Ist-Wert, deine Regelparameter und deine min/max Werte für das Stellglied.
Als Ausgang erhältst du dann deine Stellgröße, die du direkt auf das Stellglied geben kannst. Fertig.

Du solltest der Strecke aber etwas Zeit geben, die Werte auch anzunehmen. Wenn du die Berechnung so schnell wie möglich ausführst, wirst du keine brauchbare Regelung erhalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2021, 11:12
Beitrag #7

hugo2w Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2021

2019
-
kA



RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
(20.01.2021 10:00 )MScz schrieb:  Hallo hugo2w,

die Regler VIs sind anders Aufgebaut als man das zu erst aus den Blockschaltbildern der Regelungstechnik denken würde.
In die VIs, steckst du deinen Soll-Wert, deine Ist-Wert, deine Regelparameter und deine min/max Werte für das Stellglied.
Als Ausgang erhältst du dann deine Stellgröße, die du direkt auf das Stellglied geben kannst. Fertig.

Du solltest der Strecke aber etwas Zeit geben, die Werte auch anzunehmen. Wenn du die Berechnung so schnell wie möglich ausführst, wirst du keine brauchbare Regelung erhalten.

Danke für diese hilfreiche Info.
- Geht es hier um die Aufrufintervalle vom PID-VI dt (s) oder des gesamten Regelkreises (while-Schleife)?
- Was sind typische Werte, mit denen man die Berechnung durchführen kann?

Sh. hier mein angepasstes LabView-Programm:

19.0 .vi  Regler_TAS_Aspiration_Maschine_V6_2019.vi (Größe: 14,21 KB / Downloads: 210)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2021, 14:29
Beitrag #8

MScz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: May 2020

2019,2020
2014
DE_EN



RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Zu 1.:
Ich meinte das Aufruf-Intervall des Regler und das setzen der Stellgröße. Da deine while-loop aber gerade nur aus dem Regler besteht, macht das hier gerade keinen Unterschied.
Zu 2.:
Einfach ausprobieren. Habe bei einem Prüfstand für die Erwärmungsmessung (Regelgröße ist Temperatur, Stellgröße ist die Last am Motor) 5 Sekunden als Zykluszeit, aber der Prozess ist auch sehr sehr langsam.
Wenn du das berechnen möchtest, musst du dich wahrscheinlich mehr mit der digitalen Regelung auseinander setzen.

Gruß Max
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2021, 07:16 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2021 07:18 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
Hallo Hugo,

dein VI könnte auch so aussehen:
   

Anmerkungen:
LabVIEW kann auch mit Clustern rechnen, wenn sie nur numerische Elemente enthalten.
Wenn man so lange Labels an FP-Elementen verwendet, sollte man darüber nachdenken, kürzere Labels zu verwenden und stattdessen die Caption auf dem FP anzuzeigen…
In UI-Schleifen gehört eine Wartezeit, entweder explizit wie im Snippet oder implizit durch die aufgerufenen Funktionen…
Den Stopp-Button außerhalb der Schleife zu platzieren, ist ein grober Anfängerfehler. Bitte immer "THINK DATAFLOW!" denken und (laut) aufsagen…

Zitat:die Regler VIs sind anders Aufgebaut als man das zu erst aus den Blockschaltbildern der Regelungstechnik denken würde.
Nicht wirklich: auch in Hugos Blockschaltbildern wird nirgends der Stellwert mit dem Istwert addiert - trotzdem wollte Hugo so etwas programmieren!

Abgesehen davon: LabVIEW bringt jede Menge BeispielVIs mit, u.a. auch für den PID-Regler. Dort dann auch mit simulierter "Plant", um "echtes" Regelverhalten anzuzeigen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2021, 13:58
Beitrag #10

MScz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: May 2020

2019,2020
2014
DE_EN



RE: Ansteuerung Servomotor mit Stellungsregler mit PID-Regler
(21.01.2021 07:16 )GerdW schrieb:  
Zitat:die Regler VIs sind anders Aufgebaut als man das zu erst aus den Blockschaltbildern der Regelungstechnik denken würde.
Nicht wirklich: auch in Hugos Blockschaltbildern wird nirgends der Stellwert mit dem Istwert addiert - trotzdem wollte Hugo so etwas programmieren!

Wenn man auf ein Blockschaltbild für den Regler schaut, dann hat dieser einen Eingang und einen Ausgang. Für den Eingang musst du die Regeldifferenz bilden und das Ausgangssignal muss man ggf. auch noch mal normieren. Im Blockschaltbild hat man dafür auch noch mal zwei Elemente extra. Der LabVIEW PID Regler hat die Sachen schon drin und da hast du auch schon deine Unterschied. Das muss einem erst mal klar werden. Hugo war es offensichtlich nicht bewusst, aber jetzt hat er es ja verstanden. (Siehe letztes VI von ihm).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  ServoMotor per LabView Steuern LeonNY 9 5.501 13.01.2022 14:39
Letzter Beitrag: LeonNY
  Ansteuerung zweier Heizer mittels PID-Regler Christoph1993 2 3.378 25.11.2018 19:53
Letzter Beitrag: Christoph1993
  PID Regler belu003 14 25.744 12.01.2015 14:41
Letzter Beitrag: se
  PID-Regler itsme87 12 21.168 05.10.2011 11:50
Letzter Beitrag: itsme87
  PID-Regler jooh 3 7.055 14.06.2011 15:22
Letzter Beitrag: jooh
  PID-Regler-VI Aleph1 3 9.667 16.09.2010 08:40
Letzter Beitrag: Aleph1

Gehe zu: