Hi,
Mein Vorhaben: Signale von einer x-beliebigen IF-Fernbedienung einlesen,
abspeichern und nach einer bestimmtern Zeit wieder ausgeben.
nun meine Fragen:
-Kann ich das IR-Signal enfach über eine einfache IR-Empfangsdiode
einlesen und den momentanen Zustand(Hi,Low) immerwieder im RAM
abspeichern?
-Das ganze zur Ausgabe einfach aus dem RAM die Zustände, im gleichen
Abstand wie die Speicherung erfolgte, auslesen und über eine IR-Diode
senden?
Damit bin ich ja eigentlich Frequenzunabhängig, und kann jede belibige
Fernbedinung verwenden, oder?
Ich hoffe ihr versteht was ich meine.
lg,
Stefan
hallo stefan
also ich hab mir vor kurzem eine eigene fernbedienung ähnlich wie du
eine hast gebaut. nun "frequenzunabhängig" ist wohl das falsche wort,
eher protokollunabhängig. du musst ja das signal in bestimmten
zeitabständen einlesen, und je öfter desto besser approximierst du das
Originalsignal und desto besser die wahrscheinlichkeit dass dein
Fernsehgerät das signal auch versteht. allerdings verwenden die
fernbedienungen verschiedene frequenzen um das signal zu modulieren und
ich weiß nicht genau wie genau das bei den fernbedienungen sein muss,
eventuell musst du dann mehrere sende-dioden gleichzeitig verwenen. -
weiß ned, mal schaung was da andere dazu sagen. ich hab nur einen
fernseher daheim !
Hi,
Ich möchte Ja das Protokol umgehen indem ich einfach das Signal von der
Fernbedienung 1:1 speicher. Wenn ich alles richtig verstanden habe,
arbeiten die Fernbedienungen mit einer Frequenz zwischen 30 und 50 kHz.
d.h. ich müßte zum beispiel bei einer Fernbedienung mit 30kHz mindestens
alle 1/30000 s den Zustand messen und speichern. Da brauch ich dan einen
RAM mit 30000/8 byte(3750 byte) um eine Sekunde aufzuzeichnen. Also wird
das ganze nicht so einfach gehen wie ich mir das gedacht hatte.
Stimmt mein Gedankengang?
lg,
Stefan
Das könnte funktionieren. Allerdings musst du mindestens (!) mit der
doppelten Frequenz abtasten.
Wie wär's damit, wenn du nur das demodulierte Signal abspeichern
würdest? Du könntest auf eine steigende Flanke warten, den Timer
starten, bei der nächsten fallenden Flanke den Timerwert abspeichern und
den Timer neu starten usw, also die Längen der Impulse messen. Das
Problem wird sein, dass die Befehle ja so lange gesendet werden wie du
auf den Knopf drückst, wenn dazwischen keine Pausen kommen wird es
schwer sein das Ende eines Befehls zu erkennen.
Gruß
Andreas
Hi,
@andreas: das müßte gehn, da die Pause(laut Oszi) fast so lang ist wie
der Befehl, damit müßte es also gehn.
@FrankL: Habe schon mal ein Datenblatt von einem IR-Empfänger in der
Hand gehabt, aber ich komm nicht ganz klar damit, wie die Signale von
der fernbedienung mit den signalen am Ausgang des Empfängers
zusammenhängen. Könntest du mir das erklären?
lg,
Stefan
TSOP17XX laut Applikation anschließen. (5V,GND, Ausgang)
Wenn Du ein Scope hast könnste Du die vom TSOP17XX ausgehenden Signale
sichtbar machen.
Es müßte auch mit einem Audio input (Spannung auf 1 Volt begrenzen) und
einem Audioeditor (z.B Cooledit) funktionieren.
Das folgende Bild sieht man, wenn eine Sony IR Fernbedienung aktiv ist
(SIRCS code)
Startbit 2,4ms active low followed with 0,6ms gap.
Logic "1" active low 1,2ms followed with 0,6ms gap.
Logic "0" active low 0,6ms followed with 0,6ms gap.
No signal received from TSOP17** the output is high.
Startbit "1" "0" 0..6 bits 0..4 bits
2,4ms 0,6 1,2 0,6 command system
5V ---+ +-+ +--+ +--+ H
| | | | | | | total 12 bits
0V +---------+ +----+ +--+ +--.L....
Die gesammten Bits (12) und die Pause habe ich hier nicht eingezeichnet.
Die Command Bits sagen was über die Funktion laut,leise u.s.w die System
Bits sagen was über das Gerät aus CD VTR u.s.w.
Das ist aber nur ein Kodierungsverfahren. Es gibt noch eine ganze Menge
wie Phasensprung u.s.w.
Auch werden die Codierungen von den Firmen nach einiger Zeit gewechselt.
Wenn man eine Leuchstofflampe einschaltet würden einige Impulse am
TSOP17xx herauskommen.
Im Anhang einige IR codes.
Hallo zusammen,
Frank, danke für die IR-Übersicht.
Letztes Jahr gab es in Elektor auch mal eine knappe Übersicht in zwei
Artikeln über verschiedene IR-Codes.
Stefan,
als Anhang findest Du ein Datenblatt vom TSOP17xx.
Was verstehst Du nicht?
Die beiden letzten Ziffern vom TSOP17xx stehen für die
Trägerfrequenz, also z.B. beim Sony Sircs Protokoll 40kHz ==> TSOP1740.
Die Trägerfrequenz liegt je nach Hersteller/Protokoll zw. 30 und 40kHz,
dafür gibt es die verschiedenen Typen vom TSOP17xx.
Am Ausgang des TSOP-Moduls ist die Trägerfrequenz natürlich nicht
mehr vorhanden, sondern nur noch der wesentlich niederfrequentere
Datenstrom der seriellen Daten.
Das TSOP-Modul nimmt Dir die ganze "Demodulation" ab, Du hast am
Ausgang einen Datenstrom mit 5V-Logikpegel. Natürlich können dann durch
Störungen (Lampen, andere IR-Quellen) immer noch Fehler in diesem
Datenstrom sein, die du abfangen musst.
Zum Thema abtasten der Tastencodes:
Es gibt IR-Fernbedienungen, die beim Drücken und beim Loslassen
der Taste einen (verschiedenen) Code aussenden. Habe ich vor ein
paar Tagen zufällig mit dem Oszi bei einer Grundig(?)-Fernbedienung
gefunden.
Gruss
Arvid
Hi,
Dank Arvid is mir gerade ein licht aufgegangen:-) Mein problem lag
darin, das ich nicht wußte wie das mit Demodulation gemeint war, jetzt
is es mir klar.
Wenn ich nun das signal vom Empfänger einlese, kann ich die bequem und
einfach abspeichern, wie genau is jetzt egal. Wenn ich das Signal wieer
ausgeben möchte muß ich es ja wieder auf die gleiche Methode modulieren.
Wie geht dan daß??
Wenn ich z.b. einen Empfänger mit 30kHz habe, reagiert dein irgendeiner
Form auf 36kHz Signale?
lg,
Stefan
@FrankL: Du hast Recht, das habe ich verschwiegen.
@Stefan_H: Die TSOP-Module sind für ihre jeweilige Trägerfrequenz
optimiert (Filter, PLL) , sie funktionieren aber auch noch bei den
anderen Trägerfrequenzen, allerdings mit eingeschränkter Reichweite.
D.h. einen TSOP1740 kannst Du bequem vom Sessel aus mit einer Sony Sircs
Fernbedienung (40kHz) ansprechen, während du eine 36kHz Fernbedienung
wahrscheinlich direkt davor halten musst, damit der Empfänger korrekte
Daten ausspuckt.
Zum Abspeichern: So einfach isses nicht. Du must mindestens mit der
doppelten Frequenz (Abtasttheorem) der höchsten im Signal vorkommenden
Frequenz abtasten. Das geht im Fall von Rechtecksignalen theoretisch
nicht ideal. Ich würde mit ca. der 10 bis 20 mal so schnellen Zeit
abtasten, wie der kürzeste Abstand zw. zwei Flanken, weil du das Timing
ja halbwegs korrekt wiedergeben willst.
Zur Ausgabe: Es gibt zwei Möglichkeiten:
a) Du lässt den Controller die Trägerfrequenz (30-40kHz) selber erzeugen
(PWM-Ausgang?) und schaltest sie im Takt deines Datensignals an und aus.
b) Du nimmst einen externen Oszillator (NE 555) und schaltest den mit
einem Portpin des Controllers im Takt des Datensignals an und aus.
Alles klar?
Gruss
Arvid
PS: Habe diese Woche ein paar TSOP-Module bekommen und werde am WE
vielleicht ein bisschen damit spielen. Dann kann ich vielleicht noch ein
paar Tipps aus der Praxis geben.
Hi,
Theoretisch is jetzt alles Klar. Für die praktische Umsetzung heißts
dann halt : "ausprobieren".
@Arvid: Würd mich freun wenn du was über die Praxis Postest.
Danke für eure Hilfe, lg,
Stefan