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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.