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
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
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
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
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
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.
@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
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.
@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
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.
@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
@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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.