Forum: Mikrocontroller und Digitale Elektronik Fernbedienung für SAT-Receiver programmieren.


von Hans M. (gast4711)


Lesenswert?

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 ...

von Drahteinsparer (Gast)


Lesenswert?

>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.

von sven fr. (Gast)


Lesenswert?

gogel mal nach yard von andre weber da wird dir geholfen

sven

von Hans M. (gast4711)


Lesenswert?

[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 ...

von Matth (Gast)


Lesenswert?

>...die genauen Zeiten sind leider unbekannt

Und Du willst wirklich eine Fernbedienung nachbilden, ohne mindestens 
die verwendete Taktfrequenz zu kennen???

Matth

von jack (Gast)


Lesenswert?

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).

von Rolf I. (for_ro)


Lesenswert?

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

von Herr M. (herrmueller)


Lesenswert?

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.

von Hans M. (gast4711)


Lesenswert?

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

von Hans M. (gast4711)


Lesenswert?

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...)

von Herr M. (herrmueller)


Lesenswert?

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
Noch kein Account? Hier anmelden.