Als Input ist er eingestellt. Aber dann wäre der Ausgang des Sensor ja immer auf High! Und er könnte nicht mehr auf Low schalten oder?
Der Ausgang vom Sensor muss über einen Widerstand (zirka 10K) an VCC gelegt werden. Der betreffende Port am Atmel muss per Software als "Input" konfiguriert sein.
Als Input ist er eingestellt. Aber dann wäre der Ausgang des Sensor ja immer auf High! Und er könnte nicht mehr auf Low schalten oder?
Wenn der Ausgangstransistor vom Sensor durchgeschaltet ist, fließt ein Strom durch den Pull-Up Widerstand und die Ausgangsspannung ist LOW.
Wenn der Ausgangstransistor sperrt, zieht der Pull-Up die Spannung am Ausgang auf High-Pegel.
Okay, ich werd es morgen mal ausprobieren, dann sag ich bescheid, ob es geklappt hat. Vielen Dank bis dahin.
Ich habe den Ausgang einmal über den Pin des Atmega mit Pull-Up auf Vcc gesetzt und einmal mit einem Pull-Up auf Vcc des Sensors. Beides behebt den Fehler allerdings nicht.
Der Atmega hat eine Versorgungsspannung von etwa 3,5V, der Sensor von 5V. Kann das das Problem sein?
Der Sensor erzeugt kein HIGH oder LOW-Signal sondern hat am Ausgang nur einen NPN-Transistor, der nach bei LOW nach Masse durchschaltet. Der Kollektor von diesem Transistor ist unbeschaltet und (als Ausgangspin) aus dem Sensor heraus geführt.
Bei getrennten (und noch dazu unterschiedlichen) Betriebsspannungen musst du den Pull-Up Widerstand (zirka 5K ... 10K) an die Betriebsspannung vom ATMEL (nicht vom Sensor) anschließen.
Okay, bloß der Atmel sollte ja eigentlich selber einen Pull-Up am Eingangs-Pin, an dem der Sensor angeschlossen ist, erzeugen können laut Datenblatt. Dann probier ich es mal mit einem extra eingelöteten Widerstand aus.
Auch das funktioniert nicht. Langsam bin ich ratlos...
Am besten von allen Versuche ging es immer noch, als der Ausgang des Sensor direkt am Atmel angeschlossen wurde, und dieser einen eigenen Pull-Up erzeugt hat. Doch auch so funktioniert es nicht richtig.
HmmZitat von r2d2matze
Hast du mal die Betriebsspannung vom Sensor nachgemessen? Am besten mit einem Oszilloskop. Wenn sie mit einer Störspannung überlagert ist, hilft vielleicht ein Kondensator. Am besten ist immer ein Elko und ein Keramikkondensator parallel. Die Betriebsspannung vom Sensor sollte nicht mehr als 0,25V vom Sollwert (5V) abweichen.
Evtl. ist auch der Eingangsport vom Atmel beim herumprobieren irgendwann mal überlastet worden und defekt. Hast du es schon mal an einem anderen Port probiert?
Ich benutze einen Festspannungsregler, um den Sensor mit 5V zu versorgen. An diesem ist auch ein Kondensator geschaltet, von daher sollte die Spannung eigentlich störungsfrei sein.
An einem anderen Port funktioniert der Sensor ebenfalls nicht.![]()
Lesezeichen