Hi,
Ich habe hier einen hochohmingen (Piezo), bei dem ich wissen will,
ob eine Bestimmte Frequenz (14 kHz) vorhanden ist.
Ich würde wie folgt vorgehen:
Piezo-Signal->Verstärken->Hochpass->Tiefpass->(Verstärken)->Gleichrichte
n->Integrieren oder Komparieren?.
Und dann will ich den Binären zustand mit einem AVR erfassen.
Also 14 kHz liegt gerade an oder liegt gerade nicht an.
Die Auswertung soll maximal 100x/Sec. ausgeführt werden.
Wie gehe ich da am besten vor? Und welche Bauteile nehme ich am besten?
Das soll im Idealfall alles auf 5V laufen.
Beste Grüße
Dieter
Ich denke das Problem liegt eher in der analogen Signalverarbeitung.
Mach da erst mal ein vernuenftiges Signal. Ich wuerde einen Pegelmesser,
und dann einen Komparator verwenden. Ein Komparator ohne hinreichend
Pegel bringt nur Rauschen.
Wenn das Problem sie analoge Signalverarbeitung ist, könnte ich sie auch
digital machen.
Dazu müsste ich das Signal aber oft genug Samplen mit min. 10 Bit und
dann ne FFT. Aber Programmiertechnisch ist mir das ehrlich gesagt zu
aufwändig
dieter Baumann schrieb:> Also 14 kHz liegt gerade an oder liegt gerade nicht an.> Die Auswertung soll maximal 100x/Sec. ausgeführt werden.
Wenn die Resonanzfrequenz des Sensors bei 14 kHz liegt mußt Du nicht
filtern und nicht verstärken. Ein ATmega48 reicht aus, um die Frequenz
schnell und hinreichend genau 100-500x pro Sekunde zu messen und zu
bewerten.
Kosten für Material ca. € 2.
Und wir alle stellen uns mal wieder die Frage, welche Randbedingungen
etc. du uns verschweigst. FFT ist angeblich zu aufwendig, mit Goertzel
traue ich mich gar nicht zu kommen. Ist es wirklich nur
> Ich habe hier einen hochohmingen (Piezo)
Wenn es sich wirklich um einen, einen einzigen, bestimmten Piezo handeln
würde, der einmal gemessen werden soll, dann würde hier vermutlich jeder
ein Mikrofon, ev. einen einfachen Messverstärker und ein billiges DSO
mit FFT nehmen um einmalig auf den DSO-Bilsdchirm zu sehen ob 14 kHz "da
sind".
Programmieraufwand: Null.
Wenn es plötzlich doch mehrere Piezos sind sieht das ganze schon wieder
anders aus.
dieter Baumann schrieb:> Ich habe hier einen hochohmingen (Piezo), bei dem ich wissen will,> ob eine Bestimmte Frequenz (14 kHz) vorhanden ist.
Das ist einfach:
bool function(14kHzInSignal)
{
return true
}
> Die Auswertung soll maximal 100x/Sec. ausgeführt werden.
Och, DIESE Funktion kannst du sogar noch sehr viel öfter aufrufen...
> Wie gehe ich da am besten vor?
Du überlegst dir zuerst, was genau du eigentlich messen willst. Bei
diesen Überlegungen würde dir dann (vielleicht) auch klar werden, warum
obige Funktion mit so wenig Aufwand trotzdem immer das korrekte Resultat
für deine Anforderungen liefert...
Und du würdest wissen, was zu einer korrekten Spezifikation der
Anforderungen noch so dazu gehört außer der Frequenz, die einen
interessiert.
Yo, fuck, man muß dafür tatsächlich ein wenig selber nachdenken und sich
mit so lästigen Erscheinungen der realen Welt wie Rauschabstand, Pegeln,
Hysteresen, Zeitkonstanten usw. beschäftigen...
dieter Baumann schrieb:> Wenn sie auf Resonanz wäre, müsste ich nichts filtern und verstärken
Na gut. Filtern und verstärken und dann auf einen ATmega48.
hahah geiler scheiß. Dann machen wir also auf dem Nuveau weiter.
Also ich will an einem metallenem (Alu) Werkstück eine Schwingung
festestellen.
Und die befindet sich nunmal auf 14 kHz. Es war ein Zylinderkopf, glaube
ich.
Das ich der ganze Zauber.
Jetzt kannste dich nochmal selbst befriedigen.
gruß dB
Also, dann schau dir das Piezo signal mal an. Dann mach es so, dass es
auch fuer einen Controller messbar ist. Ohne FFT und solchen Scheiss.
BandFilter, Verstaerker, Bandfilter, Gleichrichter, ADC