Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
private:rasperry_pi_ir-onoff [2013/01/27 18:04] Patrick Wacker Timings für die Digipal2 FB hinzugefügt |
private:rasperry_pi_ir-onoff [2013/02/04 19:38] (aktuell) Patrick Wacker [Technisat DigiPal 2 - DBV-T Fernbedienung] Aufgetretene Probleme dokumentiert |
||
|---|---|---|---|
| Zeile 29: | Zeile 29: | ||
| * Übertragungsfehler im IR-Signal sollten erkannt werden. | * Übertragungsfehler im IR-Signal sollten erkannt werden. | ||
| * Automatische Erkennung von RCA und RC5 | * Automatische Erkennung von RCA und RC5 | ||
| + | * Die IR-Codes (Tasten) sollten ohne den PIC neu zu Programmieren änderbar sein. | ||
| + | * RCA und RC5 Codes zum Ein-/Ausschalten im EEProm sichern | ||
| + | * Updates der Codes wenn z.B. der Taster > 8s betätigt wurde. | ||
| + | * - Taster >8s --> IR-Code aufnehmen. | ||
| + | * - 1. "STOP"-Taste | ||
| + | * - 2. "SELECT"-Taste | ||
| + | * - 3. "POWER"-Taste | ||
| + | * - [4. "ANZAHL der STOP-Codes" (STOP so oft betätigen wie es zum einschalten genutzt werden soll) (Default: 2 (z.B. bei "Skip"))] ((eventuelle Erweiterung)) | ||
| + | * - [5. "ANZAHL der STOP-Codes" (STOP so oft betätigen wie es zum ausschalten genutzt werden soll) (Default: 4 (z.B. bei "Skip"))] ((eventuelle Erweiterung)) | ||
| + | * - [6. "ANZAHL der POWER-Codes" (POWER so oft betätigen wie es zum Ein-/Ausschalten genutzt werden soll) (Default: 1 (z.B. bei "Skip"))] ((eventuelle Erweiterung)) | ||
| + | * Entscheidung ob RCA oder RC5 gespeichert wird innerhalb des PICs treffen | ||
| + | * Wenn ein Code nicht gespeichert werden soll (z.B. keine "POWER"-Taste vorhanden) sollte dieser Abschnitt durch ein kurzes betätigen des Tasters übersprungen werden können. | ||
| + | * Anzeige über LED ob CODE richtig entgegen genommen wurde. | ||
| + | * und durch Blinken anzeigen welcher Code gerade eingegeben werden soll. (1-3 mal Blinken, dann ca. 3 Sekunden Pause) | ||
| + | * Automatischer Abbruch der Aufzeichnung wenn länger als 2 Minuten keine Befehle empfangen wurden. | ||
| + | * Taster > 20 Sekunden betätigt --> RESET der IR-Codes auf "Standard" Werte! | ||
| * PIC-Code und Schaltplan/Layout in Subversion verwalten. | * PIC-Code und Schaltplan/Layout in Subversion verwalten. | ||
| Zeile 35: | Zeile 51: | ||
| * 2x STOP, dann SELECT --> Einschalten | * 2x STOP, dann SELECT --> Einschalten | ||
| * 4x STOP, dann SELECT --> Ausschalten | * 4x STOP, dann SELECT --> Ausschalten | ||
| + | * Aber auch das Ein-/Ausschalten über eine "POWER"-Taste auf der Fernbedienung sollte möglich sein. | ||
| Zeile 144: | Zeile 161: | ||
| {{svg>private:rasperry_pi_ir-onoff:timing_digipal_remote}} | {{svg>private:rasperry_pi_ir-onoff:timing_digipal_remote}} | ||
| + | |||
| + | Dieses Timing ist für das RC5 Format, im Nachhinein wurde festgestellt das einige Tasten ein "extended" RC5 Format übertragen. | ||
| + | Bei diesem ist die START Codierung anders ('10' statt '11 -> somit low-Pegel für 1,8ms). Dadurch überschneidet sich die Zeitmessung mit dem RCA Format. | ||
| + | |||
| + | Außerdem gibt es Probleme beim "fehlerfreien" Empfang des RCA Formats: | ||
| + | - Das Start-Bit ist, bei direkter Richtung der Fernbedienung auf den IR-Empänger, nicht 4ms lang sondern schwankt zwischen 0.8ms und 4ms. Teilweise werden auch mehrere Pulse erkannt! | ||
| + | - Die Logitech Harmony wird besser erkannt als die Original MS XBox Fernbedienung. | ||
| + | - | ||
| Die nachfolgenden Zeiten wurden mit dem Oszilloskop ermittelt. | Die nachfolgenden Zeiten wurden mit dem Oszilloskop ermittelt. | ||
| Zeile 181: | Zeile 206: | ||
| ===== Umsetzung ===== | ===== Umsetzung ===== | ||
| + | |||
| + | ==== Verwendete Module ==== | ||
| + | |||
| + | * TIMER0: Increment alle 32µs (Bei 4MHz --> Prescaler 1:32), Overflow bei 8,192ms | ||
| + | * Zur Zeitmessung des IR-Data-Signals | ||
| + | * TIMER1: Increment alle 8µs (Bei 4MHz --> Prescaler 1:8), Overflow bei 524,288ms | ||
| + | * Zur Erkennung von Button-Presses und Zeitmessungen für Sleep/CMD-Ende | ||
| + | * | ||
| ==== Schaltplan ==== | ==== Schaltplan ==== | ||