PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RC5 mit internem Takt möglich?



dreadbrain
20.02.2007, 11:58
hallo,
ich möchte an meinen atmega8 einen ir empfänger hängen um auf befehle meiner universalvernbedinung zu reagieren. Aus platzgründen auf der platine möchte ich den ext. Quarz weglassen.
Reicht die Genauigkeit für Ir-Empfang wenn ich den internen RC-Oscilator auf 8Mhz einstellen.
mfg
Benedikt

SprinterSB
20.02.2007, 14:53
Prinzipiell ja.

Das hängt aber auch davon ab, wie gut deine Software ist, also zB welche Toleranzen die zulässt und wie gut deine OSCCAL-Einstellungen sind.

Im Wiki-Beispiel RC5-Decoder (Kategorie "Kommunikation") habe ich Toleranzen in der Bitlänge von 1/6, d.h. ca. 16%. Also recht viel. Eine überschwänglich dokumentierte C-Implementierung findest du in

http://freenet-homepage.de/gjl/pub/c-code/rc5.html

Allerdings auch wieder nur für [wiki="RC5-Code"]

Nebenbei: Auch nicht jede Fernbedienung hält sich 100% ans Protokoll, die Hersteller sparen eben wo's geht. Genau deshalb erlaubt der angesprochene Empfänger eine recht große Toleranz.

dreadbrain
24.02.2007, 22:32
Hallo,
wie kalibirere ich den internen oscillator.
Kann das sein das die Funtkion in pony prog schon integriert ist?
mfg Benedikt

SprinterSB
25.02.2007, 16:30
POnyProg unterstützt das Schreiben/Lesen von OSCCAL. Wo du den Wert herkommt, ist allerdings dein Bier ;-)

dreadbrain
26.02.2007, 16:16
Hallo,
ich habe mit pony von den im datenblatt angegebenen Adressen ausgelesen.
kann es sein das für alle RC-oscillator einstellungen daer oscal wert 191 beträgt?

Kalibriert ihr den internen?
Oder würdet ihr empfehlen einen externen zu nehmen.

mfg Benedikt

SprinterSB
26.02.2007, 17:56
Ein externer RC-Oszillaror dürfte nicht viel platzsparender sein als ein Quarz im HC49-U, bringt aber keine bessere Genauigkeit als der interne RC und ist noch nicht mal kalibrierbar.

Der Hersteller kalibriert den RC AFAIR für 25°C und VCC=3.3V. Aus dem Datenblatt kann mal also den OSCCAL für deine Einsatzbedingungen ableiten.

Zur Kalibrierung kannst du auch ein Programm ein LED im Minuten-Takt blinken lassen und anhand der Abweichung zu einer normale Uhr, die du beobachtest, den OSCCAL ohne großen Aufwand an Hardware trimmen.

Jedenfalls ist das ein Weg, wenn du nicht 10000 µC jeden Monat kalibirieren musst ;-)