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???