Re: Abtastzeit Digital Regler Kategorie: Programmierung (von opilio - 22.07.2005 9:04) | ||
Als Antwort auf Re: Abtastzeit Digital Regler von krassos - 21.07.2005 23:07 | ||
| ||
> > > > 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 sleep Ta 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 sleep Ta vorbestimmt. > > > > > > Wenn das Stellglied anschlie�end mit sleep pi verstellt wird ist eine Justage > > > der bei (1.) eingesetzten Verzögerung in der Form möglich: sleep (Ta-pi) > > > > > > 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 | ||
Antwort schreiben Antworten: Re: Abtastzeit Digital Regler (von krassos - 22.07.2005 11:02) |