Archiv verlassen und diese Seite im Standarddesign anzeigen : Infrarot-Empfänger
Ich habe die Schaltung für den TSOP1736 von Luk-As mal an einem ATMega16 ausprobiert.
https://www.roboternetz.de/phpBB2/viewtopic.php?t=812
Von der Schaltung her ist das ja verblüffend einfach und es funktioniert einwandfrei.
Jetzt würde mich aber auch interessieren, warum, bzw. wie das überhaupt funktioniert ;-)
Ich habe das Bascom-Programm von Luk-As etwas abgewandelt, weil ich nur eine LEDs angeschlossen habe und ein normale Fernbedienung, die man nicht programmieren kann benutzt habe:
$crystal = 4000000
$baud = 19200
$lib "mcsbyte.lbx"
Config Portd = Input
Config Portb = Output
Config Rc5 = Pind.5
Enable Interrupts
Dim Adress As Byte , Command As Byte
Do
Getrc5(adress , Command)
Waitms 150
If Adress < 255 Then
Print "Adresse: " ; Adress ; " Command: " ; Command
Toggle Portb.0
End If
If Command < 255 Then
Print "Adresse: " ; Adress ; " Command: " ; Command
End If
Loop
Wenn ich jetzt irgendeine Taste auf meiner Fernbedienung drücke, werden "Adress" und "Command" über die serielle Schnittstelle ausgegeben und ich kann beides in einem Terminal Programm mitlesen.
Aber, wie kommen die Daten überhaupt in den Controller? Der TSOP hängt doch an einem einfachen Digital-Eingang, d.h. der kann eigentlich nur "high" oder "low" messen. Oder hat der Eingang noch eine andere Funktion und es war mehr oder weniger Zufall, dass PortD.5 den Luk-As beim AT90S2313 verwendet hat, beim ATMega16 dieselbe Funktion hat?
Wie werden die beiden Bytes "Command" und "Adress" übertragen? Seriell ?
Der TSOP1736 arbeitet mit einer Freguenz von 36MHz. Spielt diese Frequenz eine Rolle für den Controller oder ist es nur wichtig, dass TSOP und Fernbedienung dieselbe Frequenz nutzen? Oder ist die Frequenz ganz egal?
Kann mir da jemand weiterhelfen das wenigstens ganz grob zu verstehen? Muss keine exakte Erklärung bis ins Detail sein, eine ganz grobe Vorstellung reicht mir völlig ;-)
Ein Link auf irgendeine Seite wo es erklärt wird tuts natürlich auch.
Danke
Es ist so, dass eine Fernbedienung, die den RC5 Code verwendet einen 14Bit langen Code aussendet, der mit 36kHz moduliert ist (eine Modulation muss sein, da sonst keine Chance bestände, das IR-Licht des Senders von natürlichen/anderen künstlichen Quellen zu unterscheiden). Der TSOP17xx demoduliert die 14Bit Daten und schickt sie so wie sie ankommen (also seriell) über seinen Outpin hinaus. Er kann mit max 2400 Bits pro Sekunde senden. Nebenbei ist der TSOP17xx noch gegen elektromagnetische Einflüsse und gegen Umgebungslicht abgeschirmt (bzw. wird gefiltert). Außerdem verstärkt er das Signal.
Der µC braucht dann nur noch die 14Bit zu entschlüsseln (nach dem RC5-Standart) und kann die Daten nutzen. Ich gehe mal davon aus, dass Bascom das entschlüsseln des RC5-Codes allein kann, da es sonst doch ein bisschen aufwendiger sein dürfte.
Berichtigt mich, wenn ich falsch liege.
Gruß, Bender
Der TSOP17xx demoduliert die 14Bit Daten und schickt sie so wie sie ankommen (also seriell) über seinen Outpin hinaus.
Also serielle Übertragung von 14 Bit, das hilft mir auf jeden Falls schon mal weiter.
Ich gehe mal davon aus, dass Bascom das entschlüsseln des RC5-Codes allein kann, da es sonst doch ein bisschen aufwendiger sein dürfte.
Das ist auch ein Teil, der mir nicht einleuchtet. Woher weiss Bascom, bzw. der µC, dass an dem Pin ein TSOP dranhängt und 14 Bit reinkommen die entschlüsselt weden müssen?.
Im Programmcode (siehe oben) steht da ja nichts von drin.
Es sei denn, das Geheimnis steckt in der eingebundenen "mcsbyte.lbx".
Ich werde sie einfach mal auskommentieren, dann sehe ich ja ob es dann immer noch funktioniert.
Wenn nicht, wird sich wohl irgendeine Routine in der Library um das entschlüsseln kümmern. Das reicht mir dann auch als Erklärung, den Programmcode selber würde ich eh nicht verstehen ;-)
Danke
Es dürfte vollkommen egal sein, welcher Baustein an dem Eingang des µC hängt. Hauptsache, es kommen die erwarteten 14Bit des RC5-Standarts rein. Man könnte sich sicherlich auch selber eine Schaltung zum demodulieren bauen, was sich aber bei ca 1,50 ? Stückpreis des TSOP1736 wohl kaum lohnen dürfte. ;)
Dem TSOP1736 ist es übrigends vollkommen egal, welchen Standart die Datenübertragung hat. Er demoduliert einfach alles was in seinem 36kHz "Sichtbereich" reinkommt und schickt es weiter. Das müssen nicht unbedingt 14 Bit sein.
Für detailliertere Informationen einfach mal z.B. "rc5 fernbedienung" bei google eingeben.
Und bei Bascom müsste doch irgendwo etwas in der Dokumentation stehen?!
Gruß, Bender
Es dürfte vollkommen egal sein, welcher Baustein an dem Eingang des µC hängt. Hauptsache, es kommen die erwarteten 14Bit des RC5-Standarts rein
Mich hat auch nicht gewundert, dass der µC weiss welcher Baustein da genau dran hängt, sondern, dass er überhaupt weiss, dass an dem Port ein Baustein sitzt der serielle Daten sendet und nicht nur einfach irgendwas das entweder High oder Low ist.
Aber nachdem du jetzt das xte Mal den RC5 Standard erwähnt hast, ist der Groschen gefallen.
Der Befehl "getRC5" sollte für Bascom wohl Hinweis genug sein, um den µC auf den Empfang von RC5 Daten vorzubereiten ;-)
Ich habe das Programm nur abkopiert und "getRC5" einfach für eine selbstdefinierte Funktion gehalten.
bei ca 1,50 ? Stückpreis des TSOP1736 wohl kaum lohnen dürfte.
Bei den 64 Cent für die ich die Dinger gekauft habe werde ich mich wohl auch nicht in die Eigenentwicklung einarbeiten ;-)
Für detailliertere Informationen einfach mal z.B. "rc5 fernbedienung" bei google eingeben.
Das hätte mir nicht soviel geholfen. Das der TSOP 14 Bit seriell sendet hattest du mir ja bereits gepostet und viel weiter interessieren mich die Details der Infrarot-Übertragung im Moment noch nicht.
Was mich momentan beschäftigt hat, war nur wie der µC Befehl ahnen konnte, dass da Datenpakete von 14 Bit ankommen und nicht einfach jemand auf nem Taster rumhackt oder ein digitaler Sensor flattert ;-)
Aber das hat sich mit dem "getRC5" Befehl jetzt ja auch geklärt.
Und bei Bascom müsste doch irgendwo etwas in der Dokumentation stehen?!
Die Online Hilfe von Bascom ist leider nicht so berauschend. Da muss man schon ziemlich genau wissen was man sucht und selbst wenn man es dann findet ist's nur recht dürftig beschrieben.
Ist eigentlich eher eine Befehlsreferenz mit gar nicht mal so guter Suchfunktion. Vielleicht ist in der Vollversion eine bessere Dokumentation, ich habe nur die kostenlose Demo.
Aber was den Infrarot-Empfang angeht, weiss ich jetzt auch erst mal alles, was ich wissen wollte.
Danke nochmal
kennt jemand eine Gute Site zu Grundlagen über Infrarot übertragungstechnik und Funkübertragungstechnik
speziell für µC anwendungen oder allgemein?
Ich habe mal bei Goolge "rc5 code" eingegeben und ein link war der folgende mit einigen netten Infos
http://home.t-online.de/home/Holger.Heinemann/homepage.htm?rc5.htm
Anastacia
01.05.2004, 13:06
Hallo
ich möchte gerne wissen welche Bauteile man für eine Infrarotsendeeinheit benötigt wenn man mit einem Microcontroller Daten per Infrarot an einen PC senden will? Wie kann man sich so eine Sendeeinheit selber bauen?
So müste es gehen mit der Sendeeinheit:
http://home.t-online.de/home/holger.klabunde/rc5send.htm
Anastacia
01.05.2004, 18:43
Danke.
Würde da der 1-Kanal-Sender ausreichen um die Daten vom Speicherbaustein mit dem Microcontroller seriell zu übertragen?
Der 1kanal Sender heißt: 1-Kanal Sender mit 16 einstellbaren Codes (PIC12C508), damit überträgt er Fernsteuercodes.
Wenn die Schnittstelle Daten übertragen soll, dann stimmt zwar die HW überein, aber die Daten benötigen eine anderes Programm des Controllers.
Unter diesem Link war es nicht beschrieben.
Anastacia
02.05.2004, 13:24
Danke.
Also wie denkst du könnte man das dann realisiern?
Also die Bauteile könnte man so verwenden?
Ich hab nämlich keine Ahnung wie man das am besten umsetzt.
Du solltest mal nachsehen und nachfragen, wer eine solche Funktion bereits realisiert hat.
Liegt die Realisierung nicht vor und willst Du sie selbst durchführen, dann suche Dir einen geeigneten Controller dafür aus.
Das was an HW dazu nötig ist, ist mit der angegebenen Schaltung auch zusammen mit anderen Controllern realisierbar.
Manfred
Hey Leute ich habe mal eine Frage, funktioniert, das mit RC5 Code für TSOP 1738 auch mit der Lirc schaltung! Da ich das am Montag in einer Prüfung erklären muss und nicht weiß, wie der TSOP funkt. Der empfängt also die Infrarot signale und leitet diese dann über den seriellen Port weiter an die Software und diese dekodiert den Code dann in den eingestellten Befehl oder wie?
Der TSOP ist nur für den optischen Empfang bis zur Generierung eines logischen Pelgels zuständig.
In Bezug auf Lirc ist er so elementar wie eine HW Komponente eben.
Der TSOP ist für RC5 geeignet. Deshalb wird er ja auch so häufig eingesetzt.
Manfred
was bedeutet µC?? da sonst hätte ich ja die erklärung von weiter oben schon wieder gefunden!
Hi
Ich hol den Thread mal wieder aus der Versenkung.
Ich hab die Suchfunktion schon benutzt, aber wirklich brauchbages hab ich nicht gefunden.
Ich will eigentlich nur wissen, wie ich eine Empfängerschaltung aufbauen muss und wie ein Beispielprogramm aussehen könnte.
Danke schonmal
Gruß
Marcel
was bedeutet µC?? da sonst hätte ich ja die erklärung von weiter oben schon wieder gefunden!
mit "µC" ist in deisem Zusammenhang "Mikrocontroller" gemeint.
Ich hab die Suchfunktion schon benutzt, aber wirklich brauchbages hab ich nicht gefunden.
Ich will eigentlich nur wissen, wie ich eine Empfängerschaltung aufbauen muss und wie ein Beispielprogramm aussehen könnte.
Wenn du einen einen AVR benutzt, sieht eine mögliche Empfängerschaltung sehr einfach aus.
Einfach einen Pin an die Spannungsquelle, einen an Masse und einen an den Controller. Welcher Pin vom TSOP woran gehört findest du im Datenblatt und wie die Grundschaltung für einen AVR Microcontroller aussieht findest du hier im Forum und auch auf zig anderen Seiten im Netz.
Ein Empfängerprogramm für einen AVR sieht in Bascom Basic auch sehr einfach aus:
GETRC5( address, command )
In der Bascom-Hilfe findest du dazu auch noch ein paar Erklärungen und einen Schaltplan.
Falls du auch der Gast warst der sich nach Lirc erkundigt hat:
http://www.manoweb.com/alesan/lirc/cocoon/parts.html
Hi,
shit, ich hab vergessen zu sagen das ich die C-Control benutze :)
Gruß
Marcel
Und wie kann man jetzt IR-Signale im RC5-Standart mit einem AVR senden? Der Link weiter oben war leider nur für einen PIC und davon versteh' ich nix.
Gruß, Trabukh
Und wie kann man jetzt IR-Signale im RC5-Standart mit einem AVR senden? Der Link weiter oben war leider nur für einen PIC und davon versteh' ich nix.
Einfach eine IR-LED mit Vorwiderstand an den richtigen Pin anklemmen.
Zum senden von RC5 Signalen gibts in Bascom einen eigenen Befehl: Rc5send Togbit , Address , Command
Welches der richtige Pin ist steht in der Bascom-Hilfe.
OK, vielen Dank!
Gruß, Trabukh
pebisoft
09.08.2004, 21:30
hallo, guten abend. ich habe die ir-diode mit 220ohm an den port "oc1a" des atmega16 anschlossen un das bascom programm genommen. der empfänger-atmega reagiert nicht. die fernbedienung vom recorder wird erkannt und die c-contol-irdaten mit der irdiode die ich auch am atmege16-sender benutze, werden auch empfangen. was mache ich falsch beim sender-atmeg16
@marcel:
Ich habe nen Empfänger für C-control.
Du musst nur nen TSOP oder so, denn ich benutz irgendwas älters an C-control anschließen.
ICh habe den Ausgang des Empfängerbasuteins ohne irgendwas vorher angeschlossen, und es läuft problemlos, mir fehlt nur noch ne richtige %C5-Ferbedienung, aber mit der eines Freundes klappts.
Nen fertiges Script für C-control findest du hier:
http://www.malo-web.de/download/rc5_test.zip
MFG RCO
Hi, wie sieht denn ein entsprechendes Sender-Script aus, könnte mir jemand mal ein komplettes senden, dass einen Beispielcode sendet.
Ich will mal meinen ersten Atmel brennen.
MFG Moritz
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.