5 tonfolge zu rs232 wandlen

Gast #745017
Lesenswert?
• ▲
▼
Hallo ich wusste nicht wo ich diesen beitrag schreiben soll is ja 
eigentlich auch ein funkthema.
Okay
Ich möchte gerne 5-Tonfolgen auswerten und dann an einen seriellen 
drucker schicken.
Die 5 Tonfolge ist eine Art "Daten"telegramm.
Der Standard ist ZVEI
Es ist so aufgebaut, dass 5 töne nacheinander gesendet werden. mit einer 
länge von 70ms je Ton.
Die frequenzen sind von 1060 bis 2800 HZ.
Wie realisiere ich es dass mein AVR die unterschiedlichen Töne sauber 
erkennt? oder sollte man da mit Hardware Bandpässen arbeiten? aber die 
müssten ja dann wiederum sehr Steil und Schmalbandig sein.. kosten...
Wäre für einen Denkanstoss danlbar!
Gast #745026
Lesenswert?
• ▲
▼
das kann man recht einfach mit dem internen komparator des mega8 machen.
den timer in capture interrupt mode betreiben und fertig is es.
dazu braucht man keine aufwändig schaltung aussen herum. ne diode nen 
widerstand und nen elko sollte genügen.
#745029
Lesenswert?
• ▲
▼
Gast #745030
Lesenswert?
• ▲
▼
Maxima? Sagt mir leider nichts.
Zeitabstände messen hört sich gut an. Kannst du mir da vielleicht auch 
noch nen anstoß zu geben. Wie sollte ich das realisieren dass der AVR 
auch dann anfängt zu messen wenn der erste ton kommt? Sprache ist 
übrigends auch auf der leitung, das könnte bei der Messmethode zu 
Fehlern führen.
Oder Sollte ich beim Eingang einen hochpass setzen dessen grenze bei 
1KHz liegt?
Gast #745040
Lesenswert?
• ▲
▼
wenn du die Signale mittels Vertsärker/Begrenzer auf CMOS-Pegel bringst, 
kannst du die an den ICP-Eingang hängen und damit die Periodendauer 
messen. Mach ein paar Messungen, die erste ist wahrscheinlich sowieso 
fehlerhaft. Hast du ein paar Messungen, kannst du dich richtig austoben, 
um Fehler auszusortieren :-).
Ich hatte mal was ähnliches, 5 Messungen, grössten und kleinsten Wert 
wegschmeissen, Mittelwert aus den restlichen 3. Passte gut.
Wenn die 70ms halbwegs konstant sind, kannst du auch das Tor für diese 
Zeit öffnen und die Anzahl der Pegelwechsel zählen.
Oder mit min. 5kHz das Analogsignal abtasten und ne FFT drüberlaufen 
lassen (aber das dürfte einen kleinen 8Biter rechenmässig in die Knie 
zwingen, ich habs noch nicht probiert, einmal auf einem M16C und einmal 
auf einem DSP. Der M16 braucht für eine 4096-Punkte-Integer-FFT 2,5s)
Gast #745316
Lesenswert?
• ▲
▼
Ich würde dir den Goertzel Algorhythmus empfehlen.
Ich habe damit auch schon mal mit einem AVR die DTMF Töne dekodiert.
Das hat gegen der Frequenzmessung mit Timer den Vorteil das Störungen 
durch die Digitalen Filter besser unterdrückt werden.

Gruss Helmi

Antwort schreiben

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.

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.