PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lichtshranke an Atmega



robot
02.07.2005, 18:48
Hallo,

ich möchte eine kleine Lichtschranke an einen Atmega anschließen.

Eine Sende-LED soll auf einen Fototransistor strahlen. Durch eine Mechanik kann zwischen Sende-LED und Fototransistor eine Blockade geschoben werden. Diese unterbricht den Lichtstrahl und dadurch soll dann im Atmega "etwas ausgelöst werden". Also wie ein Schalter, der betätigt wird.

Die Sende-LED wird mit Vorwiderstand an Spannungsquelle angeschlossen.
Fototransistor (mit Widerstand) gegen Masse geschaltet. Habe versuchsweise Fototransistor nicht an Atmega geschaltet, sondern an eine Prüf-LED, die leuchtet, wenn Licht auf den Fototransistor fällt. Leider ist die Sende-LED nicht starkt genug, so leuchtet die Prüf-LED nur, wenn die Sende-LED direkt den Fotostransistor berührt. Es handen sich um eine Sende-LED die sichtbares Licht ausstrahlt. Die Lichtschranke ist weitesgehenst von Umgebungslicht (Sonnenlicht) geschützt.
Also habe ich gedacht, dass ich den Strom des Fototransistors mit einem zusätzlichen Transistor verstärke. Nun leuchtet die Prüf-LED jedoch immer (wenn auch nur ganz), also habe ich den Basiswiderstand erhöht (1,5M), die Prüf-LED leuchtet jedoch immer noch ganz schwach, wenn die Blockade vor dem Fototransisor ist. Fällt das Licht der Sende-LED direkt auf den Fototransistor, leuchtet die Prüf-LED zwar heller, aber ich will ja für den Atmel 0 und 1 als Werte haben, wie bei einem Schalter. Was also tun? Ab was für einer Spannung schaltet eigentlich ein Digitaleingang eines Atmega 8?
Ich will den Fototransistor wie gesagt an einen Digitaleingang des Atmegas anschließen, Oder muss ich ihn an einen analogen Eingang anschließen und die Spannung am Fototransistor (oder am zusätzlichen Transistor?) messen und dann im Programm einen Schwellenwert definieren?)
Es wäre sehr nett, wenn ihr mir helfen könntet.
Danke!

sebastian.heyn
06.07.2005, 19:07
Hallo,

habe sowas mal vor längerer zeit diskret gebaut, damit du ordentlich reichweite hast solltest du:
1) die sende LED takten (zb 1khz)
2) die sende led übersteuern (da sie übertaktet ist wird sie nicht wegbrennen)

am anderen ende lässt du einen zähler mit etwa 2khz laufen, der durch ein eintreffendes infrarotsignal resettet wird. Nun kann man zum beispiel sagen man wartet bis wert 10 erreicht ist (5 takte am sender ausgelassen) danach löst man eine selbsthaltung aus, welche durch neue impulse vom sender zurückgesetzt wird.