PWM Signal ( 5V, Pulslänge 1-2ms) für Servomotor in 0-10v umsetzen

OP #7537843
Lesenswert?

Guten Tag zusammen,

ich möchte gerne das Steuersignal einer Abbrandregelung zur Regelung einer Zuluftklappe verwenden. Die Abbrandregelung gibt ein 5V Signal mit einer Pulslänge zwischen 1ms und 2ms (üblich für Servomotoren aus dem Modellbau) heraus. Die Klappe wird mit einem Bellimo Motor angesteuert welcher ein 0-10V Signal verarbeiten kann. Wie könnte man diese spezielle PWM Signal in 0-10V Signal umsetzen?

Vielen Dank,

Jacob

Gast #7537932
Lesenswert?

Hallo Jacob,

ich schließe mich Wolfs Vorschlag an.

Du brauchst dafür prinzipiell zwei Teile:

  1. Tiefpass (https://www.elektronik-kompendium.de/sites/slt/0206172.htm)
  2. Operationsverstärker (https://www.elektronik-kompendium.de/sites/bau/0209092.htm)

Fange mal dem Tiefpass an. Ich würde dazu einen Widerstand im einstelligen kΩ Bereich nehmen und den Kondensator dazu passen wählen. Er muss so träge sein, dass das Ausgangssignal eine einigermaßen glatte analoge Spannung ergibt.

Da die 1-2 ms Impulse sich nur alle 20 ms wiederholen, wirst du bei 5 V Versorgungsspannung auf eine analoge Ausgangsspannung im Bereich 0,25-0,5 V kommen.

Mit einem Operationsverstärker wirst du 0,25 V subtrahieren und um Faktor 40 verstärken. Der TS912 wird hier öfters empfohlen, ich denke, der könnte passen. Die 0,25 V machst du am besten mit einem Trimmpoti einstellbar. Lege also 0,25 V an den negativen Eingang des Verstärkers, und das Ausgangssignal des Tiefpasses an den positiven Eingang.

Du brauchst eine Stromversorgung mit etwa 12 Volt und wenigen mA (das kleinste Netzteil genügt).

Zur "einigermaßen glatten" Spannung: Gibt es dazu Unterlagen, was der Antrieb braucht? Wenn nicht, wird es wohl auf Experimente hinaus laufen. Ein zu kleiner Kondensator hinterlässt eine unruhige Spannung, was den Antrieb womöglich dazu bringt, ständig hin und her wackeln. Ein zu großer Kondensator macht die Sache sehr träge, so dass der Antrieb verzögert reagiert. Da gibt es sicher eine Grenze, wie viel Trägheit akzeptabel ist.

#7538033
Lesenswert?

Wir sind hier im µC-Digitalbereich, weshalb ich die analogen Lösungen als eher schlecht bewerten würde. Und auch im analogen Forumsbereich würde ich eher Schaltungen mit Integrator und Spitzenwertspeicherung vorschlagen.

Digitaler Ansatz: ein 8-pol. µC misst die Dauer der Eingangsimpulse, rechnet diese um und erzeugt eine proportionale, höherfrequente PWM. Ein einfacher Tiefpass gefolgt von einem OPV mit entsprechender Verstärkung liefert dann die benötigten 0 - 10 V.

#7538066
Lesenswert?

Mi N. schrieb:

würde ich eher Schaltungen mit Integrator und Spitzenwertspeicherung vorschlagen.

Genau so.

Die Periodendauer hat bei den Servosteuerpulsen keine Bedeutung und darf in weiten Bereichen schwanken. Der Ansatz über den Mittelwert ist also eigentlich falsch und nur wenn die Datenquelle zufällig mit konstanter Periodendauer arbeitet, funktioniert das.

Steve van de Grens schrieb:

Ein zu großer Kondensator macht die Sache sehr träge, so dass der Antrieb verzögert reagiert. Da gibt es sicher eine Grenze, wie viel Trägheit akzeptabel ist.

Genau. Wenn die Luftklappe ein, zwei Minuten zum Nachstellen braucht, ist das gewöhnlich kein Problem. Die soll keine Tänze aufführen. 😉

#7538100
Lesenswert?

Es gibt PWM zu DC ICs, alles fix und fertig!

https://www.mikrocontroller.net/articles/Pulsweitenmodulation#Vollintegrierte_L%C3%B6sungen

Ach so, geht nicht so wirklich, denn man darf/sollte NUR die Pulsbreite auswerten, nicht das Tastverhältnis. Also doch ein kleiner 8-Pin uC, der die Pulsbreite misst und dann eine proportionale PWM ausgibt, die man filtern und verstärken kann.

#7538112
Lesenswert?

Mi N. schrieb:

Wir sind hier im µC-Digitalbereich

Digitaler Ansatz: ein 8-pol. µC misst die Dauer der Eingangsimpulse, rechnet diese um und erzeugt eine proportionale, höherfrequente PWM. Ein einfacher Tiefpass gefolgt von einem OPV mit entsprechender Verstärkung liefert dann die benötigten 0 - 10 V.

Und Mikrocontroller mit DAC erzeugen die Spannung ohne Tiefpass-Verzögerung.

#7538158
Lesenswert?

Georg M. schrieb:

Und Mikrocontroller mit DAC erzeugen die Spannung ohne Tiefpass-Verzögerung.

Das kann man gerne machen, wenn man alle 20 ms einen neuen Analogwert binnen 10 µs haben möchte. Angenommen ein 8 MHz µC mit 8 Bit PWM per Timer. 256 Stufen sollten reichen und ergeben eine PWM-Frequenz von 31,25 kHz. Ein einfacher RC-Tiefpass reicht aus, um das PWM-Signal binnen 20 ms hinreichend zu filtern.

OP #7538537
Lesenswert?

Ich habe mich jetzt erstmal an den Hersteller gewandt. Er macht mir einen Kostenvoranschlag für die Anpassung der Software und einen Funktionstest. Das hört sich erstmal teuer an, aber vielleicht ist das für mich sinnvoller als mit eigenen Lösungen bzw. euren Lösungen zu experimentieren. Ich bin da nicht besonders bewandert. Das Produkt nennt sich oControl, falls sich jemand dafür interessiert. Vielen Dank erstmal für eure Ratschläge. Jacob

OP #7538803
Lesenswert?

Ich hatte die Einwände von Rawi und msx so verstanden, dass es nicht ganz den Anforderungen entspricht. Laut Beschreibung macht das Ding aber genau was es soll. Wenn es jetzt keine Einwände gibt, dann bestelle ich das Teil. Alles andere kommt ja bestimmt nicht billiger. Super vielen Dank.

#7539111
Lesenswert?

Jacob L. schrieb:

Hätte ggf. jemand Zeit und Lust das für mich zu realisieren?

Wieviel Ahnung hast Du denn von Elektronik? Kannst Du eine Platine in Dein System einbauen?

Was auf jeden Fall gebraucht wird, ist eine Versorgungsspannung von >= 12 V. Ist diese vorhanden bzw. abgreifbar? Ein Schaltungsvorschlag anbei. Der ATtiny25 kann für bessere Grundgenauigkeit mit einem Quarz betrieben werden. Bei 5 V bis 20 MHz - was man so in der Schublade hat.

Angehängte Dateien:
#7540072
Lesenswert?

Vielleicht meldet sich der TO noch einmal, was ihm der Hersteller seiner Steuerung geantwortet hat.

Selber habe ich auch ein Progrämmchen gemacht, will mich aber nicht nachdrängeln. Es läuft auf einem 8 MHz ATtiny85 (gerade zur Hand). 1 ms ist auf 8000 Schritte aufgelöst. Da Timerüberlaufe schon berücksichtigt werden, können auch längere Pulsweiten und auch die Pausenzeiten gemessen werden. Rein rechnerisch <= 500 s ;-) Ferner sorgt ein Timeout dafür, daß bei fehlendem Eingangssignal nach einer Sekunde der Ausgang auf 0 V geht.

Als Verbesserung der obigen Prinzipschaltung würde ich ein 1 k Trimmpoti ergänzen, um die ungenaue Ausgangsspannung des 5 V Reglers auszugleichen. Ferner das Ausgangsfilter zweistufig auf 1 kHz auslegen. Mit 12 dB/Oktave und 6 Oktaven sind die Dämpfung hoch genug und die Einschwingzeit hinreichend kurz. Wenn es ganz "perfekt" werden soll, könnte man die Verstärkung des OPV auf 2,1 erhöhen und die max. Ausgangsspannung per Taster (mit EEPROM-Ablage des PWM-Faktors) einstellen.

#7540086
Lesenswert?

Mi N. schrieb:

Vielleicht meldet sich der TO noch einmal, was ihm der Hersteller seiner Steuerung geantwortet hat.

Selber habe ich auch ein Progrämmchen gemacht, will mich aber nicht nachdrängeln. Es läuft auf einem 8 MHz ATtiny85 (gerade zur Hand). 1 ms ist auf 8000 Schritte aufgelöst.

Es lebe der Overkill!

Ferner sorgt ein Timeout dafür, daß bei fehlendem Eingangssignal nach einer Sekunde der Ausgang auf 0 V geht.

Ok, das fehlt bei mir noch.

Als Verbesserung der obigen Prinzipschaltung würde ich ein 1 k Trimmpoti ergänzen, um die ungenaue Ausgangsspannung des 5 V Reglers auszugleichen.

Ich hab nen LP2950 mit 0,5% drin, das sollte reichen. Gemessen sind 4989mV VCC "satte" 11mV Unterspannung, = -0,22% ;-)

Ferner das Ausgangsfilter zweistufig auf 1 kHz auslegen. Mit 12 dB/Oktave und 6 Oktaven sind die Dämpfung hoch genug und die Einschwingzeit hinreichend kurz.

Ist drin, mit ~90Hz. PWM mit 15,625kHz.

Wenn es ganz "perfekt" werden soll, könnte man die Verstärkung des OPV auf 2,1 erhöhen und die max. Ausgangsspannung per Taster (mit EEPROM-Ablage des PWM-Faktors) einstellen.

Schon wieder Overengineering. KISS!

#7540118
Lesenswert?

Pulse-Width Measurement ist eine fertige HW-Funktion.

1
24. TCB - 16-Bit Timer/Counter Type B
2
24.1 Features
3
 • 16-bit Counter Operation Modes:
4
  – Periodic interrupt
5
  – Time-out check
6
  – Input capture
7
    • On event
8
    • Frequency measurement
9
    • Pulse-width measurement
10
    • Frequency and pulse-width measurement
11
    • 32-bit capture
12
  – Single-shot
13
  – 8-bit Pulse-Width Modulation (PWM)
14
 • Noise Canceler on Event Input
15
 • Synchronize Operation with TCAn
16

17

18

19
34. DAC - Digital-to-Analog Converter
20
34.1 Features
21
 • 10-Bit Resolution
22
 • High Drive Capabilities
23
 • The DAC Output Can Be Used as Input to Other Analog Peripherals
Angehängte Dateien:
Gast #7540121
Lesenswert?

Georg M. schrieb:

Pulse-Width Measurement ist eine fertige HW-Funktion.

Ich glaube da verwechselst du Anwendungsfälle mit Hardwarefunktionen. Welcher AVR ist das denn?

Nachtrag: Ich hab's gefunden. Du meinst die neuen AVR Serien von Microchip (z.B. AVR32DA48), dir mir noch nicht geläufig sind. Die haben tatsächlich einen "Input Capture Pulse-Width Measurement Mode":

"In the Input Capture Pulse-Width Measurement mode, the input capture pulse-width measurement will restart the counter on a positive edge, and capture on the next falling edge before an interrupt request is generated."

OP #7552819
Lesenswert?

Hallo nochmal zusammen. Der Hersteller hat mir recht zügig ein Angebot über 180€ erstellt, das halte ich, für eine so spezielle Anpassung, für absolut in Ordnung. Er hat dann aber auch direkt darauf hingewiesen, dass es dann keine Updates dafür geben wird. Das hätte ich auch noch verkraften können. Entscheidend war nun aber die Tatsache, dass ich im Falle eines Defektes dann die Anpassung nochmal bezahlen müsste. Daher habe ich dan einfertiges Modul bei Ebay/China bestellt. Es ist heute angekommen und funktioniert. Wirft leider nur 0-5Volt raus und mein Antrieb arbeitet gar nicht mit 0-10Volt Steuerspannung sondern mit 2-10Volt. Aber ein Paar Hinweise zum „Erhöhung“ der Spannung habe ich ja bereits bekommen. Ich schaue mal wie weit ich damit komme. Wenn ich es richtig verstanden habe, dann wäre da ab hier auch ein anderes Forum geeigneter.

Vielen Dank euch allen für die tolle Hilfe, auch wenn ich eure Entwürfe nun gar nicht umgesetzt habe.

#7552883
Lesenswert?

Jacob L. schrieb:

Hallo nochmal zusammen. Der Hersteller hat mir recht zügig ein Angebot über 180€ erstellt, das halte ich, für eine so spezielle Anpassung, für absolut in Ordnung.

Ja. Aber ich hatte dir auch eine Nachricht geschickt. Ist die nicht angekommen? Im Spam versackt? Oder von GMX oder Googlemail verschluckt?

Jacob L. schrieb:

Oh je, jetzt bin ich aber platt. Falk hat das Teil ja schon komplett gebaut gehabt. Könntest Du das noch so modifizieren, dass es 2-10 Volt ausgibt? Das wäre dann ja perfekt.

Sicher, ist ja nur Software. Aber mit welchen Eckpunkten?

1ms=2V 1,5ms = 6v 2ms = 10V

So?

In jedem Falle würde ich Dir das Teil gerne in etwas Feines umtauschen.

Da meine Arbeiten streng unter Beerware Lizenz laufen, nehm ich ein Schwarzbier ;-) Schreib mir ne persönliche Nachricht, dann können wir die Details klären. Oben auf meinen Namen clicken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren