HIGH/LOW Voltage

Ab welcher Spannung wird ein Signal als HIGH erkannt, vom Arduino 2009 ?

Ich gehe stark davon aus, dass es die üblichen TTL-Pegel sind, wie man sie hier nachlesen kann: http://de.wikipedia.org/wiki/Transistor-Transistor-Logik Ich gehe mal davon aus, dass du das schon gemacht haben wirst. Um es ganz genau zu wissen, kannst du das mit Hilfe eines Potis leicht ermitteln: die äußeren Anschlüsse auf 5V und GND, den Mittelabgriff auf einen Digitalpin. Dann schreibst du einen kleinen Sketch, der über die LED an Pin 13 anzeigt, ob High- oder Low-Pegel am zuvor genannten Digitalpin anliegen. Dreh das Poti und versuche möglichst genau die Schaltschwelle zu erwischen, danach kannst du diesen Wert bei ansonsten gleicher Beschaltung an einem Analogeingang auslesen. Der Rest ist reine Mathematik, die map()-Funktion macht es dir aber ganz leicht, den Analogwert (0-1023) in eine Spannung (0-5V) umzuwandeln.

Wow !

Das ist wirklich ein sehr anschauliches Beispiel !

Vielen Dank auch !

Megaionstorm: Ab welcher Spannung wird ein Signal als HIGH erkannt, vom Arduino 2009 ?

Die Antwort gibt auch hier wieder das Atmel-Datenbuch

http://www.atmel.com/Images/doc8271.pdf

z.B. für den 328P in Kapitel 29.2 DC Characteristics: danach wird ein Eingangssignal, das kleiner als 0,3*Vcc ist, garantiert als LOW gelesen und ein Eingangssignal, das größer als 0,6*Vcc ist, garantiert als HIGH gelesen. Vcc ist üblicherweise 5 Volt. Dies sind auch die Werte, die man tunlichst für einen zuverlässigen Betrieb einhalten sollte!

Die tatsächlichen Werte sind ebenfalls dem Datenbuch zu entnehmen (Kapitel 30.8.9: Pin Threshold and Hysteresis, Figure 30-354 und 30-355). Demnach wird bei 5Volt Versorgungsspannung ein HIGH bei ca. 2,6 V gelesen und ein LOW bei ca. 2,1 V. D.h. wir haben zwei unterschiedliche Werte für das "Ein- und Ausschalten", je nachdem was wir vorher hatten! Die Größe dieser Hysterese ist in Figure 30-356 dargestellt. Sie ist im übrigen noch temperaturabhängig.

Meiner Meinung nach sollte man sich nicht darauf verlassen, dass ein Eingang bei einer (irgendwann mal experimentell gefundenen) Spannung außerhalb der eingangs aufgeführten Grenzen schaltet!!

Wenn das Ganze deshalb veranstaltet werden soll, weil man einen Ausgang beispielweise mit 3,3 V Ausgangsspannung an einen Eingang eines mit 5Volt betriebenen Arduinos anschließen will, sollte man auf jeden Fall eine Art Pegelwandler dazwischenschalten.

Gruß Wolfgang

Arbeite zur Zeit mit PIR-Sensoren, der eine liefert ein 3,0V und der andere ein 3,3V Signal.

Werde da wohl am besten einen Pegelwandler benutzen ! http://www.watterott.com/de/Pegelwandler

Megaionstorm: Arbeite zur Zeit mit PIR-Sensoren, der eine liefert ein 3,0V und der andere ein 3,3V Signal.

Mit 0,6 * Vcc (=3Volt) für HIGH liegst du ja gerade an der zulässigen Grenze. Das könnte noch gehen, aber viel Reserve hast du da nicht. Und die Pegelwandler sind doch ganz "schnuckelig" und der Preis ist auch OK.

Nachtrag: Die Pegelwandler scheinen ja nicht auf Lager zu sein. Ein "normaler" Transistor mit einem Vorwiderstand und einem Kollektorwiderstand tut's bei den zu erwartenden Schaltzeiten natürlich auch. Die invertierte Logik kann man ja im Programm leicht ausbügeln.