Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung bei Infrarotempfang


von Andreas Miessen (Gast)


Lesenswert?

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

von harry (Gast)


Lesenswert?

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

von Ralf Engel (Gast)


Lesenswert?

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

von Hagen (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Benedikt (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

@Benedikt

In dem Fall nimmt man den Puls als Torzeit und zählt den internen
Quarztakt (Capture-Funktion).
Eventuell nimmt man auch 2 oder mehr Pulse, damit das Ergebnis genauer
ist.


Peter

von Benedikt (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

@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

von Benedikt (Gast)


Lesenswert?

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.

von Andreas Miessen (Gast)


Lesenswert?

@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

von Andreas Miessen (Gast)


Lesenswert?

@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

von Peter D. (peda)


Lesenswert?

n ist der Zählwert der externen Frequenz, m ist der Zählwert der
Quarzfrequenz.

Mißt Du nur eine Periode der externen Frequenz, ist somit n = 1.


Der AVR hat schon einen Schmitt-Trigger Eingang.


Peter

von Andreas Miessen (Gast)


Lesenswert?

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

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.