Forum: Mikrocontroller und Digitale Elektronik Arduino 5V PWM Signal zu 0-10V Normsignal


von Mr.Rioes (Gast)


Lesenswert?

Servus,
arbeite momentan an einem Projekt für mein Maschinenbau Studium. Ich 
müsste für einen Versuchsaufbau, ein 5V PWM Signal von einem Arduino in 
ein 0-10V Normsignal umwandeln. Wir nutzen dieses Signal für den Eingang 
eines Motorreglers.
Habe mich mal ein wenig durch die Foren gelesen und 2 Bauteile 
herausgesucht.
Einmal wäre da das SparkFun I2C DAC Breakout - MCP4725 
(https://www.sparkfun.com/products/12918) Board, um ein analoges 
Ausgangssignal zu erzeugen. Danach würde ich dieses dann in einen 
SparkFun OpAmp Breakout - LMV358(https://www.sparkfun.com/products/9816) 
Board geben um mit einem Verstärkungsfaktor von 2 das Signal von 0-5V 
auf 0-10V zu heben.
Würde das so funktionieren ?

von Teddy (Gast)


Lesenswert?

Ein RC Tiefpass dürfte reichen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Teddy schrieb:
> Ein RC Tiefpass dürfte reichen.
Nur dann, wenn man den Umrichter schlau konfiguriert...

Oder schlimmstenfalls den Tiefpass und dahinter noch den OP mit v=2

von Harald W. (wilhelms)


Lesenswert?

Mr.Rioes schrieb:

> LMV358(https://www.sparkfun.com/products/9816)
> Board geben um mit einem Verstärkungsfaktor von 2 das Signal von 0-5V
> auf 0-10V zu heben.
> Würde das so funktionieren ?

Der LMV358 ist zwar billig (Ich glaube, der blligste OPV überhaupt),
hier aber ungeeignet.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Im Besonderen ungeeignet ist die verlinkte Platine,  denn die ist dank 
der verbauten Koppelkondensatoren nur für Wechselspannung geeignet...

: Bearbeitet durch Moderator
von m.n. (Gast)


Lesenswert?

Wenn schon verstärkt werden muß, dann doch gleich den Tiefpaß mit 
einbinden. Im Tietze-Schenk findet sich ein Beispiel:
"Aktives Tiefpaßfilter 2.Ordnung mit Einfachmitkopplung".
Die Grenzfrequenz wird mit zwei gleichen Widerständen und zwei gleichen 
Kondensatoren eingestellt, der Filtertyp mit der Verstärkung.
Der verwendete OPV sollte hier unkritisch sein.

von Harald W. (wilhelms)


Lesenswert?

m.n. schrieb:
> Wenn schon verstärkt werden muß, dann doch gleich den Tiefpaß mit
> einbinden. Im Tietze-Schenk findet sich ein Beispiel:
> "Aktives Tiefpaßfilter 2.Ordnung mit Einfachmitkopplung".
> Die Grenzfrequenz wird mit zwei gleichen Widerständen und zwei gleichen
> Kondensatoren eingestellt, der Filtertyp mit der Verstärkung.
> Der verwendete OPV sollte hier unkritisch sein.

Naja, mehr als 6V sollte er schon vertragen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Und dann kommt es noch draußen, welche Versorgung man zu bieten hat...

von Frank K. (fchk)


Lesenswert?

Wieviel Bit Auflösung und welche Genauigkeit brauchst Du?
Und: Kennst Du den Unterschied?

Wie schnell muss das ganze sein, d.h. wie viele Abtastwerte pro Sekunde 
musst Du ausgeben?

Welchen Strom muss der Ausgang liefern können?
(a) im eingeschwungenen Zustand (Gleichstromfall)
(b) im dynamischen Betrieb (Sprungantwort, d.h. von 0V auf 10V) Wie 
schnell ist die Spannung am Eingang des Motorreglers von 0V auf 10V 
gestiegen? Vergleiche das mit der Abtastrate aus der Antwort vorher.

Diese Angaben musst Du ermitteln, und der Weg dahin gehört in die 
schriftliche Ausarbeitung. Die Suche nach geeigneten Bauteilen ist erst 
der zweite Schritt.

fchk

: Bearbeitet durch User
von Mr.Rioes (Gast)


Lesenswert?

Servus erst mal vielen Dank für die vielen Antworten.
also sind anscheinend die beiden Boards ungeeignet.

von Mr.Rioes (Gast)


Lesenswert?

@ Frank K.

der Motor macht maximal 120 U/min und ich würde gerne auf eine halbe 
umdrehung genau einstellen. Also wäre eine Auflösung von 8bit schon 
ausreichend. Die Genauigkeit wäre gut wenn sie +/- eine halbe Umdrehung 
ist.
Die Abtastrate reicht aus wenn sie im bereich 0,5s liegt.
Der maximale Strom dürfte sehr gering sein, im Bereich 10-20 mA, da es 
ja nur ein Steuersignal ist.
Die richtige Ansteuerung erfolgt später über ein Beckhoff SPS System, 
dass uns das 0-10v Signal zur Verfügung stellt. Aber da diese momentan 
fest in der Maschine verbaut ist, brauchen wir wirklich nur eine 
rudimentäre Lösung für die 0-10V.

von Harald W. (wilhelms)


Lesenswert?

Mr.Rioes schrieb:

> der Motor macht maximal 120 U/min und ich würde gerne auf eine halbe
> umdrehung genau einstellen. Also wäre eine Auflösung von 8bit schon
> ausreichend. Die Genauigkeit wäre gut wenn sie +/- eine halbe Umdrehung
> ist.

Du kennst den Unterschied zwischen Auflösung und Genauigkeit?

von Mr.Rioes (Gast)


Lesenswert?

Harald W. schrieb:
> Du kennst den Unterschied zwischen Auflösung und Genauigkeit?

wie oben geschrieben die Auflösung ist wie genau das Signal unterteilt 
ist, und die Genauigkeit wäre wie weit mein Signal vom Realwert 
abweicht. Oder liege ich da falsch.

von Ralf (Gast)


Angehängte Dateien:

Lesenswert?

Hier eine einfache Schaltung die ich schon mal in einem anderen Thread 
erwähnt hatte. Der 22k Ohm Widerstand kann durch einen 10k Ohm 
Widerstand ersetzt werden, dann hast Du eine Verstärkung von 2 (zwei). 
Wenn am Eingang eine Spannung von 5V anliegt, sind es am Ausgang 10V. 
Die Schaltung kommt mit einer einfachen Versorgungsspannung aus und ist 
gleichspannungsgekoppelt.

Die Versorgungsspannung kann auch direkt aus 24V Hutschienenmodulen 
gewonnen werden.

von Krematorium Südfriedhof (Gast)


Lesenswert?

Frank K. schrieb:
> Wieviel Bit Auflösung und welche Genauigkeit brauchst Du?
> Und: Kennst Du den Unterschied?

Harald W. schrieb:
> Du kennst den Unterschied zwischen Auflösung und Genauigkeit?

Die Frage ist noch nicht von Jedem gestellt worden. Ich war noch nicht 
dran und hole das jetzt nach:

Kennt ihr den Unterschied zwischen Auflösung und Genauigkeit?

Nein? Aber gleich!

https://www.mikrocontroller.net/articles/Aufl%C3%B6sung_und_Genauigkeit

SCNR

von Schorsch X. (bastelschorsch)


Lesenswert?

Ralf schrieb:
> Hier eine einfache Schaltung die ich schon mal in einem anderen Thread
> erwähnt hatte.

Da es ein PWM Signal ist, muss noch ein Kondensator parallel zum 22k. 
Und parallel zum 10u Elko noch einen 100n spendieren. Dann sollte das 
für´s Erste passen.

von Harald W. (wilhelms)


Lesenswert?

Mr.Rioes schrieb:

> wie oben geschrieben die Auflösung ist wie genau das Signal unterteilt
> ist, und die Genauigkeit wäre wie weit mein Signal vom Realwert
> abweicht. Oder liege ich da falsch.

Du meinst aber, das Du mit 8Bit eine Genauigkeit von <1/2%
erreichen kannst. Wenn man besser 1% Genauigkeit braucht,
muss man schon etwas Sorgfalt bei der Auswahl der Teile
und dem Aufbau der Schaltung walten lassen.

von Mr.Rioes (Gast)


Lesenswert?

Ralf schrieb:
> Hier eine einfache Schaltung die ich schon mal in einem anderen Thread
> erwähnt hatte. Der 22k Ohm Widerstand kann durch einen 10k Ohm
> Widerstand ersetzt werden, dann hast Du eine Verstärkung von 2 (zwei).
> Wenn am Eingang eine Spannung von 5V anliegt, sind es am Ausgang 10V.
> Die Schaltung kommt mit einer einfachen Versorgungsspannung aus und ist
> gleichspannungsgekoppelt.
>
> Die Versorgungsspannung kann auch direkt aus 24V Hutschienenmodulen
> gewonnen werden.

Schorsch X. schrieb:
> Da es ein PWM Signal ist, muss noch ein Kondensator parallel zum 22k.
> Und parallel zum 10u Elko noch einen 100n spendieren. Dann sollte das
> für´s Erste passen.

Wunderbar werde es mal so probieren.

von Mr.Rioes (Gast)


Lesenswert?

Schorsch X. schrieb:
> Da es ein PWM Signal ist, muss noch ein Kondensator parallel zum 22k.
> Und parallel zum 10u Elko noch einen 100n spendieren. Dann sollte das
> für´s Erste passen.


In welcher Größenordnung sollte denn der Kondensator parallel zum 22k 
Widerstand sein ?

von Ralf (Gast)


Lesenswert?

Mir ist noch nicht ganz klar ob der TO nur das PWM-Signal auf 10V 
anheben möchte, oder ob er aus dem PWM-Signal, je nach Pulsweite, ein 
reines Gleichspannungssignal von 0-10V erzeugen will? Dann müsste in der 
Tat, wie von Teddy vorgeschlagen, noch ein Tiefpass nachgeschaltet 
werden.

von MaWin (Gast)


Lesenswert?

Ralf schrieb:
> Mir ist noch nicht ganz klar ob der TO nur das PWM-Signal auf 10V
> anheben möchte, oder ob er aus dem PWM-Signal, je nach Pulsweite, ein
> reines Gleichspannungssignal von 0-10V erzeugen will? Dann müsste in der
> Tat, wie von Teddy vorgeschlagen, noch ein Tiefpass nachgeschaltet
> werden.

Er will ein 0-10V Normsignal, und das ist eine Analogspannung, kein PWM 
Gemurkse.

von Krawolloskowja (Gast)


Lesenswert?

Harald W. schrieb:
> Mr.Rioes schrieb:
>
>> LMV358(https://www.sparkfun.com/products/9816)
>> Board geben um mit einem Verstärkungsfaktor von 2 das Signal von 0-5V
>> auf 0-10V zu heben.
>> Würde das so funktionieren ?
>
> Der LMV358 ist zwar billig (Ich glaube, der blligste OPV überhaupt),
> hier aber ungeeignet.

Nicht der billigste. Geeignet wäre zum Beispiel:

https://www.reichelt.de/ICs-LM-10-LM-999/LM-324-D-SMD/3/index.html?ACTION=3&GROUPID=5464&ARTICLE=18713&OFFSET=16&;

4-fach Variante des LM 358.

16 Cent.

von Ralf (Gast)


Lesenswert?

Ich habs gerade ausprobiert. Ein Kondensator 1µF bis 100µF parallel zum 
22k Ohm Widerstand funktioniert nicht (bei 1kHz PWM). Aber ein 10k Ohm 
Widerstand in Reihe zum Eingang und ein 100µF Kondensator parallel zum 
47k Ohm Widerstand, funktioniert ausgezeichnet.

Die Größe des Kondensators hängt natürlich von der PWM-Frequenz des TOs 
ab. Ein zu großer Kondensator produziert eine Regelverzögerung, die sich 
evtl. negativ auf den gesamten Motorregelkreis auswirken könnte!

von m.n. (Gast)


Lesenswert?

Bevor hier noch wild Kondensatoren durch die Gegend fliegen:
http://www.aktivfilter.de/sallen-key-tiefpass.php
Die 2. Schaltung bietet die zusätzliche Verstärkung.

von Falk B. (falk)


Lesenswert?


von Harald W. (wilhelms)


Lesenswert?

m.n. schrieb:

> Bevor hier noch wild Kondensatoren durch die Gegend fliegen:

Wenn der TE diesen DA-Wandler benutzt:
https://www.sparkfun.com/products/12918
braucht er doch überhaupt kein RC-Filter,
sondern nur einen Verstärker. Besser wäre
es natürlich, gleich einen DA-Wandler mit
10V-Ausgang zu nehmen. Dann wäre eine Ge-
nauigkeit von besser 1/2% auch kein Problem.

von m.n. (Gast)


Lesenswert?

Harald W. schrieb:
> Wenn der TE diesen DA-Wandler benutzt:

Dann hat er seinen Betreff nicht gelesen:
Arduino 5V PWM Signal zu 0-10V Normsignal

von Gerald M. (gerald_m17)


Lesenswert?

Ist zwar nicht direkt die Frage an sich, aber was spricht gegen den 
Analogausgang des Arduinos, mit einem OpAmp mit verstärkung?
Im Arduino wäre das einfach, man nimmt einfach den Wert der 8bit PWM (wo 
auch immer der her kommt)  und schreibt ihn stattdessen in das DAC 
Register. Fertig. Bei der 16bit PWM einfach nur das erste Byte nehmen.

von Ralf (Gast)


Lesenswert?

Gerald M. schrieb:
> aber was spricht gegen den
> Analogausgang des Arduinos, mit einem OpAmp mit verstärkung?

Richtig. Und schon kann die oben genannte Schaltung ohne Vorschalten 
eines Tiefpasses direkt eingesetzt werden.

von Wolfgang (Gast)


Lesenswert?

Gerald M. schrieb:
> Ist zwar nicht direkt die Frage an sich, aber was spricht gegen den
> Analogausgang des Arduinos, mit einem OpAmp mit verstärkung?

Jetzt machst du mich neugierig. Reden wir hier von einem Arduino Due?
Oder welcher Arduino hat sonst einen (echten) Analogausgang?

von Gerald M. (gerald_m17)


Lesenswert?

Hast recht, habe nie wirklich mit Arduino gearbeitet, wusste aber dass 
es den "analogwrite" Befehl gibt.
Da ich vor einer Weile auf STM umgestiegen bin, war mir so auch nicht 
mehr bewusst dass AVRs zwar ADCs, aber keine DAC haben.

Also doch, aktiver Tiefpass oder ein DAC shield...

von A. B. (sfalbuer)


Lesenswert?

Ich habe mal einen 0815 Freuqenzumrichter mit einem Arduino angesteuert. 
Die Spannung habe ich über eine geglättete PWM erzeugt. Hat hervorragend 
funktioniert. Da hier fast nichts von Nöten ist.. einfach mal 
ausprobieren?

Gruss

A.B

von A. B. (sfalbuer)


Lesenswert?

Gerald M. schrieb:
> Hast recht, habe nie wirklich mit Arduino gearbeitet, wusste aber dass
> es den "analogwrite" Befehl gibt.

Den gibt es zwar, allerdings wird damit nur eine handelsübliche PWM 
erzeugt - nix DAC. Für Anfänger ist das zur Unterscheidung zu 
DigitalWrite eventuell hilfreich, Kenner verwirrt das jedoch schnell.

von Wolfgang (Gast)


Lesenswert?

A. B. schrieb:
> Für Anfänger ist das zur Unterscheidung zu
> DigitalWrite eventuell hilfreich, Kenner verwirrt das jedoch schnell.

AnalogWrite() geht auch bei Arduino auf einen echten DAC, so der µCüber 
einen solchen verfügt (-> Arduino Due).

Bei Arduino heißen die Erweiterungsplatine auch "Shields" und die 
Programme "Sketches". Da haben sich die Kenner inzwischen auch mit 
abfinden müssen.

von Christian M. (Gast)


Lesenswert?

A. B. schrieb:
> Die Spannung habe ich über eine geglättete PWM erzeugt

Ja genau, und zuerst die PWM auf 10V anheben, das ist viel einfacher und 
braucht kein OP- Geraffel. Dann RC-Glied!

Gruss Chregu

von m.n. (Gast)


Lesenswert?

Wolfgang schrieb:
> AnalogWrite() geht auch bei Arduino auf einen echten DAC, so der µCüber
> einen solchen verfügt (-> Arduino Due).

Nur wird dieser Due niemals 5 VDC ausgeben können.

Christian M. schrieb:
> Ja genau, und zuerst die PWM auf 10V anheben, das ist viel einfacher und
> braucht kein OP- Geraffel. Dann RC-Glied!

Das ist aber unterste Bastelschublade, wobei die Ausgangsspannung von 
der Eingangsimpedanz des analogen Einganges abhängt.

von Wolfgang (Gast)


Lesenswert?

m.n. schrieb:
> Nur wird dieser Due niemals 5 VDC ausgeben können.

Ob man nun 3.3V oder 5V auf 10V anhebt, ist doch wohl egal.

von Harald W. (wilhelms)


Lesenswert?

Wolfgang schrieb:

> Bei Arduino heißen die Programme "Sketches".

Vermutlich, weil viele dieser Programme einfach nur ein Witz sind.
:-)

von m.n. (Gast)


Lesenswert?

Wolfgang schrieb:
> Ob man nun 3.3V oder 5V auf 10V anhebt, ist doch wohl egal.

Im Betreff stehen 5 V. Folglich kann es kein Arduino Due sein und es 
gibt keinen DAC auf dem Chip.

Wenn die Fragestellung völlig ignoriert werden darf, könnte ich auch 
einen AD667 anbieten: 12 Bit, interne Referenz und direkter, gepufferter 
10 V Ausgang.

von Harald W. (wilhelms)


Lesenswert?

m.n. schrieb:

> Im Betreff stehen 5 V. Folglich kann es kein Arduino Due sein und es
> gibt keinen DAC auf dem Chip.

Er will aber anscheinend dieses DA-Wandler-Board benutzen:
https://www.sparkfun.com/products/12918

von m.n. (Gast)


Lesenswert?

Mr.Rioes schrieb:
> Servus,
> arbeite momentan an einem Projekt für mein Maschinenbau Studium. Ich
> müsste für einen Versuchsaufbau, ein 5V PWM Signal von einem Arduino in
> ein 0-10V Normsignal umwandeln.

So habe ICH die Aufgabe verstanden.

von Harald W. (wilhelms)


Lesenswert?

m.n. schrieb:

> So habe ICH die Aufgabe verstanden.

Möglicherweise kennt der TE nicht den Unterschied zwischen normalen
und PWM-DA-Wandlern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.