Hallo! Ich habe vor eine IR-Doppellichtschranke zu bauen, welche erkennen soll, in welcher Richtung die Lichtschranke durchschritten wurde. Die Schaltung soll später einmal (erweitert um DCF-Uhr und Datenlogger) zur Protokollierung der Ein- und Ausflüge in einem Nistkasten dienen. Das heißt bei jeder Unterbrechung, sollen Datum, Uhrzeit und Richtung erfasst und gespeichert werden. Das ganze soll möglichst Batteriebetrieb funktionieren. Zunächst einmal geht es mir aber hauptsächlich um die Lichtschranke. Diese könnte man mit einer IR-LED und dem TSOP1738 als Empfänger realisieren. Als Mikrocontroller soll zunächst ein ATmega8 zum Einsatz kommen. Die Programmierung erfolg mit Bascom. Ursprünglich dachte ich, die einfachste Möglichkeit sei folgendes: Sender: Die IR-LED wird an PB1/OC1A des ATmega8 angeschlossen. Timer1 erzeugt die benötigte Frequenz von 36 kHz (ohne Unterbrechung). Empfäger: Die Ausgänge der beiden TSOP1736 werden direkt an Ports des ATmega8 angeschlossen. Die Software übernimmt die gesamte Auswertung Jetzt lese ich aber im Datenblatt des TSOP1736, dass der Empfänger nicht ununterbrochen mit der Trägerfrequenz bestrahlt werden darf. Laut Hersteller soll jeweils nach 10 bis 70 Impulsen eine Pause folgen ("After each burst which is between 10 cycles and 70 cycles a gap time of at least 14 cycles is neccessary."). Das macht die Sache aufwendiger. Das Sender-Signal kann nun nicht mehr vom Timer1 selbständig erzeugt werden (oder doch?). Und auch die Auswertung erfordert eine viel höhere CPU-Belastung. Ist diese Einhaltung der Pausen wirklich notwendig? Andererseits bedeutet der ununterbrochene Berieb der IR-LED ja auch einen erhöhten Stromverbrauch. Macht es Sinn die Signalerzeugung und die Auswertung komplett vom uC durchführen zu lassen oder sollte man lieber eigene Schaltungen dafür aufbauen?
Macht es Sinn die Signalerzeugung und die Auswertung komplett vom uC durchführen zu lassen oder sollte man lieber eigene Schaltungen dafür aufbauen? JA. Der hat bei dem Beispiel eh nicht viel zutun. Und das oben beschriebene Problem mit der Lücke, ist ja auch mit dem Timer machbar. Ich würde folgendes empfehlen: Timer läuft auf 36kHz im PWM-Mode mit 25% (oder kleiner) Tastverhältnis. Somit kannst du die LED mit mehr Strom pulsen (nat. nur soviel wie nötig für die Lichtschranke) Die 10..70 Impulse beziehen sich meines WIssens auf eine Anwendung einer IR-Fernbedienung (Fernseher o.so) und NICHT auf die 36kHz-Impulse. Also kannst du nach zB 1Sekunde eine Pause einlegen. (Inwieweit das ein Problem beim Vögelzählen ist weiß ich nixht) Die Auswertung der Empfänger kann über Interrupt erfolgen, (evtl sogar ICP). Somit kann ein zweiter (?) Timer als Zeitbasis dienen. Dieser könnte Seknunden, Minuten, Hunderstel... liefern...
Vielen Dank für die Antwort! Wenn ich dich richtig verstehe, muss ich in meinem Anwendungsfall keine Pausen/Lücken berücksichtigen, sondern kann den Empfänger ununterbrochen mit 36 kHz bestrahlen. Die Frequenz lässt sich mit einem Timer erzeugen und durch Einstellen eines geringeren Tastverhältnisses lässt sich der Stromverbrauch des Senders verringern. Ist das so richtig? Welches Tastverhältnis benötigt denn der TSOP1736, um fehlerfrei zu arbeiten? > Timer läuft auf 36kHz im PWM-Mode mit 25% (oder kleiner) Tastverhältnis. > Somit kannst du die LED mit mehr Strom pulsen Was meinst du damit? Dass die LED bei kleinerem Tastverhältnis einen höheren Strom verkraftet als bei einem größeren?
>Die 10..70 Impulse beziehen sich meines WIssens auf eine Anwendung einer >IR-Fernbedienung (Fernseher o.so) und NICHT auf die 36kHz-Impulse. Dann stimmt dein Wissen nicht mit dem Datenblatt überein: "After each burst which ist between 10 cycles and 70 cycles a gap time of at least 14 cycles is necessary." und "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." http://www.vishay.com/docs/82030/82030.pdf >Was meinst du damit? Dass die LED bei kleinerem Tastverhältnis einen >höheren Strom verkraftet als bei einem größeren? Ja. das ist richtig. Es kann aber sein, dass der TSOP damit Probleme bekommt... Das einfachste ist doch, den Timer konstant mit der Frequenz laufen zu lassen und den OC-Pin an dem die LED hängt nach einer gewissen Anzahl von Durchläufen auszuschalten und nach der Pause wieder einzuschalten. Diese Pause muß man natürlich bei der Lichtschrankenabfrage berücksichtigen. Ich würde übrigens vorschlagen, den TSOP1740 zu verwenden, da man aus dessen Betriebsfrequenz auch eine Zeitbasis für die Uhr erzeugen kann...(nein, man braucht keine externe RTC! Zumindest nicht bei dieser Anwendung, da der Controller sowieso die ganze Zeit läuft.)
Die Sensoren haben ne AGC, damit sie sich auf wechselnde Entfernungen und Umgebungslicht einpegeln können. Dazu ist aber dieses Pulsen/Pause Spielchen notwendig, damit sich die AGC mit der Triggerschwelle genau dazwischen einpegelt. Peter
> Das einfachste ist doch, den Timer konstant mit der Frequenz laufen zu > lassen und den OC-Pin an dem die LED hängt nach einer gewissen Anzahl > von Durchläufen auszuschalten und nach der Pause wieder einzuschalten. Wie würde man dieses Ein- un Ausschalten denn bewerkstelligen? > Ich würde übrigens vorschlagen, den TSOP1740 zu verwenden, da man aus > dessen Betriebsfrequenz auch eine Zeitbasis für die Uhr erzeugen kann... Könntest du das etwas genauer erklären? Meinst du, dass der zur Erzeugung der Senderfrequenz verwendete Timer dann auch das Zeitsignal liefern kann, oder dass dann ein Quarz verwendet werden kann, der sowohl für die Erzeugung des Sendersignals mit dem einen Timer als auch für die Erzeugung des Sekundentakts mit dem zweiten Timer gut geeignet ist? Was für einen Quarz würde man denn sinvollerweise einsetzen?
>Wie würde man dieses Ein- un Ausschalten denn bewerkstelligen? über die COMxy-Bits in einem der Timer-Control-Register. >Könntest du das etwas genauer erklären? 40kHz ergibt eine Periodendauer von 25µs. Daraus könnte man ohne grosses Rumgerechne eine sekundentaugliche Zeitbasis basteln. Naja, eigentlich ist egal. Bei der einen Frequenz zählt man 36.000 Durchläufe und bei der anderen 40.000, um auf eine Sekunde zu kommen - passt beides in eine 16-Bit-Variable.
Hallo, vielen Dank für eure Antworten. Ihr habt mir damit schon ein gutes Stück weitergeholfen. Ich denke, eine solche Doppellichtschranke sollte ich nun aufgebaut kriegen. Wo ich mir noch nicht so sicher bin, ist, ob die Schaltung für meine späteren Zwecke (Datenlogger für Nistkasten) gut geeignet ist. Insbesondere denke ich da an den Stromverbrauch der Schaltung, die ja mit einer Batterie betrieben werden soll. Zu den einzelnen Komponenten habe ich mir da folgende Gedanken gemacht: Mikrocontroller: Der ATmega8 ist sicher nicht optimal geeignet. Er verbraucht relativ viel Strom und ist für meine Zwecke vielleich auch überdimensioniert. Bisher habe ich nur mit dem M8 gearbeitet. Ich gehe aber davon aus, dass im Endeffekt ein kleinerer AVR, der vielleicht auch bei einer geringeren Spannung arbeitet, zum Einsatz kommt. TSOP: Die benötigten 5V könnten für Batteriebetrieb ungünstig sein. Der wegen der AGC nötige Pulsbetrieb verhindert, dass man den AVR so lange in den Sleep-Modus schicken kann, bis eine Unterbrechung des Lichstrahls erfolgt. Das gleiche gilt für die benötigte Trägerfrequenz, die nicht ganz ohne CPU-Belastung erzeugt werden kann (Sehe ich das richtig?). IR-LED: Der Stromverbrauch der LED lässt sich über drei Parameter verringern: - über das Tastverhältnis der Trägerfrequenz (welches Tastverhältnis erwartet der TSOP?) - über das Tastverhältnis der Signale (Bursts/Gaps) - über die Stromstärke, mit der sie betrieben wird? Sind meine Überlegungen richtig? Was könnte man ändern? Was für Bauteile wären besser geeignet? Wäre toll wenn ihr mir nochmal auf die Sprünge helfen könntet.
Das Problem wird eher die Hardware sein. Theoretisch ist das ja alles wunderbar, aber versuche erst einmal eine normale serielle Übertragung bei Tageslicht oder direkter Sonneneinstrahlung zu realisieren. Ohne Filterscheiben und Abschattungen (matt-schwarz) wird das nix werden! - Können Vögel eigentlich im Infrarotbereich sehen? Vielleicht stört sie's ja? ;-)
Vieleicht waere es auch möglich das du eine Phototransistor nimmst. Wenn die Helligkeit Sprunghaft sich ändert ist ein Objekt vorbeigeflogen. Den AVR kannst du dabei in den Sleep schicken und wenn eine ADC wandlung fertig ist weckt er sich automatisch wieder auf, dazu noch ein Timer im 1s takt.
Gib den Viechern Stechkarten und montier' eine Stechuhr! :-)) Im Ernst, Infrarot ist da wohl nicht grade die preisgekrönte Sau! Du könntest da ganze auch über zwei kleine gespannte (gleich lange) Drähte oberhalb und unterhalb (oder rechts und links) machen und den einen mit ein paar MHz beaufschlagen. mit dem Anderen wird gemessen und die Feldstärke ausgewertet. Bei uns im Geschäft funktioniert ein Objektschutz-Zaun auf diese Weise. Ist natürlich 'n bische aufwändiger, aber dafür zuverlässig und witterungsunabhängig.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.