Pulsweitenmodulation

Hallo Zusammen,

bin neu hier in eurem Forum …, wollte mal fragen ob mir jemand helfen könnte eine Pulsweitenmodulation zu programmieren mit codesys32 V2.3.

Ich muss einen Heizungsvorlauf mit einem Digitalventil über diese sogenannte Pulsweitenmodulation programmieren leider weis ich nicht genau wie ich es angehen könnte.

Vielen Dank für eure Hilfe

Hallo patrickm,

herzlich Willkommen hier im Forum. Erzaehle doch mal, was Du denn schon alles hast, und wieso Du mit PWM anfangen willst, wo es doch erstmal einfachere Dinge zu tun gibt? Oder benoetigst Du die PWM Regelung beruflich?

Ich glaube mit CoDeSys wird das hier wohl nix…

Hier wird man dir bestimmt besser helfen können:
http://forum-en.3s-software.com/

paresy

Zuerst Danke für eure schnelle Antwort,

Wenn es möglich wäre würde ich geren zuerst etwas anderes machen, leider brauche ich es eben Beruflich und wie immer schon gestern…

Mich hätte eigentlich Interressiert wie man eine Pulsweitenmodulation programmiert, bzw. wie die Vorgehensweise ist.

Danke

Hallo patrick und willkommen im Forum.

Ich würde mir einen absoluten Nullpunkt (0V) und einen absoluten Maximalpunkt (5V) suchen. Dann brauchst du noch ein Zeitfenster. Wenn du vorher nicht weisst wie groß dieses sein muss (ist von der zu steuernden Hardware abhängig) dann mach es variabel und spiel damit rum. Je kleiner das Fenster desto besser.

Wenn du nun 50% geregelt haben willst schaltest du die 5V für 50% des variablen Zeitfensters ein und den Rest des Zeitfensters aus. Mit 20, 30 und 70% verfährst du genauso. Dieser Vorgang muss in einer Art Endlosschleife laufen.

Zur Kontrolle kannst du einen Elko (Wert ist abhängig vom gewählten Zeitfenster) an die nun pulsierende Spannung hängen. Wenn du alles richtig gemacht hast sollte sich in etwa eine (unsaubere) Effektiv-Gleichspannung (am Scop anschauen!) in Höhe deines eingestellten Prozentwertes von der Maximalspannung, also ca 2,5V (am Digi anschauen!), einstellen.

Gruß,

Toni
(der jetzt nur mal geraten hat)

Codesys für welches System ?

Hallo Toni,

Danke für deine Antwort,
Also ich habe nicht alles so ganz verstanden.
Kurz noch mal Zusammengefasst, ich muss über einen Sollwert(Welcher am einstellbar ist jederzeit) einen Heizungsvorlauf regeln. Mit einem Ventil kann ich den VL nur ein ausschalten. Jetzt aber müsste ich doch je nach Vorlauftempertaur diese Zeitfenster immer wieder neu berechnen … oder und dies in eine Formel packen welche ich als code dann eintippen kann in meinen PLC-Wago

Gruß
Patrick

Nein Das Zeitfenster bleibt, wenn du einmal einen passenden Wert gefunden hast, gleich. Regeln tust du mit den Prozenten.

PLC sagt mir nix… Aber PWM ist doch ein gängiges Format. Gibts da nix fertiges? Ne Hardware vielleicht?

Toni

Das gibts es doch alles fertig in der Bibliotheken. brauchst nur noch die Werte dranschreiben und gut. Einfacher gehts doch nicht.

Programmable Logic Controller
In unserem Sprachbereich sagt man auch SPS dazu…

Gruß

Hallo patrick,

ein Vorlauf wird normalerweise gar nicht geregelt (msr_junky - berichtige mich), sondern man regelt den Ruecklauf. Und dieser wird doch mit einem Stellventil geregelt, entweder 3-Punkt oder mittels 1…10Volt stetig. Oder habe ich Dich jetzt missverstanden?

Hi Torro,

klar wird der Vorlauf geregelt. Dazu benötigt man ein Dreiwegeventil, welches dann das kalte Rücklaufwasser in den Vorlauf beimischt bis der Istwert den Sollwert erreicht hat. Dies kannst du mit einer Dreipunktansteuerung oder besser mit 0-10V Ansteuerung machen (stetig).
Bei deiner Heizung ist das etwas anderst, du hast ein Zweiwegeventil im Rücklauf sitzen, hier wird das ganze über die Wassermenge geregelt :wink:

Gruß
Thomas

Hallo Thomas,

wusste ich doch, dass Du Dich zu Wort meldest :stuck_out_tongue: Aber die Technik ist trotzdem die gleiche.

Hallo leute,
Danke für eure Hilfe muss man auch mal sagen.
Also ich weiss bis jetzt nur dass ich den VL regeln muss.
Eigentlich war meine Ursprungsfrage wie man sich die Formel zusammenstellt um sie dann in der SPS in einen Baustein zusammenzufügen.

Weiss von euch vielleicht jemand wo man einen Quellcode bekommen könnte.

Gruß Patrick

Man nehme einen Zähler der im festen Zeitraster zählt- sagen wir mal immer von 0-1000 .

Dann wird der Reglerausgangswert (der auch im bereich von 0-1000 liegen sollte) damit verglichen.

Bei einem Zählerwert < Reglerausgang wird der Ausgang auf 0 gesetzt, bei einem Zählerwert > Reglerausgang auf 1.

Fertig ist deine Variable Pulslänge bei fester Frequenz (PWM).

Wichtigt ist das feste Zeitraster des Zählers, was aber je nach anwendung verschieden ist…

Gruß,
Thorsten.

Schau doch mal bei Wago nach. Es gibt da sicherlich eine Bibliothek, die einen entsprechenden Funktionsblock für PWM zur Verfügung stellt. Ansonsten kann ich auch auf die oscat Bibliothek verweisen, die auch oft passendes hat. Der dritte Tipp ist, wie oben schon genannt, das 3s Forum. Da sind genug Leute die auch zur Lösung auf der Wago Tipps wissen oder schon direkte eine Bibliotek bieten können.

bei OSCAT der „Open Source Community for Automation Technology“ www.oscat.de gibt es eine LIB. In dieser ist u.a. ein Funktionsblock für Pulsweitenmodulation (PWN_DC) verfügbar, durch Variablen kann die Frequenz und das Tastverhältnis 0 … 1 beinflusst werden.

Ich hoffe das wird jetzt nicht zu off-topic.
Ich beschäftige mich erst seit kurzem mit dem 750-841 und habe mich gefragt, ob es nicht auch mit dem Digitalausgang 750-502 möglich ist einen PWM-Ausgang zu programmieren. Somit wäre auch ein günstiges Dimmen möglich. Laut Datenblatt kann der Ausgang mit bis zu 5 kHz schalten. Oder würde das den 750-841 zu viel Rechenleistung kosten, da die PWM in Software abgebildet werden müßte? Wie bekäme man die 24V auf 220V?

Grüße
Cali

Wie bekäme man die 24V auf 220V

Mit PWM ??? Niemals. (Oder du fangst an mit IGBT’s -> frequenz-steuerung)
Was möchtest du wohl dimmen ? Da gibt es doch fasen an- oder abschnitt dimmer die fuer 220V geeignet sind.

@GGGss: Ich will nicht mittels PWM die 24 V auf 220 V transformieren. Die Frage war ob es sinnvoll ist den Digitalausgang als PWM zu mißbrauchen, oder ob das zuviel Rechenleistung beansprucht. Ich weiß nicht was in der WAGO 750-841 für Komponenten verbaut sind… Die zweite Frage wäre dann wenn dies sinnvoll ist wie man die 24V auf 220V ohne Relais schalten kann. Etwas auf Hutschine wäre da toll. Diese Art der „PWM“ wird wohl von einigen hier bereits zur Ventilsteuerung eingesetzt, aber auch um Lampen zu dimmen?

Grüße
Cali