Wissen Beschleunigungsmesser, wann sie sich gerade nach oben oder gerade nach unten bewegen?


8

Ich benötige einen Sensor, den ich nur auf einem Objekt platzieren kann, um zu zählen, wie oft sich das Objekt auf und ab bewegt.

Würde dies durch Platzieren eines Beschleunigungsmessers auf dem Objekt erreicht oder kann er den Übergang zwischen Auf- und Abbewegen verfolgen?

Wenn nicht, welche Art von Sensor würde dies erreichen?

---------------- EDIT: -------------------------

Idealerweise möchte ich einen Sensor, den ich oben auf die unten beschriebene Box setzen und die Zeiten zählen kann, in denen er auf und ab geht. Es hat mehrere Führungsschienen, die ein Verdrehen verhindern. Ich habe vor, ein Arduino als Mikrocontroller zu verwenden, der die Mathematik erledigt. Ich brauche nur einen Sensor, der die Auf- / Abbewegung erfassen kann. Alle Vorschläge sind willkommen. Vielen Dank.

   +    +
   +    +
   +    +
------------
|   box    | 
| moves up |
| and down |
------------
   +    +
   +    +

3
Ein Beschleunigungsmesser misst, wenn sich die Geschwindigkeit eines Objekts ändert. Wenn sich ein Objekt mit einer konstanten Geschwindigkeit bewegt, zeigt der Beschleunigungsmesser eine Ausgabe von Null an. Je schneller sich die Geschwindigkeit ändert, desto größer ist die Messung, die der Beschleunigungsmesser während dieser Zeit anzeigt.
Michael Karas

Basierend auf meinem obigen Kommentar kann ein Beschleunigungsmesser verwendet werden, um zu messen, wann sich ein Objekt aus einer Ruheposition zu bewegen beginnt oder wann es die Richtung ändert. Das Gerät selbst ist nur ein Sensor und hat kein "Wissen". Sie müssen einen anderen Schaltkreis oder Mikrocontroller anschließen, der die Ausgänge des Beschleunigungsmessers notiert und die Änderungen zählt, um zu "wissen", wann das Objekt seine Position ändert.
Michael Karas

3
Ich denke, um einen besseren Weg vorzuschlagen, müsste man mehr über die Anwendung wissen. Es gibt unzählige Möglichkeiten, Bewegung und Position zu messen - die beste Methode hängt ganz davon ab, was sich bewegt, wie es sich bewegt, wo es sich befindet (und was sich um es herum befindet), welche Energiequellen verfügbar oder praktisch sind, wie Die Lösung muss genau sein, wie viel Rauschen muss sie zurückweisen, wie zuverlässig muss sie sein usw. Wenn Sie mehr Details über die Anwendung liefern können, erhalten Sie wahrscheinlich bessere Antworten.
J ...

1
Was bewegt die Box aus Neugier auf und ab? (Ich meine, warum können Sie die Bewegung nicht indirekt erkennen, indem Sie auf die Bedienelemente schauen?)
Kupfer.hat

1
@MichaelKaras - Entschuldigung, aber Ihre Charakterisierung eines Beschleunigungsmessers ist falsch. Ein Beschleunigungsmesser, der in einem Gravitationsfeld von 1 g stationär gehalten wird, meldet (wenn die empfindliche Achse vertikal ist), dass er vertikal mit ~ 9,8 m / s ^ 2 beschleunigt. Dies ist in der Tat das erste Postulat der Allgemeinen Relativitätstheorie.
WhatRoughBeast

Antworten:


8

Ich denke, ein Beschleunigungsmesser und Arduino sind eine großartige Möglichkeit, um zu zählen, wie oft sich die Box auf und ab bewegt. Es ist eine kompakte, zuverlässige und berührungslose Methode zur Erkennung von Bewegungen.

Es könnte für Bewegungen arbeiten, die so sanft sind wie das Heben und Senken Ihrer Brust, beim Atmen, Liegen und mit Sicherheit alles, was schneller ist.

Sie könnten mit einem einfachen Schwellendetektor mit einer gewissen Hysterese davonkommen - zählen Sie eins, wenn die Beschleunigung + x überschreitet, und setzen Sie den Schwellenwert auf -x, bis er -x überschreitet, und setzen Sie dann den Schwellenwert auf + x.

Wenn die Beschleunigung sanfter ist oder Hintergrundvibrationen auftreten, die Sie nicht zählen möchten (obwohl es sich tatsächlich um Auf- und Abbewegungen handelt), geht das Signal möglicherweise im Rauschen verloren.
Dann müssen Sie einen einfachen digitalen Filter auf dem Arduino implementieren, der tatsächlich nach Bewegung mit einer bestimmten Geschwindigkeit "sucht". Dies kann einfach sein, indem Sie einfach die letzten 100 Beschleunigungsabtastwerte (bei 100 Hz) addieren und den Durchschnitt durch den Schwellendetektor setzen, oder Sie können einen aufwendigeren Filter entwerfen.

Wenn Sie vorhaben, einen Beschleunigungsmesser für irgendetwas zu verwenden, probieren Sie ihn zuerst mit Ihrem Smartphone aus.

Suchen Sie in Ihrem App Store nach einer Beschleunigungsmesser-Monitor-App, die den Sensor in einer Datei aufzeichnet, und führen Sie einige Experimente durch. Wenn eine CSV-Datei erstellt wird, können Sie diese in Excel- und Plotdiagrammen usw. öffnen.

Der Beschleunigungsmesser in Ihrem Telefon ist recht einfach und laut, aber er ist ein guter Ersatz für jeden anderen Beschleunigungsmesser unter 100 US-Dollar und gibt Ihnen möglicherweise eine ungefähre Vorstellung davon, was ein 1000-Dollar-Beschleunigungsmesser tun könnte.

Hier ist ein Beispiel dafür, was ich mit dem Sensor des Telefons gemacht habe.

Viel Glück! Veröffentlichen Sie Ihre Ergebnisse hier (beantworten Sie Ihre eigene Frage), wenn es für Sie funktioniert.


7

Im Allgemeinen nein. Stellen Sie sich vor, Sie werfen einen Ball gerade nach oben (und ignorieren den Windwiderstand): Sobald er sich bewegt, ist die einzige Kraft auf ihn die Schwerkraft, die eine konstante Beschleunigung erzeugt. Es gibt keine Möglichkeit, allein anhand der Beschleunigung zu erkennen, wann der Ball seine höchste Höhe erreicht und wieder nach unten gestartet hat - die Beschleunigung ist auf seinem gesamten Weg gleich, bis er auf den Boden trifft.

Wenn Sie wissen, dass das Objekt in Ruhe beginnt und seine Beschleunigung messen, können Sie seine Geschwindigkeit ermitteln, indem Sie die Beschleunigung über die Zeit integrieren. Wenn es langsamer wird, sehen Sie eine negative Beschleunigung und das Integral geht auf Null, wenn es stoppt. Wenn es sich dann wieder bewegt, ändert sich die Beschleunigung und Sie können wieder mit der Integration beginnen. Dies hängt jedoch stark von der Genauigkeit der Messungen und Berechnungen ab. Wenn einer von beiden ein wenig ausgeschaltet ist, steigt der Fehler allmählich an, bis Sie nicht mehr wissen, was wirklich passiert.


1
Nicht nur Genauigkeit - eine tatsächliche IMU muss jederzeit ihre Rotationsausrichtung kennen, um die Beschleunigungsmessungen anwenden zu können.
Chris Stratton

@ChrisStratton - Ich habe das nicht gesagt, aber ich habe eine geradlinige Bewegung angenommen. Ist Ihr Kommentar in dieser unrealistisch eingeschränkten Situation immer noch richtig?
Pete Becker

Einfach bei 9,8 m / s auf die beobachtete Beschleunigung.
Loren Pechtel

1
@LorenPechtel: Das ist sowieso notwendig, behebt aber das Integrationsproblem nicht. Stellen Sie sich eine Kiste vor, die hochfährt, fast zum Stillstand kommt und wieder beschleunigt. Stellen Sie sich nun eine zweite Box vor, die etwas langsamer wird, so dass sie kurz nach unten geht, bevor sie wieder nach oben geht. Der Unterschied kann minimal sein, aber der Auf- / Ab-Zähler muss unterschiedlich sein. Wenn Ihre Integration leicht abweicht, werden Sie den Unterschied nicht bemerken.
MSalters

1
Würde ein Beschleunigungsmesser nicht Null für ein Objekt im freien Fall messen? Es ist wirklich eher eine G-Kraft-Messung, nicht wahr?
Octopus

5

Zunächst ist es wichtig zu verstehen, wie sich ein Beschleunigungsmesser in einem Gravitationsfeld verhält, wie wir es hier auf der Erde erleben. Ein Beschleunigungsmesser misst keine Beschleunigung in dem Sinne, dass er nicht nur die Änderung der Geschwindigkeit misst. Es misst die Änderung der Geschwindigkeit plus der Schwerkraft - was bedeutet, dass Sie die Schwerkraftmessung durchführen müssen, wenn Sie versuchen möchten, was Sie skizzieren.

Außerdem wird die Schwerkraft als Aufwärtsbeschleunigung gemessen - was etwas kontraintuitiv ist, aber Sinn macht, wenn Sie sich einen Beschleunigungsmesser wie folgt vorstellen:

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Ich habe den Schaltplaneditor missbraucht, um ein Kugellager zu zeigen, das an zwei perfekt gedämpften Federn in einem Rohr aufgehängt ist. Stellen Sie sich vor, der Beschleunigungsmesser misst, indem er Ihnen mitteilt, wie weit sich das Kugellager derzeit in der Ruheposition befindet. Stellen Sie sich nun vor, Sie drehen dieses Gerät an seinem Ende und Sie können sehen, wie das Kugellager unter der Schwerkraft durchhängt und wie dies nicht von der Beschleunigung zu unterscheiden ist. Ich denke, die Relativitätstheorie hat zu diesem Thema etwas zu sagen, aber trotzdem.

Wenn Sie also einen vertikalen Beschleunigungsmesser haben und den Effekt der Schwerkraft entfernen und die Bewegungen Ihres Geräts ausreichend größer als das Grundrauschen Ihres Beschleunigungsmessers sind und außerdem die Bewegungen ausreichend gleichmäßig sind, um Ihren Algorithmus nicht zu verwirren, kann dies der Fall sein möglich sein. Es gibt oben eine Antwort, die den freien Fall erwähnt, was ein Problem wäre, aber ich gehe von Ihrer Beschreibung aus, dass Ihr Gerät für längere Zeit nicht im freien Fall sein wird. Dies ist jedoch eine Vermutung.

Wenn Sie wirklich einen Beschleunigungsmesser verwenden möchten, besteht Ihr bester Ansatz für ein Problem wie dieses darin, die Ausgabe des Beschleunigungsmessers irgendwie aufzuzeichnen (ich ziehe es vor, sie über SPI auszugeben und sie mit einem USB-Logikanalysator aufzuzeichnen) und genau aufzuschreiben, was Sie tun (oder sogar Video, wenn Sie wirklich scharf sind). Dann können Sie offline mit Algorithmen herumspielen, ohne sich ständig fragen zu müssen, ob Ihr Arduino wirklich das tut, was Sie denken.

Wie bereits erwähnt, sind möglicherweise andere Sensortypen besser geeignet. Wir brauchen mehr Details darüber, warum Sie genau versuchen, was Sie zu kommentieren versuchen, denke ich.


2
Dies ist nicht nur eine Eigenart des Beschleunigungsmessers - ein Objekt, das in einem gleichmäßigen Gravitationsfeld sitzt, ist nicht von einem Objekt zu unterscheiden, das gleichmäßig beschleunigt wird. In gewissem Sinne ist der Beschleunigungsmesser richtig, wenn er sagt, dass ein auf dem Boden sitzendes Objekt beschleunigt; Wir glauben einfach nicht, dass es daran liegt, dass wir mit der gleichen Geschwindigkeit beschleunigen.
cpast

Ja - das merke ich. Der Beschleunigungsmesser ist so richtig wie möglich - aber es ist ziemlich kontraintuitiv, dass ein bewegungsloser vertikaler Beschleunigungsmesser in einem Gravitationsfeld eine Beschleunigung nach oben misst .
Dave Branton

Ich denke, das ist eine bessere Erklärung: Stellen Sie sich einen Mann auf einer Waage in einem Aufzug vor. Die Skala zeigt die Kraft an, die sie auf den Mann ausübt (geteilt durch g). Zunächst wird das tatsächliche Gewicht angezeigt, aber wenn sich der Lift nach oben bewegt, wird ein höheres Gewicht angezeigt. Und selbst der Mann fühlt sich schwerer. Auch ein Beschleunigungsmesser misst nur die Kraft, die er auf eine kleine Masse ausübt.
Sweber

4

Wenn sich das Objekt auf festen Führungen auf und ab bewegt, besteht die einfachste Möglichkeit, seine Bewegungen zu zählen, darin, einen Endschalter zu verwenden, der geschlossen wird, wenn sich das Objekt in Ruhe befindet, und geöffnet wird, wenn er sich nicht in seiner Ruheposition befindet.


3

Vorsicht, eine Umkehrung der Beschleunigung bedeutet nicht, dass sich die Box umgedreht hat. Die Box startet - Sie sehen eine Beschleunigung nach oben. Es steigt jetzt stetig an - Sie sehen keine Beschleunigung. Es verlangsamt sich auf die halbe Geschwindigkeit - Sie sehen eine Beschleunigung nach unten. Es geht mit halber Geschwindigkeit weiter - Sie sehen keine Beschleunigung. Es beschleunigt wieder - Sie sehen eine Beschleunigung nach oben. Es stoppt, Sie sehen eine Beschleunigung nach unten.

Du hast oben, unten, oben, unten gesehen, aber die Kiste hat sich wirklich nur nach oben bewegt. Sie müssen sich im Laufe der Zeit integrieren und genügend Genauigkeit in Ihren Beschleunigungsmesser haben, um herauszufinden, wie Sie wirklich vorgehen - achten Sie auf kumulative Fehler, dies könnte dieses Problem sehr schwer machen!

Haben Sie mit einem Laser-Entfernungsmesser untersucht, wo sich die Box befindet?


In der Tat müssen Sie im Laufe der Zeit zweimal integrieren - einmal, um die Geschwindigkeit zu ermitteln, und einmal, um die Entfernung zu ermitteln -, was mit kumulativen Fehlern behaftet sein wird.
Abligh

2

Beschleunigungsmesser messen Beschleunigungen. Wenn die Bewegung mit Beschleunigung ausgeführt wird, wird sie erkannt, vorausgesetzt, der Beschleunigungsmesser ist auf dieser Achse empfindlich genug. Die Richtung der Beschleunigung wird durch das Vorzeichen der gelesenen Werte angezeigt. Bitte beachten Sie, dass bei der Messung von Beschleunigungen auf der vertikalen Achse die Messung durch die Gravitationsbeschleunigungskonstante vorgespannt wird g.


1
"Wenn die Bewegung mit Beschleunigung ausgeführt wird" Das Objekt befindet sich zunächst in Ruhe. Es konnte unmöglich in einen Bewegungszustand eintreten, ohne zu beschleunigen.
David Richerby

Ja, aber die Frage ist, in welchen Phasen die Bewegung erkannt werden muss.
Eugene Sh.

2

Wenn Sie keinen physischen Kontakt wünschen (z. B. durch einen typischen Endschalter oder Mikroschalter), können Sie einen Magneten montieren und einen Reed-Schalter oder einen Hall-Effekt-Schalter verwenden. Oder montieren Sie etwas, das leicht hervorsteht und undurchsichtig ist und durch einen optischen Detektor läuft (die Sorte mit einem kleinen Schlitz darin).

Ein Beschleunigungsmesser ist kompliziert, teurer als jeder der oben genannten und aus dem von Pete Becker (und jetzt auch von Dave Branton) beredten Grund unwahrscheinlich, dass er funktioniert.


Es könnte erwähnenswert sein, dass die von @TheDudeAbides beschriebene Situation etwas an einen Schrittzähler erinnert.
user3334690

@ user3334690 Ich vermute, dass der begrenzte Grad an Genauigkeit, den Schrittzähler haben, teilweise auf die vorhersehbare Natur des menschlichen Schritts zurückzuführen ist. Wenn wir Magnete an jeder Bodenfläche anbringen könnten, könnten wir sie
vermutlich

1

Viele tolle Infos hier, aber ich habe noch niemanden gesehen, der ein lineares Potentiometer vorschlägt ...

Einfach, Spannung anlegen und zählen, wie oft der GPIO ein HI liest. Günstigster linearer Topf? Lautstärkeregler eines alten Radios, Trimmeinstellung von R / C-Spielzeugsteuerungen usw.


Bedeuten Sie mechanische Verbindungen zwischen Objekt, Topf und stationärer Basis? Würde das nicht neue Kräfte und Widerstände einführen?
Octopus

1

Wenn die folgenden Schienen vorhanden sind, wie wäre es dann mit einem Ultraschall-Entfernungsmesser? Der Arduino kann rechnen, um die Beschleunigung zu bestimmen, und die Implementierung ist viel einfacher als das Anbringen von Drähten an etwas, das sich bewegt. Dies funktioniert sicherlich am besten, wenn die Strecke gerade ist. Hier ist eine. https://www.sparkfun.com/products/639


Willkommen bei electronic.stackechange! Ich hoffe, Sie werden sich hier wie zu Hause fühlen!
WalyKu

0

Ich würde empfehlen, zwei dünne Metallplatten zu verwenden, um einen Kondensator zu bilden. Eine Platte würde auf die Schachtel gelegt und die andere in einiger Höhe von der Schachtel befestigt. Wenn sich die Box auf und ab bewegt, ändert sich die Kapazität (C) aufgrund der Änderung des Abstands (d) der Platten (C = kA / d). Diese Änderung kann durch geeignete Mittel in eine Änderung der Spannung, Frequenz usw. und dann in eine für die Arduino-Schnittstelle geeignete Form "umgewandelt" werden (eine Verstärkung kann erforderlich sein).


Dies wird nicht funktionieren. 1: Obwohl wir keine Dimensionen haben, spielen Sie ein bisschen mit Zahlen und Sie werden sehen, dass der Dynamikbereich groß ist, während die Kapazität sehr klein sein kann. 2.: Wenn das Setup aus Metall besteht, bildet jede Ihrer Platten mit dem Setup einen Kondensator. Das heißt, Sie haben zwei Kappen in Reihe mit unterschiedlicher Kabellänge zwischen ihnen. Die Kapazität ist mehr oder weniger konstant. Es gibt kapazitive Sensoren, aber ihr Prinzip ist unterschiedlich und sie können Unterschiede von nicht viel mehr als 1 cm messen.
Sweber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.