Arduino 5V PWM Signal zu 0-10V Normsignal

Gast #4978664
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 ?
Gast #4978840
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.
#4978849
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.
#4978907
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
Gast #4979598
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.
Gast #4979632
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.
Angehängte Dateien:
Gast #4979639
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
#4979659
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.
Gast #4979664
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.
Gast #4979677
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.
Gast #4979691
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.
Gast #4979710
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.
Gast #4979894
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!
#4979984
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.
#4980349
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.
Gast #4980549
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.
Gast #4980595
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.
Gast #4980783
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.

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