www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CTC 36khz, sehr mysteriös


Autor: a guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus!

Hab schonma nen Thread gemacht, aber keine antwort bekommen.
Also versuche ich es jetzt noch einmal in kurzform ;-)

Ich hätte gerne ein 36khz trägersignal für einen SFH5110-36 IR 
Empfänger.
Ich glaube die Formel heißt:

Frequenz = µC-Clock/(Prescaler*OCR0)

oder

Frequenz = µC-Clock/(Prescaler*OCR0)/2

Welche muss es sein?

Naja, ich habe es schon mit beiden und einigen anderen Versucht und nix 
geht nach meiner Rechnung.
Das einzige was läuft ist

µC-Clock = 2MHZ
Prescaler = 8
OCR = 9

2000000/(8*9) = 27.7khz

Wie kann das sein?
Ich versteh das nicht?
Bitte helft mir, ich bin am verzweifeln.

Cu,
Ein Gast

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
diese hir

>Frequenz = µC-Clock/(Prescaler*OCR0)/2

wenn Dein µC bei jedem Int. von L auf H (oder umgekehrt) umschaltet.

Autor: a guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal danke, dass du mir antwortest!
Freut mich, dass ich zumindest bei der formel nicht total auf dem 
schlauch stand.

Dann verstehe ich aber nicht warum alles was ich nach der Formel rechne 
nicht funktioniert.

Bei den werten die funktionieren käme man dann auf:

2000000/(8*9)/2 = 13.8khz

Wie kann das sein?
Welche faktoren könnten da noch rein spielen damit aus den werten keine 
13.8khz sondern 36khz werden? o.O

Also ein falscher SFH5110 kann es auch nicht sein, denn es gäbe auch 
keinen mit 13.8khz.

Aktueller Code:

TCCR0 = 0x00;
TCCR0 |= ( (1<<WGM01) | (1<<COM00) | (1<<CS01) );
OCR0  = 9;

Und an den OC0 pin ist über einen Mosfet eine IR-LED angeschlossen.
Was mache ich dann falsch?

Autor: Uwe Nagel (ulegan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genaugenommen lautet die Formel:
F=clk/2/n/(OCR+1)
Bei Prescaler n=8, OCR=9 und 2MHz Takt erhältst du 12,5kHz.
Ein ungenauer RC-Oszillator könte die 13,8kHz erklären...
Für 36kHz könntest du n auf 1 setzen und OCR auf 27.
Das ergibt theoretisch 35714Hz, praktisch wohl etwas mehr.
Um welchen Prozessor geht es eigentlich? Zum ATmega128 würde
die Registerbeschreibung passen...

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für 36kHz braucht man mit CTC und Toggled Pin eine Frequenz von
72kHz.

OCR = (µC/(Pres*F)) -1

bei 72kHz und 2 MHz mit Pres=1

OCR = (2000000/(1*72000)) -1 = 27

(Freq ist: 71,43kHz)

OCR zählt von 0 ab daher die -1 !

gruß hans

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi hans und Uwe,

genauer gehts mit 2MHZ nicht!

Ich schlage eine höhere Tacktfreq. vor die ein vielfaches
von 36KHz sind.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus

die 2MHz waren vorgegeben und nicht von mir.
Die rechnerische Abweichung von unter 1% ist für IR-Fernbedienung
mehr als ausreichend.
Der interne Oszillator kann da mehr Ärger machen.
(Aber nicht mir sondern a guest ;))

gruß hans

Autor: a guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank für eure hilfe!
mit der formel von hans funktioniert es!

gerade getestet:

OC0 = (8000000/(1*72000))-1 = 110

es handelt sich übrigens um einen atmega32.
jetzt hab ich noch das problem, dass die reichweite zur zeit vll 20cm 
beträgt.

ich benutze eine über einen mosfet angesteuerte CQY-99 IR-LED an 5V mit 
vorwiderstand 30ohm -> 120mA.

http://www.datasheet4u.com/html/C/Q/Y/CQY99_ETC.pdf.html

Brauch ich eine andere LED oder mit wieviel strom kann diese CQY-99 bei 
36khz pulsen? muss es im schnitt unter den maximalen 150mA dauerstrom 
bleiben? oder was genau bedeutet durchlaßstrom, spitzendurchlaßstrom und 
stoßdurchlaßstrom?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.