Habe leider kein Speicheroszilloskop und muß mit einem Microcontroller eine Fernbedienung für einen SAT-Receiver simulieren. Dazu habe ich zunächst per PC über die RS232-Schnittstelle mit einem kleinen Programm und einer Empfängerdiode versucht die Original-Fernbedienung auszulesen. Dann habe ich eine LED am µC-Port so angesteuert (LED ein, for-Schleife, LED aus, for-Schleife, usw...), daß das am PC empfangene Ergebnis genau so aus sieht wie das Original, doch der SAT-Receiver reagiert nicht :( . Ein RC5-code ist es bei dem alten Receiver vermutlich nicht, doch vielleicht muß ich da noch etwas anders pulsen. Wer hat eine Idee, wie ich das Programm anpassen könnte bzw. wo der Fehler (die Toleranzen) liegen? (der Chip ist von KATHREIN / RUWIDO und es gibt wohl keine Unterlagen dazu) Hier der "ausgelesene" Code (die genauen Zeiten sind leider unbekannt d.h. keine µs , d.h 6401 delays ein, 3114 delays aus, usw...): 6401 3114 447 334 463 330 460 335 445 334 461 330 461 335 448 333 463 330 461 1119 464 1129 446 1129 462 1118 464 1129 446 1129 462 1118 464 1129 447 332 462 329 460 334 447 332 463 331 460 334 446 333 468 325 462 1118 464 1129 446 1129 462 1118 463 1128 448 1129 461 1117 464 1129 448 28103 6397 3118 447 332 467 326 461 333 449 332 462 330 462 334 448 333 469 324 462 1118 463 1128 448 1129 461 1117 463 1128 448 1129 461 1117 463 1128 448 332 465 329 462 334 448 333 464 329 461 333 447 332 463 329 462 1118 464 1128 449 1129 462 1118 462 1128 449 1129 460 1118 464 1128 447 ...
>Hier der "ausgelesene" Code (die genauen Zeiten sind leider unbekannt >d.h. keine µs , d.h 6401 delays ein, 3114 delays aus, usw...): Bahnhof , hättest auch die Lottozahlen von Mittwoch posten können.
gogel mal nach yard von andre weber da wird dir geholfen sven
[quote]"Bahnhof" , hättest auch die Lottozahlen von Mittwoch posten können.[/quote]. Es ging mir nur darum zu zeigen, wie die Pulslängenverhältnisse sind, d.h. 21 ein, 10 aus, 1 ein, ca. 1 aus, 1 ein, 1 aus usw. Ob die Einschaltphasen selber noch gepulst sind weiß ich nicht sicher, da die LED/Soft ja träge sein könnte, glaube das aber nicht. [quote]yard[/quote]. Yard ist zwar nur für den PC (der steht aber später in der Anwendung nicht zur Verfügung, d.h. das Ganze muß schon in ein Kästchen mit µC), aber wenn der Hardwareaufwand nicht zu groß ist, werde ich mich vielleicht da mal irgendwann zum Signalmitloggen einarbeiten. Besser wäre natürlich, wenn den Thread hier jemand lesen würde, der schon mal eine SAT-Fernbedienung per µC programmiert hat und die ungefähren Pulslängen und -Verläufe und -Toleranzen zumindest für seine FB angeben könnte ...
>...die genauen Zeiten sind leider unbekannt
Und Du willst wirklich eine Fernbedienung nachbilden, ohne mindestens
die verwendete Taktfrequenz zu kennen???
Matth
Hier einige Protokolle: http://www.mikrocontroller.com/de/IR-Protokolle.php#SIRCS Wichtig ist natürlich zu wissen, ob die Taktung des IR-Senders mit 36, 38, oder 40kHz erfolgt (um die Signale vom Umgebungslicht zu unterscheiden).
Hans Mustermann wrote: > > 6401 3114 447 334 463 330 460 335 445 334 461 330 461 335 448 333 463 > 330 461 1119 464 1129 446 1129 462 1118 464 1129 446 1129 462 1118 464 > 1129 447 332 462 329 460 334 447 332 463 331 460 334 446 333 468 325 462 > 1118 464 1129 446 1129 462 1118 463 1128 448 1129 461 1117 464 1129 448 > 28103 6397 3118 447 332 467 326 461 333 449 332 462 330 462 334 448 333 > 469 324 462 1118 463 1128 448 1129 461 1117 463 1128 448 1129 461 1117 > 463 1128 448 332 465 329 462 334 448 333 464 329 461 333 447 332 463 329 > 462 1118 464 1128 449 1129 462 1118 462 1128 449 1129 460 1118 464 1128 > 447 ...
1 | ' 90 45 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 16 6 16 6 16 6 16 6 16 6 16 6 16 6 16 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 16 6 16 6 16 6 16 6 16 6 16 6 16 6 16 6 |
2 | ' (0) (0) (0) (0) (0) (0) (0) (0) (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) (0) (0) (0) (0) (0) (0) (0) (0) (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) |
3 | ' (Startbit) (L Gerät M) (L Gerät negiert M) (L BEFEHL M) (L BEFEHL negiert M) |
Hallo, deine Zeiten zeigen deutlich die Kodierung des NEC Codes. Deine Werte musst du etwa durch 700 teilen, um auf ms zu kommen. 400er Zeiten habe ich durch die 6 (0,6ms), die 300er durch 5 (0,5ms) und die 1100er durch 16 (1,6ms) ersetzt. Das Startbit ist 9ms (90) lang, danach eine Pause von 4,5ms (45). Passt sehr gut. Gruß Rolf
Rolf hat Recht, es ist der NEC Code. Das ist nicht schwer zu programmieren, Du darfst nur die IR Led nicht einfach einschalten, sondern mit ca 38 kHz "blinken" lassen.(ungenaue Werte reduzieren die Reichweite) Das geht am besten mit einem Timer mit Pin-Toggle, der für die benötigten Zeiten an- und ausgeschaltet wird. Verrate uns doch noch, mit welchem Prozessor Du das machen willst, und wieviele Tasten es geben soll. Ich habe die verschiedensten Protokolle mit Avr Attiny oder Atmega in Assembler programmiert.
Sorry Rolf, hatte die falsche Fernbedienung gepostet. Der wahre Code (unten) ist aber nicht genau mit den Zahlen der Protek-Digi-Sat-FB oben zu vergleichen, weil das Windows-PC-Programm zur RS232-Auslesung damals (habe die FB aktuell nicht da, weil sie noch in einer anderen Wohnung benutzt wird) noch kein _asm cli besaß und die Windows-Timer und Tasks die Zahlen um den Faktor ca. 2 verkleinert haben. Wird aber wohl auch der NEC-Code sein!? Es ist übrigens ein UFD440 von Kathrein mit Ruwido-Chip in der FB. Wenn ich doch noch mit 36 kHz pulsen müßte (das hätte die LED dann wohl so schnell nicht empfangen können?) erschwerte das die Sache aber sehr, denn ich habe seit Jahren nichts mit µC’s gemacht und nur Erfahrung und Hardware samt Prommer und Emulator für 89C51 und die haben wohl glaube ich keinen ultraschnellen PWM-Port/Timer !? Nach jack’s Link, könnte es sonst vielleicht noch Art SIRCS/CNTRL-S-Code sein, aber da das Startbit in der Folge 90 45 6 5 6 5 6 5... abläuft, wird es wohl irgend etwas NEC-kompatibeles sein (wegen der zwei längeren Startbits) und der scheint nicht gepulst zu werden!? Wenn es der NEC aber ist und er nicht gepulst werden muß, verstehe ich allerdings noch nicht ganz, warum der Receiver nicht reagieren will. Werde mal weiter nach dem geneauen Timing des NEC-Codes googeln, programmiere aber in C und kann so schlecht vom Prozessortakt auf die genaue Pulsbreite schließen (teste ich vielleicht mal in einer Test-For-Schleife mit dem (Nicht-Speicher-) Oszilloskop (hab‘ kein anderes), doch genaue Abstufungen sind so natürlich nicht möglich). Original Kathrein-Code: 1881 919 118 110 118 118 116 119 117 118 116 348 118 349 117 348 117 349 118 117 117 119 116 118 117 350 115 348 117 119 116 119 117 118 117 349 117 349 117 281 117 118 117 118 116 345 117 349 117 349 117 11045 1878 916 118 118 117 118 116 117 117 343 116 350 115 118 117 118 118 118 117
Habe mal herumgegoogelt und wenn Hirschmann das beliebig macht wird Kathrein das Extended-NEC-protocol vielleicht auch noch verändert haben:
1 | "Der Hirschmann Receiver verwendet den NEC - Code aber etwas abgeändert. |
2 | Hängt einfach ein Bit hinten dazu und im invertierten Adrressbit wird |
3 | das MSB nicht invertiert. Und dann noch eine Geräteadresse 138." |
Das wird mir mit den 36 kHz und zweimal samt invers senden usw. alles zu kompliziert und hochfrequent für meinen alten 8051. Werde wohl noch eine zweite FB kaufen und die vier wichtigsten Tasten P+ P- L+ und L- mit HEF4053 per µC schalten (ist zwar Lötarbeit, aber wenigstens dann sicher machbar...)
Auch wenn die Bitfolge nicht ganz mit NEC übereinstimmt, so ist es bestimmt der Nec Code. Alle mit einer Universal FB probierten Kathrein Codes waren NEC. 1881 /0.209 = 9000ms 919 /0.209 = 4400 ~ 4500 = Startpulse 118 ~ 560uS 348 ~ 1690uS 118,348 = logisch 1 118,118 = logisch 0 Startbit,Startbitpause, 0000 1111 0001 1000 1110 0111 52ms Pause Startbit,Startbitpause 0001 1000 ... Die Bitfolge nochmal überprüfen: sollte eigentlich 0000 1111 1000 0111 oder sowas sein Adresse invers Adresse, Command invers Command http://www.sbprojects.com/knowledge/ir/nec.htm Fast alle mir bekannten IR Protokolle sind allerdings mit 36-40Khz gepulst (ausser ITT). Das kann man zur Not auch Hardwaremässig mit nem 555 Timer IC machen. Behelfsmässig kann man das IR Signal auch mit ner IR Led als Empfänger mit dem Oszi sehen. (volle Empf.) gruss christian
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.