mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Stromregelung mit TMS320F28335


Autor: Max0804 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Max0804 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dankeschön Peter!
Klare Antwort! ;)


Viele Grüße
Max

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.