Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > > > > Hallo, > > > > > > > > > > ich bin dabei einen digitalen PI-Regler mit der C-Control II Unit zu erstellen. > > > > > Die Stellgröße berechnet sich wie folgt: > > > > > uk = u(k-1) + kr (1+T/Tn) * regelabweichung - kr * vorherige_ regelabweichung. > > > > > Hierfür ist ein fester Abtasttakt T nötig, kann mir jemand sagen, wie ich diesen am einfachsten > > > > > mit der C-Control realisieren kann? > > > > > > > > > > Danke. > > > > > > > > Hallo, > > > > > > > > ich habe dieses Problem umgangen, indem ich zwei Maßnahmen getroffen habe: > > > > > > > > 1. Mein Abtastzyklus ist lang gegenüber der kompletten Programmumlaufzeit. > > > > Dazu je nach Regelaufgabe zum Beispiel ein <code>sleep Ta</code> einsetzen. > > > > > > > > 2. Die relativ genaue Abtastzeit seit der letzten Abtastung wird bei jedem Aufruf der Regelfunktion > > > > neu berechnet. Dadurch brauche ich diesem Wert nicht genau zu wissen. Er geht aber rel. genau in > > > > die Berechnung ein. > > > > > > > > Die Abtastzeit ist natürlich für die jeweilige Regelaufgabe wichtig, deshalb wird Ta sozusagen > > > > mittels des bei (1.) genannten <code>sleep Ta</code> vorbestimmt. > > > > > > > > Wenn das Stellglied anschließend mit <code>sleep pi</code> verstellt wird ist eine Justage > > > > der bei (1.) eingesetzten Verzögerung in der Form möglich: <code>sleep (Ta-pi)</code> > > > > > > > > In meiner CC2 hab ich derzeit 2 Regler im Einsatz. Einen PID für die Solarkollektorpumpe und einen > > > > PID für einen Mischerantrieb. > > > > > > > > Sollte Dich das interessieren, such mal im Forum nach PID. > > > > > > > > Gruß krassos > > > > > > Hallo, > > > > > > mein PI-Regler soll das PWM-Signal für einen Aufwärtswandler generieren. > > > Daher benötigte ich kurze Abtastzyklen. > > > Ich denke es wäre sinnvoll dies durch eine äußere Beschaltung und dann mit Interrupts zu machen. > > > Jedoch habe ich keine Ahnung wie ich das realisieren kann. Ein anderer Weg wäre ein programmierbaren > > > Timer einzusetzten, dies letzt sich über Ein-/ Ausgabebausteine des Mikrocontrollers realisieren. > > > > > > > Hallo, > > > > ein Wandler über die CC2 gesteuert ist als Beispiel im Buch "MSR mit CC2" zu finden. > > Jedoch lief hier nur der Regelthread und das ganze war schon zeitkritisch. > > Der Regler war ohne aufwändige Berechnungen. In C2 wirst Du hier wohl schnell an Grenzen > > stoßen. > > > > Gruß krassos > > Hallo krassos, > > ich kenne das Beispiel aus dem Buch. Jedoch ist diese Art der Steuerung recht primitiv, da keine wirkliche > Regelung stattfindet, sondern nur mit einer Rampe versucht wird die Ausgangsspannung annährend Konstant > zu halten. Bei nicht zu großen und schnellen Änderungen der Eingangsspannung am Wandler kann dies > eventuell aussreichend sein. Bei mir verändert sich die Eingangsspannung schnell von 24 V auf 10 V. Daher > benötige ich schon einen richtigen Regler. Mein PI-Regler funktioniert ja schon recht gut, nur verwende ich > eine variable Abtastzeit und nicht eine fest, wie es bei quasikontinuierlichen Reglern üblich ist. Die variable > Abtastzeit berechne ich also bei jedem Durchlauf neu gemäß: > T_abtast = system.timer() - T_abtast_alt; > T_abtast_alt = system.timer(); > Bei einer festen Abtastzeit, mit kleinem Jitter, könnte man sich diese Berechnung sparen. > > Gruß opilio