Frequenzmessung bei Infrarotempfang

Gast #86758
Hallo,

ich möchte ein Infrarotsignal (moduliert mit Trägerfrequenz) auf einem
8515 empfangen und dazu noch die Trägerfrequenz des Signals messen!

Benötige ich dazu zusätzliche Hardware oder kann ich das Signal einfach
an meinen Atmel legen?
Wie würde so eine Messung der Trägerfrequenz funktioniern (Timer0?)?

Danke,
Andi
Gast #86759
hi,

du kannst 'nen timer als counter betreiben und die overflows pro
torzeit (zweiter timer) zählen. wenn torzeit rum (z.b. 1 sec.)
timerstand auslesen + overflows x255 (8-bit timer), dann haste die
freq. des trägers. funzt gut bis ca. 1/2 quarzfreqenz.

gruss, harry
Gast #86760
Hallo,

das Problem dürfte sein, die Trägerfrequenz soweit zu verstärken, um
ein sauberes, starkes Signal für den AVR zu bekommen. Das kann schon
mal etwas Aufwand sein. Früher war eh alles diskret aufgebaut, heute
bekommst Du die Teile eigentlich nur noch fertig im Chip incl. Filter
und Verstärkungsregelung, wo am Ausgang nur noch das demodulierte
Signal auftaucht...


Gruß    R A L F
Gast #86761
Dies trifft auf die integrierten IR Empfänger wie den TSOP18xx, TSOP48xx
und SFH5110 zu. Für stinknormale IR Phototransistoren oder Photodioden
aber nicht. Aber gereade bei denen wirst du um externe Verstärkung und
Filterung des Signals nicht drumherum kommen.

Gruß Hagen
#86762
Ich denke mal es geht darum die Frequenz einer anderen FB zu lernen.

In dem Fall ist es zumutbar, die FB direkt an den Fototransistor zu
halten.

Du brauchst also nur einen extra Fototransistor mit Arbeitswiderstand
und ab damit z.B. auf den T0 Eingang.
Frequenzmessung wurde ja schon öfter beschrieben:

fx = fQuarz * n / m


Peter
Gast #86763
Das Problem bei fester Torzeit:
Die Fernbedienung sendet nur kurz, Obwohl die Trägerfrequenz 36kHz
beträgt, kommen warscheinlich nicht mehr als 4000 Impulse pro Sekunde
an...
Ich messe die Frequenz mit nem PC Oszilloskop und da mit FFT. Dann
bekommt man genau die Frequenz angezeigt.
Gast #86765
Viel Spaß beim Schätzen... Denn eine genaue Messung kann es kaum sein,
wenn man 889us als Torzeit nimmt. Auflösung 1kHz +/-1 digit.. Ergibt
2kHz  Gesamtgenauigkeit, dazu kommen noch die restlichen
Messungenauigkeiten.
#86766
@Benedikt,

wußte nicht, daß Du es so genau brauchst.

Bei 16MHz sind das 16 * 889 = 14224 Impulse.

Damit komme ich auf:

fx = 16e6 * 1 / 14224 = 1124,86 Hz

Die Genauigkeit ist dabei +/-1 Impuls, also

16e6 * 1 / 14223 - 1124,86 = 0,08 Hz

D.h. es ist auf >4 Digits genau.

Wenn Du es noch genauer willst, soweit mir bekannt sind die Pulse immer
mindestens 6 Takte lang.
Dann mußt Du allerdings auch erstmal den Quarz genau ausmessen und dann
noch die Temperatur kompensieren.


Peter
Gast #86767
Da ist aber ein kleiner Fehler drin...
z.B. das RC5 Signal wird dadurch übertragen, dass immer abwechselnd 32
Impulse übertragen und dann 32 Impulse (1Impuls = 36kHz) nicht (für
eine logische 0).
Oder anderstrum für eine logische 1.

Also am Stück 32Impulse, was 889us sind.
Misst man nun den Abstand zwischen 2 Impulsen, kommt man auf 444,444
Impulse, also etwa 80Hz. Das reicht ja.
Ich verwende eigentlich die Impulsdauermessung, sondern nur die
Impulszählung, denn so werden viele Werte gemittelt und das Ergebnis
ist genauer.
Gast #86768
@Peter

"fx = fQuarz * n / m"

Was ist denn n und m ?

Brächte ich denn nicht noch hinter den Fototransistor einen
Schmitt-Trigger um ein sauberes TTL-Signal zu erhalten?

Gruß,
Andi
Gast #86769
@Peter

"fx = fQuarz * n / m"

Was ist denn n und m ?

Bräuchte ich denn nicht noch hinter den Fototransistor einen
Schmitt-Trigger um ein sauberes TTL-Signal zu erhalten?

Gruß,
Andi
Gast #86771
Bevor ich dann aber den Code an meinem AVR auslesen möchte, muss ich
dann nicht vorher das Signal einer Bandpassfilterung/Demodulation
unterziehen (machen die TSOPs und SFHs ja auch)?

Wenn ja, was benötige ich dafür für Hardware?

Danke,
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.