Forum: Analoge Elektronik und Schaltungstechnik Gleichrichter mit OPV für Piezo


von fe_lab (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin dabei eine Schaltung zu entwerfen, die es mir möglich macht 
einen Piezosensor auszulesen.

Die Piezosensoren werden als Vibrationssensoren verwendet. Damit soll 
präzise der Einschlagzeitpunkt eines Balls auf einer Platte gemessen 
werden, um dann der Einschlagsort (Trilateration) zu bestimmen.

Ein paar Überlegungen:

I. Das Signal muss gleichgerichtet werden, da der Piezo ein AC Signal 
generiert.

II. Es müssen Signale von 30mV bis 30V gemessen werden können.

III. Die Zeitmessung übernimmt ein µC.

Die Idee bis jetzt:

Das Signal geleichrichten und dann mittels eines Komparators bei einem 
Schwellwert eine Flanke erzeugen. Der µC wird bei der Flanke getriggert 
und startet die Zeitmessung.

Für die Gleichrichtung habe ich die Schaltung im Anhang erstellt 
(http://www.planetanalog.com/document.asp?doc_id=528005) . Ich habe nun 
ein Problem mit der Simulation. Die Schaltung funktioniert wunderbar 
wenn ich sie mit einem Puls anrege. Positiv wie negativ.

Wenn ich nun aber eine Sinusspannung anlege, dann wirkt die Schaltung 
wie ein Halbwellengleichrichter und die negative Halbwelle wird nicht 
mehr gleichgerichtet.

Es liegt am OPV (OPA320). Wenn ich ein anderes Modell verwende (z.b. 
OPA364), dann funktioniert die Schaltung wieder. Das Problem ist, dass 
der OPA364 zu langsam ist und ich ihn deshalb nicht verwenden kann. Ich 
habe schon dutzende andere OPVs versucht! Aber ich finde keinen der 
schnell genug ist und single supply betrieben werden kann.

Wieso funktioniert die Simulation mit einem Impuls und nicht mit einem 
Sinus? Wie sicher kann ich sein, dass die Schaltung wirklich 
funktioniert wenn ich sie aufbaue?

Hat jemand eine Idee wie ich sonst noch meine Flanke für den µC 
generieren kann? Die Signalform des Sensors ist mir eigentlich egal 
(Aufwand für Gleichrichtung gerechtfertigt?) . Ich will nur eine Flanke 
sobald der Sensor eine Schwellwert erreicht.

Und kann ich die Ausgangsspannung des Piezos mit den antiparallelen 
1N4148 auf die Vorwärtsspannung der Dioden klemmen?

Viele Grüße,
fe_lab

von Gerald M. (gerald_m17)


Lesenswert?

Wenn eh schon ein Mikrocontroller benutzt wird, nehme einen single ended 
to differential Treiber wie den ADA4941-1 und danach einen 
differentiellen ADC.
Den dann einfach die ganze Zeit auslesen, und bei einer Änderung des 
Wertes Messung starten und aufzeichnen.
Dann kannst du auch direkt positive und negative Werte messen.
(Den Treiber kann man auch mit zwei OPVs bauen, wie im Datenblatt des 
ADA4941-1 gezeigt)

von Kai K. (klaas)


Lesenswert?

Wie ist denn die Quellimpedanz für deinen Piezo?

von Axel S. (a-za-z0-9)


Lesenswert?

fe_lab schrieb:
> Die Piezosensoren werden als Vibrationssensoren verwendet. Damit soll
> präzise der Einschlagzeitpunkt eines Balls auf einer Platte gemessen
> werden, um dann der Einschlagsort (Trilateration) zu bestimmen.
>
> Ein paar Überlegungen:
>
> I. Das Signal muss gleichgerichtet werden, da der Piezo ein AC Signal
> generiert.

Nein.

> II. Es müssen Signale von 30mV bis 30V gemessen werden können.

Nein.

> III. Die Zeitmessung übernimmt ein µC.

Ja.

[schnipp]

> Hat jemand eine Idee wie ich sonst noch meine Flanke für den µC
> generieren kann? Die Signalform des Sensors ist mir eigentlich egal
> (Aufwand für Gleichrichtung gerechtfertigt?) . Ich will nur eine Flanke
> sobald der Sensor eine Schwellwert erreicht.

Noch nicht mal.

Wenn ein Ball auf die Platte auftrifft, dann regt er die Platte zu 
Schwingungen an, die der Piezo wiederum aufnimmt und als elektrisches 
Signal bereitstellt. Auf dem Oszi sieht das Signal wie eine abklingende 
Schwingung aus. Resonanzfrequenz und Dämpfung werden durch die 
mechanischen Eigenschaften der Platte bestimmt.

Wenn dich der Zeitpunkt des Ballaufschlags interessiert, dann mußt du 
das Signal einfach nur verstärken und begrenzen und dann die erste 
Flanke "einfangen". Über die Verstärkung stellst du dabei die Schwelle 
ein, ab der du ein Anstoßen der Platte als auftreffenden Ball ansiehst. 
Das wird zwar sicher variieren, aber bestimmt nicht zwischen 30mV und 
30V. Insbesondere kann dir vollkommen egal sein, wieviel stärker das 
Signal ist als das von dir definierte Minimum. Allenfalls wirst du den 
Vorverstärker vor zu hohen Spannungen schützen müssen, z.B. mit zwei 
antiparallel geschalteten Dioden.

Wenn du als Vorverstärker Single-Supply OPV nimmst, dann begrenzen die 
die Spannung an ihren Ausgängen ohnehin gleich. Bleibt noch das Problem, 
daß ein Ereignis dir viele Flanken auf jedem Kanal liefert. Im 
einfachsten Fall definierst du eine geeignete Totzeit nach der ersten 
Flanke (das ist ja die einzige die dich interessiert). Da die 
Folgefrequenz der Ereignisse eher gering sein dürfte, kannst du ruhig 
großzügig sein und z.B. eine Sekunde wählen. Bis dahin ist der Impuls 
sicher abgeklungen.

von fe_lab (Gast)


Lesenswert?

Kai Klaas schrieb:
> Wie ist denn die Quellimpedanz für deinen Piezo?

Der Piezo hat eine Impedanz von 400 Ohm.

Axel Schwenke schrieb:
> Wenn du als Vorverstärker Single-Supply OPV nimmst, dann begrenzen die
> die Spannung an ihren Ausgängen ohnehin gleich. Bleibt noch das Problem,
> daß ein Ereignis dir viele Flanken auf jedem Kanal liefert. Im
> einfachsten Fall definierst du eine geeignete Totzeit nach der ersten
> Flanke (das ist ja die einzige die dich interessiert). Da die
> Folgefrequenz der Ereignisse eher gering sein dürfte, kannst du ruhig
> großzügig sein und z.B. eine Sekunde wählen. Bis dahin ist der Impuls
> sicher abgeklungen.

Danke für die Tipps. Die Piezos können, wenn sie direkt getroffen 
werden, eine Spannung von ca. 30V erreichen. Ich muss halt nur die OPV 
davor schützen. Das kleinste Signal das wir gemessen haben, bei eine 
langsamen Ball und größter Entfernung zwischen Einschlagort und Sensor, 
sind etwa 30mV.

Gerald M. schrieb:
> Wenn eh schon ein Mikrocontroller benutzt wird, nehme einen single
> ended
> to differential Treiber wie den ADA4941-1 und danach einen
> differentiellen ADC.
> Den dann einfach die ganze Zeit auslesen, und bei einer Änderung des
> Wertes Messung starten und aufzeichnen.
> Dann kannst du auch direkt positive und negative Werte messen.
> (Den Treiber kann man auch mit zwei OPVs bauen, wie im Datenblatt des
> ADA4941-1 gezeigt)

Ich hatte eigentlich gehofft, die Signalverabeitung analog zu erledigen. 
Ein ADC würde ich nur dann nehmen, wenn nichts anderes klappt.

von fe_lab (Gast)


Lesenswert?

Mein Problem ist die große Bandbreite der Signale. Da ich für eine 
ideale Zeitmessung für 30mV, 300mV und 3000mV "idealerweise" immer den 
gleichen Output generieren sollte. Der zeitliche Fehler zwischen den 
verschiedenen Inputwerten sollte nicht größer sein als 1µs.

Ich glaube langsam, dass das Analog nicht zu erreichen ist.

von fe_lab (Gast)


Angehängte Dateien:

Lesenswert?

Ich entschuldige mich dafür, dass ich schon wieder in den Thread poste, 
aber ich wollte nochmal ein bisschen Klarheit zu dem Sensorsignal 
schaffen.

Ich habe ein Bild angehängt, dass das Messiganl von zwei Piezosensoren 
zeigt. Dabei schwingt jeder Piezo mit seiner Resonanzfrequenz von 
4,4kHz. Diese Schwingung wird dann noch von der Schwingung der Platte 
auf der die Sensoren befestigt sind überlagert. Gemessen werden soll die 
Zeitdifferenz zwischen den Signalen.

Wenn ich das Signal mit einem ADC aufnehme, dann könnte ich das 
Softwaretechnisch lösen. Doch geht das auch (mit vertretbarem Aufwand) 
Analog?

von Gerald M. (gerald_m17)


Lesenswert?

Kannst du mal das Signal bei den 4,4kHz Hochpass/Bandpassfiltern?
Dann sollte ein ganz vertretbarer Sinus raus kommen, der wahrscheinlich 
deutlich besser auszuwerten ist.

von Kai K. (klaas)


Lesenswert?

C4 und R9 sollen die Quellimpedanz nachbilden?

von Kai K. (klaas)


Lesenswert?

>Der zeitliche Fehler zwischen den verschiedenen Inputwerten sollte nicht
>größer sein als 1µs.

Aber die Periode der 4,4kHz Eigenschwingung beträgt ja schon über 200µs. 
Wie soll das gehen? Schau doch mal selbst deinen Plot an. Wie willst du 
bei der unteren Kurve den Einsatz auf 1µs genau bestimmen? 10...20µs, 
besser geht es wohl nicht.

Wenn du ein resonantes System hast, dann hast du eine charakteristische 
Einschwingzeit. Ich schätze mal, daß du für 1µs Auflösung hier Sensoren 
mit erheblich höherer Resonanzfrequenz brauchst. Da spielt es keine 
Rolle, ob du das analog oder digital machen willst.

von Axel S. (a-za-z0-9)


Lesenswert?

fe_lab schrieb:
> Mein Problem ist die große Bandbreite der Signale. Da ich für eine
> ideale Zeitmessung für 30mV, 300mV und 3000mV "idealerweise" immer den
> gleichen Output generieren sollte.

Ich dächte doch, ich hätte mich klar genug ausgedrückt. Wenn das 
schwächste Signal, das du von deinem Piezo-Sensor erhältst, 30mV 
Spitzenwert hat. Und wenn dein µC ab 3V einen H-Pegel erkennt, dann mußt 
du das Signal um Faktor 100 verstärken. Fertig.

Wenn der Piezo 100mV liefern sollte, dann würde der Verstärker nominell 
10V liefern. Aber mit 5V Betriebsspannung ist bei 5V Spitzenspannung 
ohnehin Schluß (Begrenzung).

Eine Verzögerung wird jetzt noch dadurch entstehen, daß zwischen 
Aufprall des Balls (Nulldurchgang des ersten Schwingungszugs) und dem 
Erreichen der Schaltspannung eine gewisse Zeit vergeht. Diese Zeit wird 
bestimmt von der Resonanzfrequenz und der Amplitude. Frequenz sollte für 
alle Sensoren gleich sein, Amplitude logischerweise nicht. Jetzt müßtest 
du halt mal messen, wie stark sich die Amplitude für den nächsten und 
den fernsten Sensor unterscheidet und wieviel das ausmacht.

Allerdings wird es einen gewissen Kompensationseffekt geben. Der dem 
Aufschlagort nächste Sensor kriegt die höchste Amplitude und löst "am 
zeitigsten" aus. Die anderen Sensoren sehen das Signal mit weniger 
Amplitude und lösen deswegen etwas verspätet aus. Im Endeffekt wird das 
so aussehen, als wäre der Schall im Holz etwas langsamer unterwegs, weil 
sich die normale Verzögerung (Laufzeit) und die zusätzliche Verzögerung 
durch den Amplitudenunterschied addieren (und zwar immer in der gleichen 
Richtung). Vermutlich wird dieser Fehler also durch den ohnehin 
notwendigen Abgleich wieder rausgerechnet.

fe_lab schrieb:
> Dabei schwingt jeder Piezo mit seiner Resonanzfrequenz von
> 4,4kHz. Diese Schwingung wird dann noch von der Schwingung der Platte
> auf der die Sensoren befestigt sind überlagert.

Für korrekte Funktion müssen die Piezos mit der Platte verklebt werden. 
Du willst definitiv nicht, daß die noch mit ihrer Eigenfrequenz 
schwingen.

Auch der o.g. Amplitudenunterschied von 30mV bis 30V löst sich dann in 
Wohlgefallen auf. Denn einen Piezosensor, der auf der Unterseite der 
Platte aufgeklebt ist, den kannst du nicht direkt mit dem Ball treffen.

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.