Ich habe einen ADXL203-Beschleunigungsmesser für analoge Geräte auf einem Steckbrett und wollte diesen verwenden, um die Neigung einiger Geräte bei einer angemessen hohen Frequenz (20-30 Hz) zu messen. Ich schließe es an einen Campbells Cr3000 Logger an, um die Messung durchzuführen. Hat jemand Anweisungen zur Interpretation der Sensorausgänge. Vielen Dank
accelerometer
inclination
Troy Jensen
quelle
quelle
Antworten:
Ich habe hier eine Reihe von Dingen zu sagen, von denen einige mit Pingswept und einige mit Penjuin einverstanden sind.
cr3000
Das Cr3000-Sampling mit 16 Bit und 100 Hz wird etwas langsam abtasten, damit Sie problemlos Rauschen aus Ihren Daten entfernen können. Es ist jedoch mit einer deutlich höheren Genauigkeit verwendbar. Ich bezweifle, dass Sie 13 oder 14 Bit Genauigkeit ohne einige ziemlich gute Filteralgorithmen erhalten können. Beschleunigungsmesser haben mich gelehrt, dass Vibration die teuflischen, gesprengten Phononen sind.
Ausgangskondensator
Sie müssen sicherstellen, dass Sie die Angaben des Datenblattes und der Signaltheorie einhalten. So zitieren Sie das Datenblatt:
Dies bedeutet, dass Sie einen Kondensator auswählen müssen, um Ihre Frequenz unter 50 Hz zu halten. Wenn Sie es darüber platzieren, können Sie Aliasing erhalten, und Aliasing macht Vibrationsgeräusche zu einem Teufel, mit dem Sie einen Deal unterzeichnet haben. Sie geben an, wie die Geräuschpegel vom Gerät berechnet werden sollen, und bei einer Bandbreite von 50 Hz wird ein Spitzengeräusch von 0,006 * nicht einmal die Schwerkraft bemerkt, wenn Sie dies bei einem Gerät mit Vibrationen feststellen.
Daten interpretieren
Dies ist wahrscheinlich das, woran Sie am meisten interessiert sind, und es ist relativ einfach zu tun. Sie müssen eine Zeit markieren, in der sich das Gerät im neutralen Zustand befindet. Dies ist, wenn es flach ist und Sie es relativ ruhig haben. Geben Sie an dieser Stelle ein oder zwei Sekunden ein, und dann können Sie den Median dieser Daten verwenden, um die No-G-Spannung zu bestimmen. Dann können Sie dies als Vergleichspunkt für das Gerät verwenden. Ab jetzt kann ich das Datenblatt direkt zitieren:
Sie können diese Näherung also einfach verwenden, wenn Sie nicht sehr stark kippen möchten. Sie müssen jedoch Geometrie verwenden, wenn Sie in beide Richtungen und in Winkeln kippen möchten, die nicht extrem klein sind.
Wenn Sie größer werden, haben sie sogar die folgenden Gleichungen:
Soweit ich telefonieren kann, gibt Ihr Gerät eine Änderung von 1 V pro 1 G Beschleunigung an. Wenn Sie die Kalibrierungsphase durchgeführt haben, sollten Sie in der Lage sein, Messungen vorzunehmen, den Versatz zu subtrahieren und die Anzahl der erlebten Gs zu ermitteln.
Hören Sie hier auf zu lesen, es sei denn, Sie stoßen auf Probleme oder möchten weitere Informationen, um den Ansatz zu verbessern.
Ich habe ein bisschen mehr über andere Ansätze und Methoden gesprochen, um Ihren Ansatz für sich schnell ändernde Systeme oder Systeme zu verbessern, in denen Sie das Gerät programmieren, das die Beispiele erstellt.
Abtastfrequenz
Sie müssen wesentlich schneller abtasten als die Geschwindigkeit, mit der Ihr Gerät die Richtung ändert, in die es beschleunigt, da Sie die Ausrichtung 20 bis 30 Mal pro Sekunde messen müssen. Sie müssen in der Lage sein, schnell genug zu messen, um Vibrationsgeräusche und Beschleunigungen aufgrund anderer Einflüsse herauszufiltern, die ich bei der Arbeit mit einem Beschleunigungsmesser als ziemlich groß empfunden habe.
3-Achsen-Beschleunigungsmesser
Zweitens, wenn Sie einen dreiachsigen Beschleunigungsmesser haben, können Sie ziemlich leicht erkennen, wenn eine Achse einen Teil der Beschleunigung aufgrund der Schwerkraft verliert (dh wenn die z-Achse einen Größenabfall von 2 m / s ^ 2 aufweist, wissen Sie, dass die Der Gewinn, den Sie auf der anderen Achse gesehen haben, ist die Schwerkraft. Dies ist zwar immer noch chaotisch, aber im Allgemeinen wird eine Beschleunigung hinzugefügt, die die Geschwindigkeit angibt, die zum Ändern Ihrer Ausrichtung erforderlich ist, und anschließend eine Änderung der Beschleunigung aufgrund einer Änderung der Ausrichtung, sodass Sie häufig die Ausrichtung erkennen können.
Probleme mit 2-Achsen
Dies wird, wie Penjuin sagte, mit einem 2-Achsen-Beschleunigungsmesser fast unmöglich und bestenfalls lückenhaft sein, wenn Sie ein System haben, das 20 bis 30 verschiedene Ausrichtungen pro Sekunde haben kann, oder wenn Sie ein genaues Maß für die Ausrichtung benötigen jederzeit. Ich bin mir sicher, dass ein Masterstudent eine schöne Abschlussarbeit zu diesem Thema schreiben oder eine Doktorarbeit über die Verbesserung dieses Algorithmus verfassen könnte.
Vibrationsgeräusch
Wenn Sie Ihr Gerät auf etwas stellen können, das es statisch an die Bewegung Ihres Geräts anpasst, aber Vibrationen dämpft, erhalten Sie viel bessere Zahlen und müssen weniger Software filtern. Zwischen dem Beschleunigungsmesser und Ihrem Gerät kann eine einfache Schaumstoffpolsterung angebracht werden. Wenn es sich um eine digitale Polsterung handelt, sollte dies das elektrische Rauschen nicht verstärken und Vibrationsgeräusche abfedern. Dies sollte nur durchgeführt werden, wenn Probleme mit dem Vibrationsgeräusch auftreten.
Digitaler Beschleunigungsmesser
Ich würde einen digitalen Beschleunigungsmesser vorschlagen, mit dem Sie über SPI eine Verbindung herstellen können. Daten können mit einer sehr sehr hohen Rate ausgebucht werden, und Sie können im Hintergrund arbeiten, da Ihr SPI die ständige Arbeit des Ladens des nächsten Satzes von Werten erledigt. Sie benötigen einen schönen Mikrocontroller, wenn Sie digital arbeiten möchten. Wenn Sie mir genauere Angaben zu Ihrem Wunsch machen können, kann ich Ihnen ein besseres Feedback geben. Wenn Sie eine Warnung auf der Grundlage der Neigungserkennung wünschen, sollte dies mit allen analogen Geräten sehr einfach möglich sein. Wenn Sie jedoch die Position und den Winkel von Geräten während des Betriebs messen möchten, müssen Sie sich auf einige Arbeiten vorbereiten.
Bitte lassen Sie mich wissen, ob ich etwas hinzufügen kann, um diese Antwort klarer zu machen oder auf das zutreffen, wonach Sie gesucht haben.
quelle
Ich habe diese Antwort mehrere Male mit vielen verrückten mathematischen Ideen geschrieben und umgeschrieben, aber ich glaube ehrlich gesagt nicht, dass dies mit irgendeiner Genauigkeit getan werden kann. Sie können einige Vektor-Mathematik machen, aber was ist, wenn:
Obwohl ich mir sicher bin, dass es eine verrückte Umgehungslösung gibt, bin ich mir nicht sicher, ob es sich lohnt. Beschleunigungsmesser sind einfach nicht für diese Aufgabe ausgelegt (zumindest meines Wissens). Für das, was Sie erreichen wollen, würde ich einen gyroskopischen Ansatz vorschlagen , mit jedem von ihnen , von denen alle ziemlich widerstandsfähig sein würde , um alle der oben genannten Probleme.
quelle
Wenn ich das Datenblatt richtig verstehe, variiert die Ausgabe für jede Achse zwischen 1,5 V und 3,5 V, wenn Sie um die Achse kippen. Wenn das Gerät flach ist (ohne Berücksichtigung des Ausrichtungsfehlers von ± 1 Grad), sollten beide Ausgänge 2,5 V anzeigen.
Wenn Sie nur die Neigung in eine Richtung messen müssen, können Sie den Bogen der Abweichung von 2,5 V nehmen, um den Winkel im Bogenmaß zu erhalten, und dann in Grad umrechnen. Wenn das Gerät in eine beliebige Richtung geneigt werden kann, können Sie die beiden Winkel berechnen und daraus den zusammengesetzten Winkel berechnen.
Um es genau zu sagen: Winkel um eine Achse = (180 / π) * arcsin (Vout - 2,5)
Um einen guten Frequenzgang zu erzielen, benötigen Sie kleine Ausgangskondensatoren, Cx und Cy. Ab Fußnote 6 S. 3 des Datenblattes sieht es so aus, als würden Sie mit 0,02 uF eine Bandbreite von 250 Hz erhalten, was wahrscheinlich in etwa der richtigen Bandbreite für Ihre Abtastrate entspricht. Möglicherweise können Sie bis zu 0,1 uF erreichen und die Bandbreite auf 50 Hz begrenzen, aber Ihre Signale werden allmählich gedämpft.
quelle
Ich füge eine zweite Antwort hinzu, weil meine andere groß ist und Sie vielleicht einfach wollen.
Ihre Filterkappe muss 0,10 uF oder größer sein, damit Sie unter Ihrer Aliasing-Rate (50 Hz) bleiben. Sie müssen eine Kalibrierungsphase von ein paar Sekunden durchführen, während Ihr Gerät auf gleicher Höhe mit der gesamten Schwerkraftbeschleunigung in Z-Richtung sitzt. Dies dient zur Bestimmung Ihres Null-G-Punkts.
Die Spannung, die Sie für Ihren Null-G-Punkt messen, wird sich wahrscheinlich für die X- und Y-Richtung unterscheiden und stellt nichts dar. Nehmen Sie einfach die Spannung, die Sie erhalten, und subtrahieren Sie sie. Diese Spannung mit subtrahiertem Offset ist die Anzahl von Gs, die Sie in diese Richtung erhalten.
Nehmen Sie das Arcussin und Sie werden Ihren Winkel in diese Richtung bekommen.
Dies ignoriert Rauschen und andere Beschleunigungen. Stellen Sie sich darauf ein, dass NaN zu einem Ergebnis wird, wenn Sie es vollständig gekippt haben und es Geräusche gibt.
quelle
Um einen beliebigen Winkel zu erhalten, müssen Sie die Erdbeschleunigung sowohl in X- als auch in Y-Richtung messen. subtrahieren Sie die mittlere Spannung (2,5 V), so dass Null "keine Beschleunigung" ist.
Jetzt können Sie den Winkel mit Arcussin (y / x) finden. Aber das ist ärgerlich, wegen der Aufteilung und weil das Vorzeichen mehrdeutig ist, also was will man eigentlich mit der C-Funktion atan2 (y, x). atan2 () bekommt das richtige Zeichen für alle 360 Grad.
Off-Topic, da Sie kein Mikro verwenden: Wenn Sie nach atan2 () für einen Mikrocontroller suchen, finden Sie auf meiner Website einen atan2 () - Generator: http://vivara.net/cgi-bin/ cordic.cgi
quelle