PWM-Signal mit einem Digitaleingang einlesen.

littrom

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

dies ist mein erstes Forumthema.

Wie in der Überschrift ersichtlich ist, möchte ich ein PWM-Signal einer Pumpe über einen DI einlesen und auswerten.
Die PWM-Frequenz ist auf 75Hz festgelegt (13,3ms). Ich muss also irgend wie das Verhältnis von High zu Low ausrechnen und in % ausgeben.

Jetzt die Frage ist es überhaupt möglich mit einem 750-8100er und einer DI Karte mit 3ms Reaktionszeit ein 75Hz Signal zu erfassen und auszuwerten.
Rein von der Zyklenzeit müsste es ja gehen.

gruß

Roman
 
Zuletzt bearbeitet:
Es steht und fällt mit der Zykluszeit des Task. Ich hab etwa 70Hz als Faustformel, was unter Berücksichtigung anderer zu erledigender Aufgaben praxistauglich ist. Du bewegst Dich also am oberen Limit und musst auch ein Auge auf die Größe des Prozessabbildes legen. Bei jedem Start eines Task mit K-Bus Zugriff wird das gesamte PA gelesen. Auf Nummer Sicher gehst Du mit einer Zäherklemmer, da die einen eigenen Zählspeicher hat, den Du dann ausließt.
 
Aso, nein. Du willst ja nicht nur die Pulse zählen, sondern auch das Verhältnis Low-High berechnen. Kannst Du bei der Frequenz, ohne über die Auflösung nachzudenken, mit einem DI gleich vergessen.
 
bei einer Impulsrate von 75Hz hast Du einen PWM-Zyklus von 13,3ms.
Bei 100% Duty-Cycle wäre das also Dauer-Ein. 0% ist daueraus.
Bei 50% haben wir 6,65ms an und 6,65ms aus. Könnte noch gehen mit einer schnellen Task.
Bei 30% haben wir 3,99ms on und 9,31ms off Da wird es eng bei der Messung der On-Zeit.
Bei 70% ist es umgekehrt und wird bei der off-Zeit-Messung knapp.

Übrigens: Gibt es überhaupt eine schnelle Zählerkarte, welche das Tastverhältnis messen kann? Würde mich auch persönlich interessieren.
 
... Welche Spannungshöhe gibt die Pumpe aus? Evtl.mit einem Kondensator integrieren und die Spannung analog messen....
 
@weißnix

es gibt noch digitale Eingangsklemmen mit 0,2ms (z.B. 750-403), oder Zählerklemmen mit 0,1-100kHz (750-404/000-003)
Ob man da nun wa smit anfangen kann, weiß ich nicht.

Gruß

Onno
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zähler- oder Inkrementalgeberklemmen (zumindest bei Beckhoff) geben das nicht her nach meinen Recherchen.
Ich hatte mal mit der Beckhoff NC-Geschichte gespielt. Da wurde ein Tastverhältnis angezeigt an einer Inkrementalgeberklemme. Da es die Klemme selbst nicht macht, denke ich, das wurde in der NC-Task berechnet. Da Taskzyklen unter 1ms auf einem Cx9020 aber nicht wirklich praktikabel sind, bezweifle ich bei meinem PWM-Signal von ~5kHz sinnvoll was anfangen zu können.

Das ganze ist für mich aber mittlerweile ein theoretisches Problem, da PWM mit einer solchen Frequenz im Industriebereich nicht so die Verbreitung hat als Prozesssignal. An meiner Viessmann-Therme wird über dieses PWM-Signal der Sollwert des Saugzuggebläses vorgegeben. Jetzt erfasse ich den Gebläseistwert über dessen eingebauten Hall-Geber (0...200Hz).

Ich hatte da mal eine Idee gehabt aber nicht umgesetzt:
Eine Zählerklemme mit Gate einsetzen. Ein konstantes Frequenzsignal an den Zählereingang und das PWM-Signal an den Gate-Eingang. So liesse sich die High-Zeit des PWM mit hoheer Auflösung erfassen.
Das konstante Frequenzsignal könnte durche eine Pulse-Train-Klemme oder ähnliches erzeugt werden.
Das gleiche Konzept hatte ich schonmal für eine Produktlängenmessung schneller, kurzer Produkte geplant, aber es kam nicht zur Umsetzung.
 
Zuletzt bearbeitet:
Mit Zeitmessung in einer normalen zyklischen Task wird die Messung der Pulsdauer ziemlich ungenau. Wie klein kann die Taskzeit festgelegt werden / ist die schnellstmögliche Task? Kann auch so schnell auf die Karte zugegriffen werden?
Gibt es auch DI-Karten, die Prozessalarme (Interrupt) auslösen können?
Oder Zählerkarten, die direkt die Pulsdauer messen können?
Ich denke, nur durch Hardware-Verarbeitung der Pulsflanken kommt man auf eine Auflösung < 8%
Mit welcher Auflösung wird das Ergebnis erwartet? Etwas mehr auflösende Werte kann man durch Mittelwertbildung über mehrere Messungen erreichen.

Harald
 
Interrupts kenne ich im Twincat-Umfeld nicht.
Und genau die Frage nach geeigneten Karten habe ich ja auch. ansonsten hab ich nur den in #12 beschriebenen Workaround.

Wie würde es denn ein Siemens-Spezi lösen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unter folgendem Link ist das PWM-Profil der Pumpe beschrieben vielleicht hab ich auch etwas falsch verstanden,
da es gar nicht so einfach zu sein scheint wie ich es mir gedacht habe.

Hat schon jemand Erfahrung mit einem PWM-DC Converter und wenn ja eine Bezugsquelle

Gruß
 
Na für eine Solarpumpe würde ich auf diesen Aufwand komplett verzichten.
Gib der Pumpe das Sollwertsignal vor und gut ist's.
Die Drehzahlregelung mache ich ;) über die V/R-Differenz und die Dachtemperatur/Speichertemp-Differenz. Also im Prinzip versucht meine Regelung eine konstante Differenz zwischen dem Vor- und Rücklauf herzustellen. Der Regler für die V/R-Differenz gibt den Sollwert für die Speicher-Dach-Differenz vor. Der wiederum bringt mir den Drehzahlsollwert für die Pumpe.
Drehzahlfeedback von der Pumpe hab ich nicht, brauch ich nicht.
Aber auch die Speicher-Dach-Differenzregelung alleine funktioniert tadellos.
 
Mit Diode und Widerstand in Serie auf Elko, parallel zum Elko ein Poti (um das so hinzudrehen, dass bei 50% PWM ca. die halbe Spannung rauskommt), dann noch ein 2. Poti als Spannungsteiler um auf 0-10V zu kommen, fertig.
 
Zurück
Oben