Hallo,
also ich habe für eine IR-Lichtschranke ein Programm geschrieben, mit
dem ein Signal für den TSOP1733 moduliert wird.
Hier mal der Abschnitt dafür:
Also dieser Code soll dann ein Signal von ca. 33kHz erzeugen, an Pin B1.
An B1 habe ich einen 1kOhm Widerstand , der geht an die Basis eines BC
557C. am Emitter des BC hängt VCC und am Collektor die IR-LED über einen
Vorwiderstand. Ein Strom kommt bei der LED auf jeden Fall an, nur in
welcher Frequenz kann ich nicht überprüfen, habe kein Oszilloskop.
Achso, der Mega läuft mit 8MHZ und TSOP habe ich auch schon umgetauscht.
Meine Frage:
Woran kann das liegen, das der TSOP immer auf High bleibt, also kein
Signl empfängt?
mfg
wie das versthe ich jetzt nicht ganz. Die Frequenz wird ja an den Pin
ausgegeben und da hängt dann über BC557 wie oben beschrieben die LED
dran. habe auch geschaut, wenn ich den Basis-Strom wegnehme, dann kommt
auch nichts mehr bei der LED.
Der TSOP1733 möchte gerne Daten haben, nicht nur ein Dauersignal mit
33kHz. Damit der TSOP gut funktioniert musst du die 33kHz noch mit ein
paar 100Hz ein und aus schalten.
Aus dem Datenblatt:
Suitable Data Format
The circuit of the TSOP17.. is designed in that way that
unexpected output pulses due to noise or disturbance
signals are avoided. A bandpassfilter, an integrator
stage and an automatic gain control are used to
suppress such disturbances.
The distinguishing mark between data signal and
disturbance signal are carrier frequency, burst length
and duty cycle.
The data signal should fullfill the following condition:
• Carrier frequency should be close to center
frequency of the bandpass (e.g. 38kHz).
• Burst length should be 10 cycles/burst or longer.
• After each burst which is between 10 cycles and 70
cycles a gap time of at least 14 cycles is neccessary.
• For each burst which is longer than 1.8ms a
corresponding gap time is necessary at some time in
the data stream. This gap time should have at least
same length as the burst.
Benedikt K. wrote:
> Der TSOP1733 möchte gerne Daten haben, nicht nur ein Dauersignal mit> 33kHz. Damit der TSOP gut funktioniert musst du die 33kHz noch mit ein> paar 100Hz ein und aus schalten.
Und dann bleibt er am Ausgang aber trotzdem auf Low?
Martin K. wrote:
> Und dann bleibt er am Ausgang aber trotzdem auf Low?
Nein, er zeigt die 1 und 0 Pulse an, die gesendet (mit der die 33kHz
moduliert) werden.
Das Problem ist dann aber, das ja jedes mal die Lichtschranke angeblich
unterbrochen wird, obwohl sie ja im Prinzip nicht unterbrochen wird.
Ein Dauersignal von 33kHZ empfängt er also nicht?
Geht es denn nicht leichter als mit so einem Manchester Code? Weil ich
ja im Prinzip keine Daten sende will, sondern soll ja nur das Signal
kommen ob das Licht da ist oder nicht.
>Geht es denn nicht leichter als mit so einem Manchester Code?
Ja, du brauchst nur Pulse. Also moduliere deine 33kHz einfach
mit z.B. 100Hz. 5ms lang 33kHz senden, 5ms aus.
Benedikt K. wrote:
> • Burst length should be 10 cycles/burst or longer.
-> Mindestens 10 Takte, also max 3,3kHz
> • For each burst which is longer than 1.8ms a> corresponding gap time is necessary at some time in> the data stream. This gap time should have at least> same length as the burst.
-> Das Tastverhältnis sollte etwa 50% betragen.
200Hz sollten also OK sein. Unter 100Hz würde ich aber nicht gehen.
Also ich denke, das das Signal jetzt richtig moduliert wird. Aber musste
feststellen, das es leider immer noch nicht funktioniert. Die LED
leuchtet auf jeden Fall, am TSOP liegts ja auch nicht.
also hier mal mein Porgramm:
also das Programm sol so funktionieren:
mit Timer1 wwerden die 33kHZ erzeugt.
durch die Warteschleifen wird das 33 kHZ-Signal ein-und ausgeschaltet
Timer0 überwacht das ganze, wird kein Interrupt mehr ausgelöst, wird das
Zählregister des Timer0 nicht mehr gelöscht und es entsteht ein
Timerinterrupt --> Tonausgabe
Also im Simulator funktioniert es bei mir eigentlich, aber wenn ich das
Programm anschalte auf dem µc wird sofort der Ton ausgegeben.
Hat denn keiner eine Ahnung woran das liegen könnte, das der Ton sofort
ausgegeben wird. Muss ja daran liegen das der TSOP das Signal nicht
richtig empfängt, aber wieso empfängt er es nicht richtig?