Fernseher aus

 Juni 2008


-----
 

Einleitung

Freitags gehe ich mit ein paar Kollegen immer auswärts essen - abwechselnd in unterschiedlichen Restaurants. Dabei kommt alle paar Wochen auch ein Grieche dran, der total leckeres Essen hat.  

[Bild(43.0k)]

Soweit ist alles prima.
Aber leider plärrt in dem Restaurant ein Fernseher.
Boah, ist das nervig! Irgend so ein ätzender Privatsender stört die ganze Zeit bei der Unterhaltung und beim Essen. Wenn der nicht so leckeres Gyros machen würde, könnte ich den Laden glatt boykottieren!
Also habe ich schon mal die Endlösung für das Gerät in Gedanken durchgespielt:  

[Bild(19.9k)]

 

 
-----
 

   

Meine Lösung

 

  Über Fingers Forum bin ich zufällig auf das Tv-B-Gone Kit Projekt gestoßen: Eine kleine Fernbedienung, welche die Ausschaltcodes von rund 40 Fernsehern kennt. Wenn man auf den einzigen Knopf der Fernbedienung drückt, spielt der Prozessor nacheinander einmal alle Ausschaltcodes durch. Etwa 4 Pro Sekunde. Damit sollten nach 10s alle möglichen Fernseher aus sein.  

  Super Idee! So ein Teil wäre genau der richtige Freund für meinen nächsten Griechenbesuch!
Drin ist neben der IR-Sendediode nur ein kleiner Atmel Tiny85 Prozessor und einige Kleinteile.  

  Da ich gerade rund 70 Prozessoren Atmel8535 für lau abgestaubt habe,  

[Bild(60.6k)]

war klar, dass ich mir nicht den im Originalprojekt vorgesehenen AtTiny85 kaufe, sondern die Software auf diesen Prozessor umstricke.  

  Zusätzlich habe ich statt der pisseligen 3V Batterien die Schaltung für 9V ausgelegt und eine richtige Stromregelung für die LEDs vorgesehen.  

  Irgendwie ist dieses Projekt ein Musterbeispiel dafür, wie alles mögliche schief laufen kann!  

  Der Prozessor hat so feine Anschlüsse, dass Fädeln nicht in Frage kommt. Also flugs eine Platine gemacht.  

  Es fing dann damit an, dass in meinem Layoutprogramm Kollektor und Emitter der Endstufentransistoren vertauscht sind. Das hab ich natürlich erst nach dem Ätzen gesehen. Also hat die Platine schon vor der ersten Inbetriebnahme die ersten Fädeldrähte:  

[Bild(6.5k)] [Bild(15.6k)]

 

  Nachdem ich den Code auf meinen Prozessor umgestrickt hatte, ging der Ärger weiter: Der Prozessor wollte sich ums verrecken nicht programmieren lassen.
Zig mal habe ich alle Leitungen durchgepiept. Alles korrekt. Was wars? Der Prozessor ist gar kein Mega8535, sondern ein 90LS8535. Ein total veralteter Typ. Kannte ich bisher gar nicht.
Deshalb habe ich die Teile wohl auch geschenkt bekommen. Natürlich hat dieser alte Prozessor deutlich andere Register, Timer und auch die ollen Fuse-Bits für die Programmierung sind ganz anders. Der Compiler wollte den Code jedenfalls nicht fressen.  

  Also musste ich das Datenblatt studieren und dann das ganze Programm nochmal umschreiben. So ist das eben, wenn man nicht so genau hinsieht.  

[Bild(24.9k)]

 

  Hmpf, der Chip lässt sich immer noch nicht brennen. Was ist den nun noch falsch? Isser hin? Könnte sein, ich hatte den Programmierstecker aus Verzweiflung mal andersrum aufgesteckt, wodurch er +5V auf 'ne Datenleitung bekommen hat.  

  Also mit dem Heissluftfön das Teil von der Platine gepustet und 'nen frischen Chip aufgelötet. Habe ja genug davon.  

  War klar, dass der kleine Mistkerl sich aber immer noch nicht programmieren ließ. Bei genauerer Betrachtung des Datenblatts wurde es dann aber verständlich: der LS-Typ kann nur 4MHz. Ich hatte aber wie im Original einen 8MHz Quarz drin. Wie war das mit dem genau hinsehen?  

  Also raus mit den 8MHz und 4MHz eingelötet - schon klappts auch mit dem brennen! Natürlich musste ich die Software nochmal anpacken und alle Timer auf 4MHz Takt umstellen. Langsam kenne ich die Programmzeilen auswendig.  

  Und dann kam der große Moment: Ich bin zur Nachbarin ins Wohnzimmer gegangen und hab' ihren Fernseher ausgemacht - grins!  

  Da ich die Infrarot-LEDs von meinem  

[Bild(1.8k)]

Nachbarn habe (der macht halt mit bei dem Projekt), habe ich abends dann in seinem Arbeitszimmer das Teil vorgeführt - Und sein Fernseher blieb an! Das war so'n frecher kleiner Grundig - Na warte!  

  Mit 'nem Speicheroszi und einer IR-LED als Empfänger wurde dann flugs seine Fernbedienung analysiert: Träger genau 36KHz. Dann als Fleissarbeit die Pulsabstände ausgemessen und in die Software gleich als ersten Code eingetragen.
Keine 10min später stand ich wieder in seinem Arbeitszimer - und sofort bei Anklemmen der Batterie war der Grundig platt. Sooo soll das sein!
-----
Der Nachbar hat noch einen 90S8535 rumliegen - und die können 8MHz. Also wurde eine neue Platine entworfen. Diesmal mit Endstufe in SMD und 8 statt 4 LEDs. Aber auch die Platine war nicht gerade vom Glück beschienen: Ich hatte als erstes wieder den Atmel draufgelötet. Ging aber total schlecht. Dann fiel mir ein, dass ich die Platine nach dem Bohren noch gar nicht entschichtet hatte. Asche auf mein Haupt.
Der Prozessor ging mit vorsichtigem Fönen aber nicht mehr runter, weshalb ich großzügig mit Aceton drumrumgeschmaddert habe. Nun ging das Löten wie geschmiert.  

  Hier die bestückte Platine:  

[Bild(35.4k)]


Die Software wurde wieder auf 8MHz umgestrickt - mach' ich inzwischen im Schlaf.
Da der Freitag (mit Griechenbesuch) nahte, musste schnell ein Gehäuse her. Dazu diente ein 40er PVC-Rohr, welches 10min bei 200° im Backofen gelegen hat und anschließend etwas plattgedrückt wurde. Die Platine und die Batterie sind einfach mit Schaumstoff reingeklemmt.  

[Bild(29.6k)]

Ein schöner roter Taster ziert die einzig wahre Fernbedienung.  

[Bild(36.4k)]

Sie liegt gut in der Hand und lässt sich unauffällig mit dem kleinen Finger bedienen:  

[Bild(19.8k)]

Beim rummessen in der Schaltung fiel auf, dass die IR-Dioden gar nicht die vorgesehenen 200mA Pulsstrom bekommen (das ist das Maximum für diese Teile laut Datenblatt). Ich habe mit meinem Nachbarn mehrere Stunden an diesem Teil rumgemurxt. Wir haben alle möglichen Teile ausgewechselt und diverse Transistortypen ausprobiert. Nix - die Schaltung macht einfach nicht das, was sie laut Lehrbuch müßte.  

  Ich tappe da auch heute noch im Dunkeln!  

  Nachdem ich aber 2 Dioden, welche eine 1,4V Konstantspannung erzeugen sollten, durch eine rote 3mm LED (1,6V) ersetzt habe, läuft die Schaltung wie geschmiert. Saubere 200mA - als wenn nie was gewesen wäre. Ich glaub's einfach nicht!
So sieht die Baustelle nun aus:  

[Bild(44.3k)]

 

 
-----
 

  Mit völlig unauffälligem PVC-Rohr in der Jacke bin ich dann beim Griechen rein - hab auf die Plärrkiste gezielt und 10s gedrückt. Nix.  

  Grmbl! Ich bin dann extra noch mal ganz nah rangegangen - nix.
Ratet, was für 'ne Marke das Teil ist: Richtig, ein Grundig! Der hätte doch eigentlich 'ne zehntel Sekunde nach dem Taste drücken die Klappe halten sollen. Der Grundig Code steht bei mir doch immer noch an erster Stelle! Man, wenn doch bloss das Gyros nicht so lecker wär. Ich brauch jetzt 'nen großes Bier.  

  Ja was, soll ich jetzt rumrennen und Grundig Fernseher suchen - und dann versuchen, mir die Fernbedienung auszuleihen? Es ist nicht zu fassen.
Abends hab ich zur Belohnung den Phillips von gegenüber ausgemacht. Jetzt bin ich wohl nicht mehr so beliebt.  

  Ärgerlicherweise hört der Panasonic eines anderen Nachbarn auch nicht zu. Vielleicht ist da doch grundsätzlich noch was faul. An der Sendeleistung liegt's jedenfalls nicht. Die Reichweite ist super!  

 
-----
 

  Damit man das Teil eventuell nachbauen kann, gibts hier natürlich Schaltplan , Layout und ein Archiv mit dem Quellcode und dem kompletten Protel-Projekt. Schaltplan und Platine sind an meine neusten Erkenntnisse angepasst, aber von mir noch nicht getestet. Gegenüber der Originalsoftware ist ziemlich viel rausgeflogen. Bei mir flackert die rote LED synchron mit den IR-Leds und dient gleichzeitig als Referenzspannungsquelle für die Stromregelung. Die sei hier kurz erklärt:  

[Bild(32.1k)]

An der Basis von V3 (und V4) liegen entweder rund 1,6V-1,7V oder 0V an (Spannung über der roten LED). Auf der Basis-Emitter Strecke fallen immer rund 0,7V ab. Der Transistor stellt nun den Strom durch die LEDs so ein, dass über dem 5-Ohm Widerstand (R2+R3) genau 1,7V-0,7V = 1V abfallen - Das gibt dann 200mA Diodenstrom. Wer das nachbaut, muss die Spannung über der Leuchtdiode messen! Heutzutage gibt es diverse LED-Typen, die nicht mehr die früher einheitlichen 1,6V haben.
Braucht man einen anderen IR-LED Strom, ändert man den Emitterwiderstand nach R=1/Diodenstrom (in Ampere).
-----
 

   

Nachtrag 1

 

  Aus den Tiefen des Internet habe ich eine Sammlung von Codes von angeblichen europäischen Fernsehern gefischt. Merkwürdigerweise sind drei Codes enthalten, deren ON-Zeiten deutlich außerhalb des zulässigen Zahlenbereichs liegen. Und unglaubwürdig sind die Werte auch. Der Code105 zum Beispiel würde mehrere Minuten zum durchlaufen brauchen, da die Trägerfrequenz über 60 Mal abwechselnd 2,7 Sekunden ein und 0,0008s ausgeschaltet wird.  

  Diese vergeigten Tabellen sind daher einfach deaktiviert.
Hier die EUcodes.c Datei und der PERL-Script, welcher die Original Codetabellen liest, und daraus die Rohfassung der EUcodes.c Datei erzeugt.  

  Ob die Codes was taugen, muss ich erst noch testen...  

  Alternativ stellt das LIRC-Projekt eine Unmenge an Daten zu unterschiedlichen Fernbedienungen bereit. Für Grundig-Fernseher habe ich da allein 14 Codes gefunden. Leider kann man die nicht einfach rausfischen, sondern muss erstmal analysieren, was die ganzen Einträge in den Konfigurationsdateien bedeuten und dann in Ein-/Ausschaltzeiten konvertieren.  

 
-----
 

   

Nachtrag 2

 

  Freitag waren wir beim Griechen. Hach, war das schön dort!
Kaum hatte ich mich hingesetzt, ging angenehmerweise der Fernseher aus ( Grins - die EU-Codes sind spitze! ).
Es hat gut zehn Minuten gedauert, bis der Wirt das bemerkt hat und die Plärrkiste wieder aufweckte.  

  Ein Tastendruck - schon war wieder Ruhe. Der richtige Code scheint also einer der Ersten in meiner Tabelle zu sein.  

  Mal sehen, wie lange es dauert, bis dem Wirt auffällt, dass der Fernseher immer genau dann spinnt wenn wir kommen.  

 
-----
 

Kommentieren
   
Startseite

Diese Seiten sind darauf optimiert mit möglichst jedem Browser zu funktionieren.

Aber der Seitenquelltext (strg-U) sieht auch interessant aus, zumindest wenn man ihn mit einem Monospace Font in sehr kleiner Schriftgröße betrachtet.

Valid HTML 4.01! CSS ist valide!