PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PID Regler. Kaufen oder selbst programmieren?



vladoo
16.04.2008, 14:14
Hallo Leute,

ich brauche für einen PID-Regler für eine Positionsregelung.
D.h. ein Sensor nimmt die aktuelle Position auf. Die Regelabweichung
wird als analoges Signal (Spannung oder Strom) in den Regler gegeben.
Der Regler soll analog ein Stellsignal an eine Ansteuerelektronik
ausgeben.

Ich habe Wissen über die Theorie der Regelungstechnik, habe jedoch noch
nie einen realen Regler ausgelegt oder gekauft.

Kann mir jemand sagen, ob es einen Hersteller solcher Regler gibt. Oder
die Alternative ist, dass ich einen Microcontroller nehme und selbst
programmiere. Kennt jemand eine günstige methode, um sowas zu
realisieren?

Ich habe schon im Netz gesucht, doch finde nur Anwendungsspezifische
Lösungen wie z.B. Regler für Temperatur oder Hydraulik.

Hoffe jemand kann mir helfen.

Otti20vt
16.04.2008, 15:02
Hallo Leute,

ich brauche für einen PID-Regler für eine Positionsregelung.
D.h. ein Sensor nimmt die aktuelle Position auf. Die Regelabweichung
wird als analoges Signal (Spannung oder Strom) in den Regler gegeben.
Der Regler soll analog ein Stellsignal an eine Ansteuerelektronik
ausgeben.

Ich habe Wissen über die Theorie der Regelungstechnik, habe jedoch noch
nie einen realen Regler ausgelegt oder gekauft.

Kann mir jemand sagen, ob es einen Hersteller solcher Regler gibt. Oder
die Alternative ist, dass ich einen Microcontroller nehme und selbst
programmiere. Kennt jemand eine günstige methode, um sowas zu
realisieren?

Ich habe schon im Netz gesucht, doch finde nur Anwendungsspezifische
Lösungen wie z.B. Regler für Temperatur oder Hydraulik.

Hoffe jemand kann mir helfen.

Wenn du nur 1 eingangssignal und 1x ausgangssignal hast, dann kannst du das Easy einen PID Regler mit einem Mega8 machen. Dann hast du auch die möglichkeit den Regler anzupassen ;) den es ist ja ein P I D.

Um was geht es den genau?

jeffrey
16.04.2008, 15:38
hi,
kannst ja auch nen temp regler nehmen, ist dem regler doch egal, woher das eingangssignal kommt. kannst ja mal bei pma und jumo gucken, die haben verschiedene regler.
selber programmieren ist natürlich am flexibelsten, dann muss es ja auch net unbedingt nur pid sein, sondern kannst noch was mit kaskade, oder ähnlichem machen, je nachdem was du halt als eingangssignal zur verfügung hast.
mgfg jeffrey

vladoo
16.04.2008, 16:06
Das Problem ist, die Schnelligkeit meiner Anwendung.
Verfahrgeschwindigkeit von ca. 0,4 m/s mit hocher Beschleunigung.

Es geht um eine Positionierregelung.
Das Gerät das ich Regeln will, wird mit 24 V versorgt. Durch mehr oder weniger Strom fährt ein Stößel vorne raus oder rein. Je nach Strom.
Die Position des Stößels wird erfasst. Die Position ist die Regelgröße.

Demnach habe ich Sensorik, die die Position erfasst, brauche einen Regler, der die Abweichung vom Sollwert ausregelt und ein Stellsignal an eine Ansteuerelektronik gibt, die dann mehr oder weniger Strom liefert.

Mein Sensor liefert entweder 0-10 V oder 4 - 20 mA analog Werte.

Ich ürde einen Regler schon kaufen, bei dem man die PID Anteile einstellen kann. Die sind jedoch zu tuer oder? Sind Temperaturregler überhaupt für schnelle Anwendungen ausgelegt?

Kann ich mir den Regler selbst mit dem genannten Mega8 programmieren? Ist der für meine Anwendung geeignet? Vielleicht alternativen?

vladoo
16.04.2008, 16:07
Das Problem ist, die Schnelligkeit meiner Anwendung.
Verfahrgeschwindigkeit von ca. 0,4 m/s mit hocher Beschleunigung.

Es geht um eine Positionierregelung.
Das Gerät das ich Regeln will, wird mit 24 V versorgt. Durch mehr oder weniger Strom fährt ein Stößel vorne raus oder rein. Je nach Strom.
Die Position des Stößels wird erfasst. Die Position ist die Regelgröße.

Demnach habe ich Sensorik, die die Position erfasst, brauche einen Regler, der die Abweichung vom Sollwert ausregelt und ein Stellsignal an eine Ansteuerelektronik gibt, die dann mehr oder weniger Strom liefert.

Mein Sensor liefert entweder 0-10 V oder 4 - 20 mA analog Werte.

Ich ürde einen Regler schon kaufen, bei dem man die PID Anteile einstellen kann. Die sind jedoch zu tuer oder? Sind Temperaturregler überhaupt für schnelle Anwendungen ausgelegt?

Kann ich mir den Regler selbst mit dem genannten Mega8 programmieren? Ist der für meine Anwendung geeignet? Vielleicht Alternativen?

Besserwessi
16.04.2008, 18:27
Die Temperaturregler werden wohl kaum so schnell sein, zumindest die meisten. Die 0,4 m/s heißen zwar noch nicht viel, es kommt auf die Frequenzen an , nicht die lineare geschwindigkeit (ein Schiff kann schneller sein, ist aber trotzdem ein eher träges System). Wenn man mal als hohe geschwindigkeit 10 m/s^2 annimt, hätten wir Frequenzen von etwa 25 Hz.
Das sollte noch mit einem normalen Controller (z.B. Mega 8) gehen. Die Wesentliche Einschränkung ist der AD Wandler, der interne hat nur 10 bit. Das ist ohne externen Wandler also eine eher niedrige Auflösung. Besonders kompiziert sind ist ein PID Regler nicht, das schwierige ist das finden der Regelparameter, und das muß man auch bei einem gekauften Regler machen (es sei denn man hat einen mit Autotune).

Wenn es ganz schnell gehen soll gibt es schnelle Regler auch zu kaufen (z.B. für Raster Mikroskopie, bis in den Megahertzbereich), aber oft auch entsprechend teuer.

Otti20vt
17.04.2008, 10:23
Meiner meinung nach kann man das mit einem Mega 8 100% ig lösen. Die geschwindigkeit ist kein problem, eher die richtige einstellung des PID Reglers.

Ich hab mit den mega8 schon ein paar PID regler gemacht, von Netzteilen bis hin zu einem Standgasregler von einem Modelauto, und wenn der Mega8 nur die eine aufgabe hat dann klappt das ohne Probleme. Es ist nur eine frage der Paramter...

Rambodischie
17.04.2008, 18:27
Hi

Wie kann man mit eine Atmega denn ein PID-Regler programmieren??

Mfg
Rambodischien

vladoo
18.04.2008, 09:58
Ja natürlich habt ihr Recht. Es kommt auf die Frequenz an. Ich meinte damit nur, dass ich bei eier Positioniergenauigkeit von 0,1 mm schon eine Recht hohe Abtastfrequenz brauche um die Ist-osition schnell genug an den Regler zu übergeben. Diese Abtastfrequenz macht mein Sensor.

Ich habe schon mal geschaut. Die fertigen Regler kosten n haufen Geld. Ich würde schon gerne einen selber Programmieren.

Was brauche ich denn für den Mega8 noch. Der Chip muss doch aufn Board oder? Gibt es fertige Boards zu kaufen? Am besten mit analogen Ein- und Ausgängen. Kann ich beim Mega8 auch Rampen realisieren?

Besserwessi
18.04.2008, 11:00
Zum controller wird noch eine Board benötigt. Einen einfachen analogen eingang hat der Mega8, wenn es um hohe Auflösung (relativ zum Messbereich) geht wird ds eventuell nicht reichen. Die genannten 0,1 mm würden nur über einen Bereich von maximal 10 cm gehen (besser nur 5 cm). Dann muß da noch die ansterung des Motors drauf sein. Ein analogsignal allein wird da noch nicht reichen, man braucht auch noch eine Leistungsstufe. Oft wird das per PWM und Motortreiber IC gemacht, manchmal aber auch analog.

vladoo
18.04.2008, 11:38
Mein gesamter Messbereich ist 27 mm. Ich möchte auf genau 20 mm vorfahren und dort verbleiben.

Kannst mir vielleicht ein Board empfehlen? Ich habe den hier gefunden
http://shop.embedded-projects.net/product_info.php?info=p67_AVR-Starterkit--inkl--USBprog--Netzteil-und-ATMega-.html

Da ist alels dabei was ich zum Start brauche. Ist der in Ordnung für meine Aufgabe? Mein Sensor liefert analog-Signal.

Besserwessi
18.04.2008, 13:19
Das Board sollte das wesentliche an Teile drauf haben. Auch ein Porgrammierer ist dabei. Es ist nicht unbedingt die günstigste Lösung.
Es muß auch nicht unbedingt ein Mega8 sein. Mögliche andere Controller wären auch Mega16, Mega32, Mega88, Mega168 eventuell auch Mega48 oder sogar ein Tiny26 sollte noch reichen.

Ein Programmierung von rampen ist möglich.

Der Mega8 und die meisten anderen AVR Controller haben keinen analogen Ausgang. Es gibt nur einen PWM Ausgang, den man mit einem Filter zum Analogausgang machen kann, allerdings nicht besonders schnell, es könnte aber gerade noch reichen. Der Ausgang ist dann aber 0..5 V.

Als Analogsignal kann man ganz gut mit 0..5 V Arbeiten, man bräuchte also am Eingang noch einen Spannungsteiler.