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. > > > > Das ist definitiv so korrekt. Aufgrund des Threadingmodells im Betriebssystem ist es aber ohne > Umgehung desselben anders schlecht machbar. > Wie stehts denn bis jetzt um das Timing? Was für Abtastzeiten erreichst Du denn. Wieviel Programm > läuft auf der CC2? > > > Ich kenne Dein Problem nicht. Aber laß mich mal im trüben fischen. > Wie wäre es mit einer Hardwarelösung für den Wandler und einer Steuerspannung 0...5V (0...10V) > aus der CC2. Die Regelung macht die Hardware, die Ausgangsspannung wird gesteuert via > Steuerspannung. > > Gruß krassos