LabVIEWForum.de
Temperaturregelung über RS232 und PWM - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Temperaturregelung über RS232 und PWM (/Thread-Temperaturregelung-ueber-RS232-und-PWM)

Seiten: 1 2 3 4


RE: Temperaturregelung über RS232 und PWM - GerdW - 04.09.2014 10:51

Hallo tega,

Zitat:Der Aktuelle PWM Generator (das gesamte Programm) läuft zwar, verhält sich aber nicht so wie die programmierte Version (C/C++) auf einem Mikrocontroller.
Die PWM Grundfrequenz ist 4Hz damit arbeite ich.
Lt. deinem VI ist "Frequenz 2" = Null. Die Samplerate deines PWM-Signals ist 10kHz.

Zitat:Zu den 4Hz: Eigentlich sollte, laut NI, der PWM Generator die Funktionalität haben auch mit variablen Frequenzen zu arbeiten.
Letztendlich bedeutet 0,25Hz ja nur, dass ich im Gegensatz zu 4Hz einen längeren High aber auch Low Verlauf habe.
Eine Grundfrequenz von 0.25Hz bedeutet, dass die PWM 4s benötigt, um einen DutyCycle komplett auszugeben. Du dagegen unterbrichst die Ausgabe nach 250ms schon wieder (zumindest ist das der Plan), um einen neuen Duty-Wert auszugeben. Und wunderst dich, warum da was durcheinanderkommt…

- Ich sehe in deiner SIM-Loop keine zeitliche Taktung. (Allerdings habe ich das Toolkit nicht installiert, es könnte sein, dass diese Info deshalb nicht angezeigt wird.) Wie soll der Regler also korrekt laufen, wenn ihm die Zeitinformation fehlt?
- Ich sehe in der AO-Loop keine zeitliche Taktung. Wie soll die PWM-Ausgabe ordentlich funktionieren, wenn die Taktung fehlt?
- Das Problem mit den Null-Werten in der RS232-Schleife ist immer noch vorhanden…
- Du arbeitest immer noch mit BytesAtPort, und leider nicht korrekt…


RE: Temperaturregelung über RS232 und PWM - tegabluexx - 04.09.2014 11:35

Also einmal mein Update:

-Die Zeit in der SIM-Loop wird, laut NI, in dem Menü oben links eingestellt. Dort habe ich eine Laufzeit von 250ms eingestellt und getestet.
-AO-Loop hat die Taktung von 250ms bekommen.
-Ich schreibe netzt nur noch Werte die größer Null sind.
-Feste Frequenz 4Hz.

Zum letzten Punkt:
- Du arbeitest immer noch mit BytesAtPort, und leider nicht korrekt…

diesen Aufbau habe ich aus dem Netz. Könnt ihr mir vielleicht sagen was falsch ist...


RE: Temperaturregelung über RS232 und PWM - GerdW - 04.09.2014 12:08

Hallo tega,

Zitat:Ich schreibe netzt nur noch Werte die größer Null sind.
Einen String auf größer "0" zu vergleichen sieht mir sehr dubios aus…

Zitat:Könnt ihr mir vielleicht sagen was falsch ist...
Du sendest einen Befehl ans Gerät und fragst nur µs später ab, wie groß die Antwort des Gerätes ist. So schnell hat dieses aber noch nicht einmal den Befehl empfangen! Da du ja mit TermChar arbeitest, brauchst du kein BytesAtPort!
Bei deinem aktuellen Stand liest du so immer die Antwort der vorhergehenden Abfrage aus…

Siehe Anhang. Beachte bitte die vielen kleinen subtilen Änderungen, die ich an der RS232-Schleife vorgenommen habe…

Kleines Update mit Kommentaren im VI…


RE: Temperaturregelung über RS232 und PWM - tegabluexx - 04.09.2014 13:01

Hallo Gerd,

danke für deine Änderungen!

Ich ändere das Programm und werde dann nochmal eine Messung machen.