AC / DC Spannungen am Arduino realisieren. (Hardwareproblem / Frage)

Moin zusammen :slight_smile:

Ich habe mir für ein Modellbauprojekt einen Arduino zum testen gekauft.
Bevor ich mich eingehend mit der Programmierung beschäftigen möchte, geht es bei mir hauptsächlich um ein Hardwareproblem:

Das Endprodukt soll verschiedenen Anwendern zu Verfügung stehen und mit mehreren unterschiedlichen Spannungen laufen können.
Auf den Punkt gebracht:

Der Arduino soll mit 9-24V Gleich ODER Wechselspannung funktionieren. Das betreiben des Arduinos an unterschiedlichen Spannungsquellen ist mir dank einer gebauten Elektronik gelungen.

Problem ist aber nun, dass die Eingangssignale auf den Pins ebenfalls mit der gleichen Flexibilität behandelt werden sollen.
Sprich die Eingänge sollen auch 9-24V Gleich oder Wechselspannung vertragen können.

Hat hier jemand schon vergleichbare Experimente durchgeführt? Ich will nicht für insgesamt 6 Eingänge 6 Gleichrichter und Festspannungsregler verwenden, das sprengt die Größe der Platine.
Gibt´s andere Alternativen, z.B. Optokoppler oder Spannungsteiler?

Wie würdet Ihr das Problem lösen?

LG
Addy

optokoppler oder transistor im Eingang
Nachtrag: natürlich auch eine Diode. ( Gleichspannungssignale in richtiger Polung und gemeinsamem Potential ? )

Spannungsteiler geht nicht, da der Signalspannungsbereich (9 .. 24V) größer ist
als der um ein HIGH Signal zu erkennen (3 .. 5 V)

Gleichrichter (gibts auch im DIL-Format), kleiner Elko (damit die LED nicht flackert) und einen Optokoppler dahinter an den Eingang.
An den Ausgang dann über einen Treibertransistor (Reed)relais u. die Diode nicht vergessen. Mit einem Relais hast du alle Eventualitäten vom Hals, was Wechselspannung/en betrifft.
Ist zwar aufwändig, aber rate mal, warum SPS so teuer sind ]:slight_smile:
Das ist zu einem Großteil die Perepherie, die die Kosten in die Höhe treibt. Es soll lange halten, störsicher und berührungssicher sein. Das kostet...

Danke für eure Antworten. :slight_smile:

Mein Problem war bisher, dass die Eingänge ja keinen Strom "verbrauchen" daher gehen Spannungsteiler / Vorwiderstände ja irgendwie nicht wirklich einfach um zusetzten.

Optokoppler bräuchten ja wahrscheinlich auch noch Vorwiderstände, da ich nur welche mit max. 1,4 Volt am Eingang finde.
Ich denke, ich werde kleine 78L05er Festspannungsregler verwenden, das sollte zusammen mit nem kleinen Gleichrichter davor die Kosten / Baugröße im Rahmen halten :slight_smile:

Ist schon deprimierend, dass mein Testaufbau mit einem Elko, einem Gleichrichter und nem 7805 größer ist, als der Arduino mini selbst. :smiley:

Die Ausgänge können zum Glück so bleiben, da sie nur 3 LED´s pro Pin zum Leuchten bringen sollen. :slight_smile:

Einen Optokoppler betreibst du wie eine LED. Die meisten IR-LEDs der Optokoppler verkraften maximal 20mA. Andererseits schalten sie meist schon mit 1 mA. Wenn du bei 24V den Maximalstrom zulässt, mußt du die Wechselspannung berücksichtigen! Mit einem Elko kommst du im schlechtesten Fall auf die Spitzespannung, die U ac * Wurzel2 ist - macht 33,94V. Die muß der kleine Elko dann auch abkönnen. 33,94V /0,02A (die 1,4V Differenz lasse ich mal unter den Tisch fallen) macht 1697 Ohm. 1,8K oder 2,2K wäre gängig. Mal spaßenshalber ein Blick auf die verbratene Leistung 33,94V * 0,02A macht 0,68W. Also aufpassen, ein 0,25W Widerstand recht scho lannge nicht mehr ]:slight_smile:
um die 5 mA fließen bei 9V, das reicht noch dicke aus, damit der Optokoppler funktioniert.
Eleganter wäre statt eines Widerstandes eine Konstantstromquelle. http://www.google.de/imgres?imgurl=http://www.dieelektronikerseite.de/Pics/Lections/Konstantstromquelle%2520-%2520Immer%2520das%2520Gleiche%2520S01.GIF&imgrefurl=http://www.dieelektronikerseite.de/Lections/Konstantstromquelle%2520-%2520Immer%2520das%2520Gleiche.htm&h=320&w=280&sz=3&tbnid=vp4suZ80KN0kzM:&tbnh=90&tbnw=79&zoom=1&usg=__7OzP7bUuUDdrKP0_b1WZLLq490E=&docid=iUWvG4fNMnOS4M&sa=X&ei=bebOUv7ZCYyihgeAxoDoBw&ved=0CFIQ9QEwAQ&dur=5351
Den Gleichrichter brauchst du trotzdem noch, da die KSQ nur mit Gleichspannung funktioniert. Eventuell mußt du zum BC 337 oder etwas noch Kräftigeren greifen.
Den ganzen "Zauber" benötigst du für jeden Eingang.

Gruß Gerald

Großer Gott :smiley:

Na dann muss ich mir da noch einmal ordentlich Gedanken machen. Der Aufwand steht wohl nicht im Verhältnis zu der Anzahl der Eingänge. Beziehungsweise passt die ganze Elektronik dann nicht mehr in das Gehäuse.

Danke dir auf jeden Fall für deine Ausführliche Beschreibung :slight_smile:

LG
Addy

hi,

wieso großer aufwand? ein optokoppler, ein elko und ein widerstand nehmen doch nicht viel platz weg...
und elegant muß ja nicht sein, sondern funktional.

gruß stefan

Irgendwie habe ich es noch nicht verstanden.
Muss vor den Optokoppler nicht noch eine Gleichrichtung eingesetzt werden, oder nimmt man einfach das "Flackern" in Kauf und Puffert das mit nem kleinen Elko - richtig ?!

Kann mir da wer mal einen Wert für den Elko nennen?

LG

Es muß ein Gleichrichter da hin. Aber da reicht der Kleinste, den du bekommen kannst z.B.
http://www.reichelt.de/Gleichrichter/B80C800DIP/3/index.html?&ACTION=3&LA=2&ARTICLE=4674&GROUPID=2998&artnr=B80C800DIP
oder B80C2000RUND: Brückengleichrichter, 160 V, 2 A, rund bei reichelt elektronik
oder alternativ "zu Fuß" aus z.B. 4x 1N4148. Am Gleichspannungsausgang so ca. 10-47µF mit mindestens 40V, den Vorwiderstand und die LED des Optokopplers in Durchlassrichtung z.B. den hier: http://www.reichelt.de/Optokoppler/KB-817/3/index.html?&ACTION=3&LA=2&ARTICLE=76163&GROUPID=3046&artnr=KB+817
Ist doch eigentlich kein Ding. Platzbedarf einer Briefmarke und Kosten unter 1€ pro Kanal :wink:
Ach ja, eine LED in Reihe zum Optokoppler als Pegelanzeige ist sicherlich auch nicht die schlechteste Idee, damit man die Schaltzustände live sehen kann und die Strombegrenzung hast du eh schon gelöst.

Gruß Gerald

Ich danke dir Gerald

habe mir vorhin eine Elektroniksimulator installiert, wo ich u.a. durch einen Tastenklick unterschiedlichen Spannungen und Ihre Auswirkung genau nachvollziehen kann, ohne dass mir irgendwelche Bauteile heiß laufen oder abrauchen.

Dank dir habe ich jetzt den Plan und weiß was ich baue, wenn ich die Tage beim Elektronikhändler meines Vertrauens aufschlage :slight_smile:

Die Baugröße ist hier wirklich da A und O da es im Modellbau direkt in dem Objekt (versteckt) werden soll. Müsste aber alles noch machbar sein. Erstmal den Prototypen bauen :slight_smile:

Nochmals besten Dank für deine Hilfe und natürlich auch die Hilfe und Hinweise der anderen User.

Lg
Addy

Muss vor den Optokoppler nicht noch eine Gleichrichtung eingesetzt werden

ja, aber, wenn du keinen Brückengleichrichter - wie Gerald vorschlägt - willst:
Der Optokoppler - Eingang ( wie jede LED ) kann nicht so dolle negative Spannungen ab.
Besser eine Diode andersrum parallel zum Opto geschaltet.
Oder gleich eine LED: Dann sieht man auch gleich, dass ein Eingangssignal anliegt.
Gibt auch Optokoppler die haben zwei LED drin und liefern so doppelte Pulse.

Mal spaßenshalber ein Blick auf die verbratene Leistung

Bei der "verbratenen Leistung" im Vorwiderstand kann man übrigens die Effektiv-Spannung nehmen:
0.25 W kann also max. 24V * 10 mA, also min. ein Vorwiderstand von 2k7, der dann schon warm wird.
Oder entweder 2 * 1k hintereinander oder 2 * 4k7 parallel, die teilen sich dann die 0.3W

Auf der Sekundärseite des Optokopplers an ca 30k Pullup Widerstand
ergibt 4,7µF eine Zeitkonstante von ca. 100 ms : Das reicht für 50Hz und ist noch einigermassen schnell um das Ausbleiben der 50 Hz Pulse zeitig zu erkennen. (Dort muss ein Elko auch max 5V abkönnen)

Zur Not kannst du auch den Elko durch Software ersetzen: Wenn alle 20 ms ein LOW kommt, ist ein Signal da.

addyb:
Sprich die Eingänge sollen auch 9-24V Gleich oder Wechselspannung vertragen können.

Handelt es sich um digitale Eingänge, oder analoge?
Bei digitalen Eingängen reicht eine Z-Diode als begrenzung und eine Diode als Gleichrichtung, plus ein paar widerstände.

Die Frage ist: welche Frequenz? Wie schnell soll der Eingang reagieren? Diese Schaltung ist für 50Hz optimiert, Schaltet den Pin innerhalb von ca. 3ms ein und ca 50ms aus. Da brauchts keinen Optokoppler.

Die Schaltung von guntherb ist schon genau das richtige. Ich würde aber eine 5,1V Z-Diode nehem da die absolut Maxium Ratings mit 5,5V bei AVR Atmega angegeben ist damit ist man dann auf der absoult sichern Seite.

volvodani:
Die Schaltung von guntherb ist schon genau das richtige. Ich würde aber eine 5,1V Z-Diode nehem da die absolut Maxium Ratings mit 5,5V bei AVR Atmega angegeben ist damit ist man dann auf der absoult sichern Seite.

Deshalb ist hinter der ZD noch ein Spannungsteiler, den ich auch brauche und den C wieder zu entladen.
Keine Sorge, dem ATmega gehts nicht an den Kragen. :slight_smile:

Ihr seid die Besten.

Schönen danke für eure Bemühungen, werde ich gleich heute Abend mal ausprobieren. :slight_smile:

nur so ein Gedanke:

Ist es rein theoretisch technisch auf einfachem Wege möglich, ein Plus / oder Minuspotenzial abzufragen?
Dafür müsste man den Eingang ja auf ca. 2,5 V per Hardware bringen und kann so über die Programmierung sagen:
"Wenn Spannung 5V beträgt ODER 0V(GND) schalte Ausgang XYZ. Weiß aber nicht, ob man sowas in der Praxis macht.

LG
Addy

Vermutlich verstehe ich die Frage nicht richtig, aber:
Digitalpins beim Arduino sind auf jeden Fall potentialbehaftet und sollten nicht den Wert 2,5V haben.

Analog kannst du natürlich einen Offset von 2,5V dazugeben und den Analogwert auf zwei Grenzen abfragen.
In C gibt es sogar zwei ODER ( entweder | oder || ) :wink:

Um ("technisch auf einfachem Wege") einen Verpolungsschutz zu haben, ist Brückengleichrichter ( 4 Dioden ) angesagt. Potentialtrennung per Optokoppler.

Die richtige Antwort ist vermutlich : "Wofür willst'n das wissen ?"