Hallöchen! Bin gerade dabei mit dem o.g. Teilchen eine Stromregelung zu Programmieren. Ich ecke an einigen Punkten an, doch die beschreibe ich kurz. Es soll mit Hilfe einer Hystereseregelung (2-Punkt-Regelung) ein Strom eines Umrichters "geregelt" werden. Hierzu soll in der DSP ein Sinus (Sollwert) mit 50 Hz vorgegeben werden. Mit dem ADC soll dann der Ist-Wert gemessen werden und die entsprechenden Ventile (4 Stück) geschalten werden. Später sollen die 4 Ventile auch noch mit Totzeiten versehen werden können. Die Schaltfrequenz soll am Ende ca. 60 kHz erreichen. Nun ist die Frage wie so etwas realisiert wird. 1. Sollen die Ventile durch schalten von GPIOs angesteuert werden, oder sollen 4 PWMs genutz werden? 2. Soll der interne Sollwert/Sinus mit Hilfe einer Sinus-Tabelle realisiert werden, oder mit Hilfe der IQMath-Bibliothek? 3. Soll der ADC mit oder ohne DMA arbeiten? 4. Soll ein ein RTOS/Bios verwendet werden, oder genügt es durch (Timer)Interrups die Routinen nacheinander auszuführen? Wäre schön wenn mir jemand helfen würde, um da ein wenig Licht ins Dunkel zu bringen. Möchte nicht anfangen zu programmieren, um nach einer Woche feststellen zu müssen, das es so nicht funktioniert. Viele Grüße Max
Ein Zweipunktregler braucht keine PWM, die Ansteuerung wird über GPIOs gemacht. Vermutlich ist es schneller, die Werte in einer Tabelle zu halten, wenn sich der Sinus aber dynamisch verändern soll, kommt man wohl um eine Berechnung in Echtzeit nicht herum. Wozu sollte man ein DMA brauchen? Die Strommesswerte sollen ja nicht gespeichert werden. Ein Zeipunktregler beachtet ja immer nur den aktuellen Messwert. Also nimmt man einen Timer, der regelmäßig den ADC triggert und im ADC_ready_interrupt wertet man den Messwert aus. Ist dieser größer als der Wert in der Tabelle, dann den GPIO ausschalten, sonst einschalten. Ein Betriebssystem halte ich persönlich nicht für angemessen, was natürlich nicht bedeuten soll, dass es damit nicht möglich ist. Grüße, Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.