PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino PWM-Ausgang: 0V bis 10V regeln



CapSob
25.09.2014, 23:06
Hallo Leute!

Ich habe folgendes Problem:

Als Mikrocontroller setze ich einen Arduino Leonardo ein. Über einen Spannungsteiler messe ich am AD-Eingang eine Spannung zwischen 0V und 10V. Soweit kein Problem.
Das Problem ist nun, dass ich über einen Ausgang (der über noch zusätzliche Parameter über digitale IOs beeinflusst werden soll), genauer gesagt über einen DA-Ausgang (bzw. PWM) eine Spannung zwischen 0V und 10V wieder ausgeben muss.

Beispiel:

Am AD-Eingang liegen 10V an (in digital: 254 z.B.), dann sind noch diverse digitale Eingänge aktiv, somit müsste ich am analogen Ausgang 8V liegen haben. Oder 2V. Oder 10V. Oder 5V.... usw.

Wie könnte ich das realisieren? Ich hätte noch eine 10V "Kontrollspannung" zur Verfügung. Könnte ich da irgendwie über einen Transistor arbeiten oder was gäbe es da für eine Lösung, bzw. Tipp?


mfg,
Cap.


P.S.: Hoffe, es war verständlich erklärt ^^

BMS
26.09.2014, 07:53
Hallo,
du kannst den PWM-Ausgang mit einem RC-Tiefpassfilter glätten und dann mit einem Operationsverstärker als nichtinvertierenden Verstärker (Verstärkungsfaktor 2, damit aus 5V 10V werden) verstärken. Der OpAmp muss natürlich mit 10V versorgt werden. Als Type wird ein Rail-To-Rail-Verstärker benötigt, d.h. der kann auch wirklich bis zu seiner Versorgungsspannung aussteuern, z.B. TS924. Die Ausgangsspannung wird dann immer noch eine bestimmte Restwelligkeit haben. Man kann natürlich auch Filter höherer Ordnung einsetzen (mehr Aufwand), um die Restwelligkeit zu minimieren.
Viele Grüße, Bernhard

Geistesblitz
26.09.2014, 09:32
Oder du suchst mal nach DAC-ICs, die werden dann digital angesteuert (entweder wirklich parallel über zig Pins oder seriell). Wieviel Auflösung brauchst du denn? Da gibt es garantiert auch Varianten mit einer höheren Auflösung als die 8-10 Bit bei PWM.

CapSob
26.09.2014, 11:38
BMS: Das mit dem OpAmp hört sich sinnvoll an! Hättest Du vielleicht eine Alternative für den TS924? Ich muss die Tage beim Reichelt bestellen und es wäre geschickt, wenn die ihn im Sortiment hätten :)
Alternativ hätte ich noch paar TL 071 und TL 072 rumfahren - aber im Datenblatt selbst steht leider nichts, ob dies ein "Rail-To-Rail"-OpAmp ist... ?

Geistesblitz: Auf die Idee bin ich auch schon gekommen. Genügend Pins, etc. hätte ich am Arduino frei - da würde sogar eine parallele Ansteuerung gehen ;) Nur habe ich damals keinen DAC-Wandler gefunden :/ Hättest du eine Idee/Tipp für mich?

Grüße und schonmal Danke an alle,
Cap.

Geistesblitz
26.09.2014, 14:12
Hmm, da muss ich leider passen. Wir hatten in der Uni im Praktikum mal Controller programmieren müssen, da war auch die Ansteuerung eines 12-Bit-parallel-DAC bei, dachte daher, dass man sowas finden sollte. Vielleicht mal bei Händlern gucken, die auch speziellere Bauteile führen, wie Farnell oder Bürklin?

PICture
26.09.2014, 14:49
Hallo!

@ CapSob

Beim Reichelt findet man unter Suchbegriff "DAC" auch ein paar Typen. ;)

BMS
26.09.2014, 17:29
Ein alternativer Operationsverstärker bei reichelt ist der LMC6484.

Für eine DAC-Lösung kann man z.B. auch ein R2R-Netzwerk aufbauen, benötigt allerdings Präzisionswiderstände.

Grüße, Bernhard

CapSob
28.09.2014, 00:40
Also ich werde mal den LMC6484 bestellen - kannst du mir da vllt noch einen näheren Tipp bzgl. Tiefpass-Filter, etc. geben, Bernhard (BMS)? Danke :)

Und wegen den DAC's.... Alle die ich bis jetzt gefunden habe gehen nur bis maximal 5,5V Vref... (bspw. MCP4921)... und das ist leider zu wenig. Wäre aber denke ich mal prinzipiell vom Aufbau-Aufwand her am entspanntesten.

PICture
28.09.2014, 08:42
Und wegen den DAC's.... Alle die ich bis jetzt gefunden habe gehen nur bis maximal 5,5V Vref... (bspw. MCP4921)... und das ist leider zu wenig.

Bitte vorm Meckern das ganze Buch aufmerksam lesen: http://www.datasheetcatalog.com/datasheets_pdf/M/C/P/4/MCP4921.shtml . Wegen Größe muss man darauf ziemlich lange warten und eventuel doppelt klicken ! ;)

Angeblich verwechselst du Referenz- mit Ausgangsspannung, die weiter z.B. mit OPV beliebig verstärkt werden kann.

schorsch_76
28.09.2014, 09:16
Hint: Seite 16 ;)

CapSob
30.09.2014, 18:37
Also ich habe jetzt zumindest mal den LMC6484 OpAmp. Ist zwar ein Quad-OpAmp, was jetzt aber zum testen erstmal egal ist ;)

Habe aus dem Datenblatt - siehe Anhang - die Schaltung zum nichtinvertierenden Verstärker genommen. Aber wie berechne ich nun die Widerstände und Kondensatoren? Entweder habe ich es nach dreimal Lesen immer noch nicht gefunden, oder es steht tatsächlich nicht im Datenblatt drin :/ (Link: http://www.ti.com/lit/ds/symlink/lmc6484.pdf)

Des Weiteren... Mit dem Wikipedia-Artikel zum Tiefpass-Filter... Hilfe... :confused:

Kurzum: Ich habe nun den LMC6484 und muss aus maximal 5V (PWM-Ausgang des Arduino Micro) maximal 10V machen - sprich eine Verdopplung. 10V "Hilfsspannung" steht zur Verfügung.

mfg,Cap.

PICture
30.09.2014, 23:48
Ein o.g. nichtinvertierender OPV hat Spannungsverstärkung Ku = 2 bei R1 = R2. Jedes Datenblatt beschreibt üblich nur konkretes Bauteil und nicht alle seine mögliche Schaltungen. ;)