12V Lichtschranke am Arduino Uno

Hallo erstmal,

ich würde gerne die Hinderniserkennung von einem alten Garagentor als Lichtschranke an meinem Arduino Uno betreiben. Da ich aber mehr der Software Typ bin, überlege ich jetzt seit 3 Tagen, wie ich das Hardwaretechnisch anschließen muss.
Das Datenblatt der Lichtschranke sagt:
Eingang: 10-16V, max 40mA
Ausgang: 0-2V Low, 3-5V High, Rechtecksignal, Transistorausgang belastbar mit max. 20mA.
Das ganze hat drei Adern, V, GND und SIGNAL.

So wie ich das sehe, sollte der Ausgang damit nicht in der Lage sein, den Arduino zu grillen.
Ich hätte jetzt den Arduino mit einem 12V Netzteil betrieben, und mir von da dann 12V für die Versorgung der Lichtschranke geholt(oder geht das über VIN?), GND an GND des Arduino und bei SIGNAL bin ich mir halt unsicher, ob der direkt an einen der DigitalPins kann und wenn ja, ob ich da die internen Pullups verwenden sollte oder lieber extern etwas aufbaue.
Oder bietet sich eine Absicherung mittels Dioden/Optokopplern an? Mit Spannungsmessgerät lässt sich sowohl ein Wechsel- als auch ein Gleichanteil messen, von da her bin ich mir echt nicht sicher, wie ich das am besten schalten soll, ohne gleich etwas kaputt zu machen...

Ich wäre für jede Hilfe dankbar, hat vielleicht schonmal jemand etwas ähnliches gebaut?

Die meisten Lichtschranken haben einen Open Collector Ausgang.
Der NPN Type ist da zu bevorzugen, da direkt, ohne Zusatzbeschaltung, verwendbar.
(ok, bei längeren Leitungen kann ein niederohmiger (ca 1K) Pullup sinnvoll sein)

Bei PNP Ausgängen ist etwas Zusatzbeschaltung nötig.

MiamXd:
...
So wie ich das sehe, sollte der Ausgang damit nicht in der Lage sein, den Arduino zu grillen.
...

Ein Arduino lässt sich, wenn’s blöd läuft, sehr schnell himmeln. Üblicherweise sind sie aber ziemlich robust, finde ich.

Deine Überlegungen scheinen mir korrekt zu sein. Ich würde das Ausgangssignal der Lichtschranke einfach testweise mal an einen digitalen oder analogen Eingangspin anschließen und gucken, was der Arduino daraus macht. Um das zu verfolgen, kannst Du entweder den seriellen Monitor verwenden oder die LED an Pin 13 schalten.

HTH

Gregor

Ich würde nicht gleich den arduino anklemmen.
Nimm mal einen Widerstand (10k) und häng den zwischen Ausgang und 12 V.
Dann mit Multimeter messen - so bekommst Du raus, ob das wirklich ein Open Collector ist.

Wenn ok dann ab an den arduino - aber natürlich dann nicht mit den 12 Volt, is klar :smiling_imp:

Ob die internen Pullups reichen zeigt sich in der Praxis. Hängt halt von Leitungslänge, Störpegel etc. ab.

12V würde ich schon nicht auf den Arduino geben^^
Also versteh ich das richtig, 12V auf die Versorgungsleitung, GND an GND und dann mit 10k Widerstand zwischen V und Signal messen? Was sollte dann da am besten raus kommen?

Na, da sollte entweder 12 Volt oder 0 V (annähend) rauskommen. Dann ist die Chance sehr hoch, dass es ein Open Kollektor ist. Polarität ist dann für später noch wichtig zu wissen: 12 Volt bei offener Schranke oder geschlossener.

Hm, konnte am 10k Widerstand 8,5V messen bei 10V gemessener Versorgungspannung. Ich organisier mir mal ein anderes Multimeter, die Werte kommen mir doch etwas komisch vor, das Netzteil liefert nämlich eigentlich ziemlich genau 12 V