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
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
Eine verrückte Idee ist besser als keine
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 von Rage_Empire
Gruß Klaus
Eine verrückte Idee ist besser als keine
ja schon, aber ein i-regler mit ops hat ja auch ne zeitkonstante. Vieleicht stehe ich etwas aufm schlauch???
Lesezeichen