Ja, RC-Glied ist besser, sonst schwingt die Schleife auf jeden Fall. Die Zeitkonstante des RC-Glieds sollte etwa bei 0.2 bis 0.5s liegen, oder gleich die Zeitkonstante der endgültigen Regelstrecke wählen.
Gruss Waste
Druckbare Version
Ja, RC-Glied ist besser, sonst schwingt die Schleife auf jeden Fall. Die Zeitkonstante des RC-Glieds sollte etwa bei 0.2 bis 0.5s liegen, oder gleich die Zeitkonstante der endgültigen Regelstrecke wählen.
Gruss Waste
Hallo Klaus
(bin erst jetzt zum Probieren gekommen)
Zu deinem Beispiel:
Soll_2a = Abweichung * Faktor2
Soll_2a = Soll_2a / 1000
Soll_2 = Soll_2 + Soll_2a
Da komme ich nicht ganz mit
Soll obiges den I-Anteil berrechnen ?
Soweit ich nachgelesen habe, ist der I-Anteil:
Abweichung*Zeit(Differenz)
Und warum hier:
-------------------------------
Soll_3 = Soll_1 + Soll_2
Soll_3 = Soll_3 / 2
-------------------------------
Soll_3 / 2 ?
Hi Roberto,
meine Version hat nichts mit dem Verschiebealgorithmus zu tun, sondern ist die kalssische Berechnugn eines PI - Reglers.
Die Zeilen mit den Variablen Soll_2a sind der I - Anteil - korrekt erkannt. Durch die Integration (Summenbildung mit sich selbst) von Soll_2 wird die steigende Kennlinie erzeugt.
Um einen PI-Regler zu bekommen muss der P-Anteil und der I-Anteil addiert werden.
Die Berechnung mit Soll_3 hatte volgenden Hintergrund.
In Soll_1 ist der P-Anteil im Bereich von 0 - 100% abgelegt.
In Soll_2 ist der I - Anteil im Bereich von 0 - 100% abgelegt.
Nach der Addition muss das Ventil im Bereich von 0 - 200% gestellt werden, was jedoch nicht möglcih ist, da das Ventil schon bei 100% Stellgröße ganz geöffent ist. Aus diesen Grund habe ich dei Summe (Soll_3) durch 2 geteilt.
Der Nachteil (fällt mir leider erst jetzt auf) dieser Berechnug ist, daß ich mir die Parameter für den P und den I - Anteil verbiege.
Gruß Klaus
Hi!
Kleine rechnung zum Tiefpass, für eine Zeitkonstante von 0,25s brauch ich bei einem 0,1microFarad Kondensator einen 25Megaohm Widerstand? Ist der nicht ein bischen Groß? Warum geht den in die Formel garnicht der Strom ein der fließt?
Ich hab jetzt mal mit den Einheiten s, Ohm und Farad gerechnet, gehören ja alles zu den erweiterten SI Einheiten oder?
Gruß Johann!
Hallo farmerjo,
die Formel für die Zeitkonstante ist:
tau = R * C
Da kannst Dir beliebige Kombinationen raussuchen, z.B.
100kOhm und 2,2µF ergeben 0,22s
22kOhm und 10µF ergeben ebenfalls 0,22s
usw.
Es sollten beide für Deinen Einsatz möglich sein.
Wenn Du mir sagst, wie gross der Ausgangswiderstand Deines DA-Wandlers und der Eingangswiderstand des AD-Wandlers ist, dann kann ich Dir genau sagen, welches RC-Glied dazu passt.
Gruss Waste
Ist das die gleiche Formel, wie beim I-Regler (R*C)?
@Rage_Empire
Tut mir leid, ich kenne keine Formel für I-Regler mit R*C. Mag sein, dass bei einem bestimmten I-Regler die Formel auch vorkommt, weil eine Zeitkonstante berechnet wird, dann ist es vermutlich die Gleiche.
Waste
Hey Strecke aufgebaut, tut sich zwar auch was, aber irgendwie noch nicht das richtige. Irgendwie macht der DA-Wandler wieder Ärger und spukt nur 5V aus. Nun ja morgen ist auch noch ein Tag.
Anbei mal der Code, vielleicht hab ich da jetzt auf die Schnelle auch noch ein Bug reingebaut:
So morgen geht es weiter!Code:$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Dim Y As Single
Dim Y1 As Single
Dim Yaus As Integer
Dim Xj0 As Single
Dim Xj1 As Single
Dim Xj2 As Single
Dim M0 As Single
Dim M1 As Single
Dim M2 As Single
Dim Ist As Integer
Dim Soll As Integer
Dim A As Single
Dim B As Integer
Const Q0 = 13.01
Const Q1 = -25.5
Const Q2 = 12.5
Config Portb = Output
Config Timer1 = Timer , Prescale = 8
Enable Interrupts
On Timer1 Zeit
Config Adc = Single , Prescaler = Auto , Reference = Off
Config Pinc.0 = Input 'Istwert
Config Pinc.1 = Input 'Sollwert
Portc.0 = 1
Portc.0 = 1
Start Adc
Xj0 = 0
Xj1 = 0
Xj2 = 0
Y = 0
Timer1 = 55536
Enable Timer1
Portb. = 0
Waitms 1000
Sound Portb.0 , 400 , 450
Do
Ist = Getadc(0)
Soll = Getadc(1)
Loop
Zeit:
Timer1 = 55536
Xj0 = Ist - Soll
Xj0 = Xj0 / 1023
M0 = Q0 * Xj0
M1 = Q1 * Xj1
M2 = Q2 * Xj2
Y = Y1 + M0
Y = Y + M1
Y = Y + M2
'Print Y
Yaus = Y + 128
If Yaus < 1 Then
Yaus = 0
Elseif Yaus > 254 Then
Yaus = 255
End If
Print Yaus
Portb. = Yaus
Xj2 = Xj1
Xj1 = Xj0
Y1 = Y
Y = 0
Return
Gruß Johann!
Hi all,
Nein. Der Spannungsverlauf vom RC-Glied ist eine e-Funktion.Zitat:
Zitat von Rage_Empire
Gruß Klaus
ja schon, aber ein i-regler mit ops hat ja auch ne zeitkonstante. Vieleicht stehe ich etwas aufm schlauch???
Hi Rage_Empire,
rein zur Definition : Bei einem Integrierer wird der Widerstand zwischen dem Eingang und dem Minusanschluss vom OP angeschlossen und der Kondensator zwischen dem Ausgang und dem Minuseingang. Wenn der Pluseingang vom OP auf einem festen Potential liegt, wirkt die Schaltung wie ein Integrierer.
Weil der Widerstand zwischen den Eingängen gegen unendlich geht, ist die Spannugsdifferenz zwischen den Enigängen im ausgeregelten Zustand gleich 0V. Dadurch liegt der Minuseingang des OP auf festem Potential. Wenn der Pluseingang auf Masse liegt, spricht man beim Potential an dem Minuseingang von der 'virtuelen Masse'. Wenn nun die Eingangsspannung z.B. 1V beträgt und der Pluseingang auf Masse liegt, beträgt der Spannungsabfall am Widerstand 1V - mit dem entsprechenden Stromfluss. Durch die Eingänge des OP kann kein Strom fliessen (R gegen unendlich). Aus diesem Grund fliesst ein konstanter Strom in den Kondensator und läd ihn auf.
Mit U = Q/C und Q = I*t lässt sich die Formel U = I*t/C herleiten.
Demnach ist die Spannung direkt proportional zum Strom und der Einwirkungsdauer.
Hier ist noch ein Link zum nachlesen ( http://de.wikipedia.org/wiki/Operati...ker#Integrator )
Grüße Klaus
@Rage_Empire
Ah, jetzt kapier ich erst was Du meinst. Ja, bei einem analogen Integrator mit Operationsverstärker gibt es auch eine Zeitkonstante, die mit R*C berechnet wird.
Ich bin nicht darauf gekommen, weil es bisher nur um digitale Regler ging. Da bin ich auf dem Schlauch gestanden.
Gruss Waste
Ja, die meinte ich. Jedoch ist da kein R (bei meiner Schaltung jedenfalls nur rückkopplung durch c), deswegen hats mich etwas gewundert. Standen wohl beide aufm schlauch ;-)
Hi all,
@Rage_Empire : Und das hat funktioniert ?
Gruß Klaus
Ja, funktionieren tuts. Hab aber im moment nur nen analogen I-Regler am laufen. Will jetzt die Regelung aus OPs durch nen µC ersetzen und dann den Regler mit P und evtl. D ausstatten.
Der analoge I-Regler regelt an sich sehr gut. nur bei schnellen schwankungen und spitzen ist er halt zu träge.
Klar, ist auch nen i-Regler. Er läuft aber wesentlich besser als erwartet. Soweit, so gut.
Hab jetzt nur Problem die Werte des I- Reglers in die Software zu setzen. Sozusagen Problem mit der übersetzung von analog auf digital.
Der analoge I-regler hat an den eingängen jeweils 10k-widerstände. Am Ausgang ist ebenfalls ein 10K. Nach dem 10K am Ausgang des OPs hängt der Kondensator mit 2µ2 (als "Rückkopplung" -> Integrierer) direkt an den -Eingang.
Wie und was sind nun die Werte für den µC?
Das ist nun mein Problem!
Gibt es da auch eine Zeichnung oder Bild? Notfalls als ascii-Zeichnung im Code-Fenster, dann wären wir uns sicherer mit einer Aussage. Vermutlich ist es der 10k Widerstand am Eingang. Womöglich ist es gar ein PI-Regler?
Wenn die Zeitkonstante Ti des Integrators bekannt ist, dann kann Ki folgendermassen berechnet werden:
Ki = 1/Ti
Die weitere Vorgehensweise dann hier nachlesen:
https://www.roboternetz.de/phpBB2/ze...hlight=#109170
Gruss Waste
Sieht im Moment so aus:
Na, da isser ja! :)
Es ist der 10k am minus-Eingang des OP.
Damit ist die Zeitkonstante Ti = 10k*2.2µ = 0.022s
Ki = 1/0.022 = 45
Was der 10k am Ausgang des OP macht, ist mir nicht so recht klar. Vielleicht eine Begrenzung? Aber warum?
Weitere Schaltungsteile davor oder dahinter könnten noch eine Verstärkung oder Dämpfung bewirken, das müsste auch berücksichtigt werden.
Waste
Hm, das gebilde sieht insgesammt komplex aus. Naja, habe auch viel zeit mit versuche verbracht ;-)
Der Teil vor den 10k Widerständen ist noch von Interesse. Je nachdem wo eingespeist wird, ist es ein I- oder PI-Regler.
Waste
Warum das? -Eingang Bekommt einen Bezug mit nem Poti. +Eingang kommt das gemessene Signal, auf das geregelt wird.
Tja, damit ist es ein PI-Regler!
Kommst Du selber darauf, warum das so ist?
Wenn nicht, dann wäre ein Studium doch nicht so schlecht.
Keine Bange, ich helfe schon noch weiter, falls Du es nicht selbst schaffst. :wink:Zitat:
Zitat von Rage_Empire
Gruss Waste
@waste:Habe ja auch keine Zeitangabe gemacht. Wenn ich aber die Zeit für ein studium und schule rechne die ich übergangen habe, bin ich im mom. immernoch schneller zum Ziel gekommen ;-)
Plomp gesagt: Es ist wegen des Widerstands am ausgang vom OP zum C ein PI-Regler, Richtig?
Nein, durch die Ansteuerung auf den Plus-Eingang. Ein nichtinventierender Verstärker mit OPs hat immer eine Verstärkung von mindestens eins. Das gilt auch für den Integrator. In Deinem Fall ist es also ein PI-Regler mit:
kp = 1 und ki = 45
Wenn es noch nicht klar ist, dann sag Bescheid.
Gruss Waste
Oh, jetzt hast mich erwischt ;-)
Hm, dann wurde es zufällig ein PI- Regler. Klar ist mir das noch nicht so ganz. Stehe auch mit analog etwas auf kriegsfuß :-D
Hi!
Hab meinen Digitalen PID-Regler ans laufen bekommen. Nachdem ich den Kreis über ein RC-Glied geschlossen haben funktioniert das ganz gut. Hab mir mal ein 2 Kanalozsi ausgeliehen und die angehängte aufnahme gemacht. Der weiße Graph ist der Regler der andere der Sollwert.
Was an dem Regler auch ganz angenehm ist, dass er mit der eingebauten Ausgabebegrenzung nicht mal mehr Überlaufen kann wenn der voll ausgesteuert ist. Ich werd mich die Tage mal daran machen das ganze auf ein Board unterzubringen. Die Abweichung am 5V Ende koomt daher das doch ein paar mV im DA-Wandler hängen bleiben. Ansonsten funktioniert der echt gut. Ist es vielleicht empfehlenswert einen Extra Chip als DA-Wandler zu nehmen als so ein R/2R Netzwerk?
Gruß Johann!
Hab hier ein Prog gefunden, vieleicht intressierts euch ja:
http://www.auto.tuwien.ac.at/~jlukasse/project.htm
Hallo Rage_Empire,
wo kann man das Programm runterladen?
Auf der Seite finde ich nichts.
mfg
AVRWalli
Wenn du oben auf Downloads gehst müsstest du es Downloaden können. Ist sogar ne Deutsche PDF als Anleitung verfügbar.