Arduino Reglung Analog_Out

Gast #3704442
Lesenswert?
• ▲
▼
Hallo,

ich plane einen einen kleinen Regelkreis mit einem Arduino. Dabei wird 
ein Eingangssignal aufgenommen, welches vom Controller verarbeitet 
werden soll. Genauer soll ,für das Eingangssignal, der Controller eine 
Lampe einschalten und dann bei eingeschalteter Lampe durch eine 
Fotodiode über einen bestimmten Zeitraum (Mittelwert) ein Eingangssignal 
ermitteln. Dannach soll die Lampe wieder ausgehen und abhängig vom 
Eingangssignal, soll ein analoges Ausgangssignal(0-5V) ausgegeben 
werden. Im Prinzip soll das also eine Art Lichtschranke sein. Meine 
Frage ist, ob man das überhaupt mit einem Arduino machen kann und ob 
mein Programmtext die von mir gewünschten Aufgaben ausführen würde.

Ich freue mich auf eure Antworten!

Bertifx
Angehängte Dateien:
#3704479
Lesenswert?
• ▲
▼
Bertifx schrieb:
> Frage ist, ob man das überhaupt mit einem Arduino machen kann und ob
> mein Programmtext die von mir gewünschten Aufgaben ausführen würde.

Die Funktion analogWrite ist NICHT das Gegenteil von analogRead!

Die Funktion analogWrite erzeugte keinen analogen Spannungswert am 
Ausgang, sondern eine PWM-Frequenz, d.h. es wird ganz schnell zwischen 
+5V und GND hin und her geschaltet, mit einem vom PWM-Wert abhängigen 
Tastverhältnis.

Damit kannst Du zwar beispielsweise eine angeschlossene LED in der 
Helligkeit regeln, aber nicht dadurch, dass die LED mehr oder weniger 
Spannung erhält, sondern dadurch, dass die LED 500 mal pro Sekunde für 
kürzere oder längere Zeit mit 5V versorgt wird oder nicht.

Bei der Ausgabe eines analogen Spannungswertes kommt es drauf an, 
welchen Arduino Du meinst.

Für die Ausgabe einer analogen Spannung benötigst Du einen DAC, das ist 
ein Digital-Analog-Converter.

Die 8-Bit Atmega Arduino-Boards haben keinen DAC. Da muß externe 
DAC-Hardware drangeschaltet werden, damit es funktionieren kann. Z.B. 
selbstgebastelt:
http://www.avdweb.nl/arduino/hardware-interfacing/simple-10-bit-dac.html

Der Arduino DUE hat zwar DACs on board. Aber diese werden von der 
Arduino-Software nicht standardmäßig mit Arduino-Komfortbefehlen 
unterstützt, so dass Du die DACs entweder auf Registerebene selbst 
programmieren oder eine geeignete Third-Party-Library einsetzen müßtest.
Gast #3704518
Lesenswert?
• ▲
▼
Man kann aber auch ein PWM-Signal über einen Tiefpass glätten und so 
einen analogen Wert bekommen. Es kommt halt drauf an, wie genau es sein 
muss. Aber bei Arduino denke ich, dass es nicht allzu genau sein muss.

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