Ich suche eine sehr einfache Messschaltung zur Messung von Vibrationen mit einem Piezoelement und einem Arduino-Gerät. Ich möchte positive und negative Werte lesen.
Ich habe diesen Sensor: http://www.seeedstudio.com/wiki/Grove_-_Piezo_Vibration_Sensor
Ich weiß, dass dieses Sensormodul mir nur eine digitale Ausgabe gibt. Ich möchte aber die Schwingungsamplituden und die Frequenz messen. Also würde ich nur das Piezoelement verwenden.
Ich habe viele Beispiele gefunden, von sehr einfach bis hochgenau. Aber die meisten von ihnen schneiden die negativen Werte ab. ZB http://www.learningaboutelectronics.com/Articles/Piezo-knock-sensor-circuit.php
Und im obigen Beispiel gibt es keinen Schutz für das Arduino. Ich habe auch Aussagen gefunden, dass das Arduino wegen des niedrigen Stroms keinen Schutz benötigt, wenn es einen Piezosensor am Analog-Pin liest. Und die analogen Pins sind gegen höhere Spannungen geschützt.
Ich möchte nur eine einfache Schaltung, um negative und positive Werte von diesem Piezoelement zu lesen. Mein Arduino-Gerät verwendet eine Eingangsspannung von 3,3 V. Der Piezosensor kann im Extremfall bis zu 70-90V haben.
Was ist die Mindestkonfiguration, um eine solche Messschaltung aufzubauen? Ich brauche nicht höchste Genauigkeit. Es sollte so einfach wie möglich sein. Es dient nur zu Testzwecken. Ich denke, ich muss einen Spannungsteiler mit zwei gleich hohen Widerständen verwenden, um einen DC-Offset für die Messung der negativen Werte einzustellen. Aber was brauche ich noch für ein funktionierendes Minimalbeispiel?
Die Verwendung fast aller im Internet veröffentlichten Artikel über die digitale Erfassung eines Piezosensors liefert die Frequenz der Vibration. Dies hat den großen Vorteil, dass ein digitaler Pin etwa 1000-mal schneller erfasst werden kann als der ADC.
Ein Problem bei der Verwendung des ADC zum Abtasten des tatsächlichen Signals besteht darin, dass der Arduino-ADC so langsam ist, dass die Abtastungen unter Aliasing leiden (das Signal wird unterhalb der Nyquist-Shannon- Kriterien abgetastet) und sehr unzuverlässige Informationen liefern.
Die Signalspannung vom Piezosensor wird um Null oszillieren. Dies wird durch ein digitales Sample erkannt, wodurch die Frequenz wiederhergestellt wird.
Schützen Sie die Pins der MCU mit einem Widerstand und einer Diode, verbinden Sie das Signal mit dem Pin über den Widerstand mit dem MCU-Pin und mit Masse über die Diode. Ich würde wahrscheinlich eine Schottky-Diode verwenden, um zu verhindern, dass das Signal weit unter die Erde geht.
Schützen Sie den Eingang außerdem vor den potenziell sehr hohen Spannungen mit einer Zenerdiode (3,3 V für eine 3,3-V-MCU, 5 V/5,1 V für eine 5-V-MCU), die ebenfalls mit Masse verbunden ist, damit das Signal nicht über die Arduino-Pins steigen kann Arbeitsbereich.
Während es in Ordnung sein kann , sich auf die ESD-Schutzdioden zu verlassen, geht das Vertrauen auf die ESD-Diode zum Schutz über die Spezifikation des Geräts hinaus. Außerdem kenne ich einen Typen, der mehrere Arduino-Pins mit einem Piezosensor beschädigt hat. Da lohnt es sich nicht, ein paar Cent zu sparen.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Wenn Sie die Amplitude wirklich abtasten möchten, fügen Sie auch einen Tiefpassfilter hinzu. Ich würde wahrscheinlich beim digitalen Eingang (in dieser Schaltung) für die Frequenz bleiben und einen zweiten ADC-Pin verwenden, um zu versuchen, die Amplitude zu messen.
Es ist nicht klar, welche Motoren Sie messen möchten. Bei so etwas wie einer Waschmaschine mit beispielsweise 1200 U / min sind das 20 Hz. Ein Tiefpassfilter bei 100 Hz+ und eine Abtastung bei 1 kHz+ sollten also gut genug sein. Das sollte innerhalb der Möglichkeiten des Arduino liegen.
gbulmer
CPA
gbulmer
CPA
gbulmer