Vor ein paar Tagen habe ich eine Schaltung mit einem Arduino Board nachgebaut und habe dabei "Blut geleckt" in Sachen Arduino. Also habe ich mich da etwas eingelesen und schon sprudeln die Ideen nur so raus
Jetzt habe ich folgendes Problem, bei dem ich mir nicht ganz sicher bin, wie ich es lösen soll.
Ich habe noch ein Arduino Pro Mini 3.3V rumliegen und möchte mit dem das PWM Signal von einem Kanal eines RC-Empfängers auslesen. Die Signallänge liegt dabei zwischen 1ms bis 2ms. Soweit ist das ja kein Problem und kann auch in der Software einfach erfasst werden.
Jetzt zu meinem Problem. Die Spannung, welche an meinem Empfänger anliegt, ist je nach Modell zwischen 5.5V und 6V, mein Arduino Pro Mini verträgt ja aber nur 3.3V.
Mit was für einem Bauteil bringe ich jetzt die Spannung am besten runter, ohne dass das Signal verfälscht wird. Ich hätte da an einen Spannungsregler wie den LE33CZ gedacht, bin mir aber nicht sicher ob das so klappen wird.
Ein Spannungsteiler aus zwei gleich großen Widerständen, zum Beispiel 2x 1kOhm. Damit halbierst du die Spannung, 6V werden somit zu 3V, die du gefahrlos am Analogpin auswerten kannst.
uwefed:
Du kannst auch einen "Spannungsteiler" mit einem Widerstand und einer 3V Z-Diode verwenden.
Uh, das ist aber nicht ganz so einfach...
Jetzt versehe ich Dich nicht Joghurt was da kompliziert ist. Wir reden hier von einem digitalen PWM-Signal mit 5-6V. Vorwiderstand berechnen daß an der Z-Diode daß ca 5mA fließen. Der Vorteil ist daß auch bei Überspannungen Arduino nie mehr als die z-Diodenpannung bekommt. Bei einem ohmschen Spannungsteiler bekommt Arduino immer das Spannungsverhältnis des Spannungsteilers ab.
Grüße Uwe
(Hatte leider nur eine 6V Z-Diode da, deswegen habe ich einen 1,2k Ohm Widerstand genommen, damit bei 12V Deine 5mA fliessen, damit mein Aufbau analog zu Deinem Beispiel ist.)
Bekommen hab ich dann:
Eingangsspannung Z-Diodenspannung
12,0 V 5,92 V -> hab wohl eine 5,92 Volt Z-Diode. ;)
10,0 V 5,92 V
8,0 V 5,92 V
6,0 V 5,85 V
4,0 V 4,0 V
2,0 V 2,0 V
Ich würde im vorliegenden Fall einen Spannungsteiler verwenden, da er die Spannung ja nur reduziert und ansonsten möglichst unverfälscht haben will, und eine Z- oder Zener-Diode nur dann wenn ein eingegrenzten Spannungsbereich möglichst genau gemessen werden soll.
Wenn man z.B. eine Spannung hat, die garantiert nur zwischen 9V und 12V schwankt, könnte man eine 9V Z-Diode und einen Widerstand in Reihe schalten und damit über dem Widerstand dann 0 bis 3 Volt messen (also einem digitalen Wert von 0 bis 931 am analogen Eingang), wohingegen über einen Spannungteiler nur etwa 2,475V bis 3,3V möglich wären, also einen Bereich von 0,825V, was einem digitalen Wert von 0 bis 256 entspräche, also von der Auflösung her etwas mehr als nur einem Viertel davon.
Wenn er natürlich nur das abstrakte PWM-Signal selbst digitale dekodiert haben will und ihm die angelieferte analoge Spannung selbst egal ist (also Benutzung eines "D"-Eingangs und keines "A"-Eingangs) ist so ein Z-Dioden-Spannungsteiler natürlich schon eine der sichereren Lösungen.
Bei einer Erfassung des PWM Wertes (Verhältnis Ton zu Toff) oder richtiger eines PPM Wertes (Ton) ist die effektive Spannung unwichtig. Hauptsache die Spannung ist innerhalb der H bzw L Level und wird als H bzw L erkannt.
Das ist das was gefragt wurde:
someone83:
... Ich habe noch ein Arduino Pro Mini 3.3V rumliegen und möchte mit dem das PWM Signal von einem Kanal eines RC-Empfängers auslesen. Die Signallänge liegt dabei zwischen 1ms bis 2ms. Soweit ist das ja kein Problem und kann auch in der Software einfach erfasst werden.
Jetzt zu meinem Problem. Die Spannung, welche an meinem Empfänger anliegt, ist je nach Modell zwischen 5.5V und 6V, mein Arduino Pro Mini verträgt ja aber nur 3.3V. ...
Für diesen Zweck genügt ein Widerstand und eine Z-Diode.
Zur Messung einer analoge Spannung (Analogwert) ist ein ohmschen Spannunngsteiler zweckmäßiger. Um den Arduino Eingang vor Überspannung zu schützen ist eine Z-Diode paralell zum Eingang des Arduino notwendig. (5,1V oder 3,3V ja nach Betriebsspannung des ATmega) Dese begrenzt die Spannung wenn diese größer als die Betriebsspannung des Atmegas wird.
Eben und deshalb würde ich gar keinen Spannungsteiler sondern einen Optokoppler nehmen. Das ist zwar oft overkill, aber danach muß man sich keine Gedanken um eventuell gegrillte Ports machen.
Da ist ja grade ne interessante Diskussion daraus entstanden!
Die Variante mit der Z-Diode gefällt mir bis jetzt am besten, da die Spannung genauer berechnet werden kann als bei einem normalen Spannungsteiler mit 2 Widerständen. Der Optokoppler hört sich zwar auch gut an, aber von den Dingern habe ich nicht wirklich Ahnung und wurde bei der Suche nach einem (habe online beim grossen C gesucht weil der gleich bei mir um die Ecke ist) nicht wirklich auf die schnelle fündig, was für einen ich da nehmen soll. Auch der Aufbau der Schaltung kommt mir da ein wenig aufwändiger vor.
Die genaue Spannung ist mir auch nicht so wichtig, ich muss eigentlich nur zwischen High und Low unterscheiden können. Ziel der Schaltung ist im Endeffekt der, dass ich über die Fernsteuerung so 3-4 Werte (unterschiedlich lange PWM-Signale) schicken kann, welche dann bei einem für Nachtflug ausgerüsteten RC-Heli die RGB-LED Streifen auf eine bestimmte Farbe oder einen Farbverlauf schalten.
Noch kurz um sicher zu gehen. Ich würde also eine 3.3V Z-Diode (http://www.conrad.ch/goto.php?artikel=063970) nehmen. Da ich Spannungen zwischen 5.5 und 6V erwarte ergibt das bei den 5mA einen Widerstand zwischen 440 und 540 Ohm. Also würde ich einen 470 Ohm Widerstand einsetzen. Stimmt das soweit?