Hallo, ich würde gerne ein NF Signal (Telegrafie-Signal vom Line-Out eines Funkgerätes) mit einem ATmega8/16 auswerten und die Abweichung von einer vorgegebenen Frequenz +/- auf einem LCD per Balken sichtbar machen, sodaß man den Transceiver einfach auf Schwebungsnull bringen kann. Das Ganze sollte sich in einem Bereich von 200-1000Hz abspielen. Da es kein sauberes Dauersignal ist, sondern nur kurze Tonimpulse, frage ich mich, wie ich die NF aufbereiten muß, damit der ATmega damit was sinnvolles anfangen kann? Gruß, Heiko
Wenn die kurzen "Tonimpulse" deutlich lauter, als die sonstigen Tonsignale aus dem Empfänger sind, brauchst du einen Komparator mit einstellbarer Hysterese (der liefert das Tonsignal als Rechteckschwingung, WENN es stark genug ist). Legst du das Komparator-Ausgangssignal auf den INT0, oder INT1 vom ATmega, kann der mit der entsprechenden Software die Frequenz erfassen, vergleichen und die Differenz zur Anzeige bringen. Kommt kein Signal mehr, oder ein zu schwaches Signal, kann man die Anzeige ausblenden. Ansonsten schau mal bei "http://elm-chan.org/works/akilcd/report_e.html". Oder suche beim GUGEL nach "Stimmgerät diy, Selbstbau, ..."
Danke für die Tipps, ich werde mir das heute Nachmittag mal anschauen. Die Tonsigale sind gut hörbar, aber nicht immer unbedingt deutlich lauter, es sind natürlich auch mal Störsignale / Nachbarsignale links und rechts vom Nutzsignal vorhanden. Vorallem muß die Auswertung praktisch in Echtzeit erfolgen, das können dann bei höheren Tempo schon mal 10 Impulse/Sek. sein. Versuche mit den "üblichen" Frequenzzähler Beschaltungen schlugen komplett fehl. Gruß, Heiko
Je kleiner deine Abweichung zwischen Ist und Sollfrequenz, desto länger wird die Beobachtungszeit, um die Abweichung überhaupt feststellen zu können. Das solltest du auch bedenken. Bei 10 Hz Abweichung must du mindestens 100 msek eher 200m sek die Signale beobachten, um eine Periodendauer zur Frequenzmessung feststellen zu können. Vielleicht ist das ja der Grund, warum du mit deinen Frequenzzähler nicht zum Ziel gekommen bist.
Es gibt da 2 Möglichkeiten: 1) Aufbereiten der Nulldurchgänge und Messen der Zeiten zwischen den Nulldurchgängen. Als eine Art Reziprokzähler kann man da auch schon aus einer Periode die Frequenz bestimmen. Wegen der möglichen Störungen wäre es wohl besser mehrere Periode zu messen, und dann Ausreißer auszusortieren, z.B. über den Median. 2) Man nimmt das Signal per AD Wandler auf, und bestimmt die Frequenz mit der größten Amplitude rechnerisch, z.B. FFT. Dabei macht es auch nichts wenn über mehrere Pulse gemittelt wird. Die Aufgabe ist aber mit einem AVR schon anspruchsvoll. Mit dem Wissen um die ungefähre Frequenz und Amplitude kann man dann ggf. die Frequenz noch genauer bestimmen, in man für einzelne Pulse einen Sinus anpasst. Für den AVR ist dies aber nicht unbedingt in Echtzeit zu schaffen, aber schneller als man es vom LCD ablesen kann sollte noch gehen. Der 2. Weg ist aufwendiger, aber weniger Empfindlich gegen Hintergrundgeräusche.
Heiko schrieb: > Vorallem muß die Auswertung praktisch in Echtzeit erfolgen, das können > > dann bei höheren Tempo schon mal 10 Impulse/Sek. sein. Ulrich schrieb: > ) Aufbereiten der Nulldurchgänge und Messen der Zeiten zwischen den > > Nulldurchgängen. Als eine Art Reziprokzähler kann man da auch schon aus > > einer Periode die Frequenz bestimmen. Wenn er es wirklich schafft in einer Periode zuverlässig zu messen, dann kann er maximal ein Frequenzunterschied von 10Hz anzeigen. Da er aber bei Beginn der Messung im ungünstigsten Fall 1 halbe Periode abwarten muss, bis er den nächsten Nulldurchgang erwischt, dauert es 5msek länger. Ralph Berres
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.