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

Ich brauche 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 die Platzierung eines Beschleunigungssensors auf dem Objekt dies erreichen oder kann er den Übergang zwischen der Aufwärts- und Abwärtsbewegung verfolgen?

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

---------------- BEARBEITEN: -------------------------

Idealerweise hätte ich gerne 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 plane, ein Arduino als Mikrocontroller zu verwenden, der die Mathematik erledigt, brauche nur einen Sensor, der die Auf- / Abbewegung erfassen kann. Alle Vorschläge willkommen. Danke.

   +    +
   +    +
   +    +
------------
|   box    | 
| moves up |
| and down |
------------
   +    +
   +    +
Ein Beschleunigungsmesser misst, wenn sich die Geschwindigkeit eines Objekts ändert. Wenn sich ein Objekt mit einer konstanten Geschwindigkeit bewegt, würde der Beschleunigungsmesser eine Ausgabe von Null anzeigen. Je schneller die Geschwindigkeitsänderung ist, desto größer ist die Messung, die der Beschleunigungsmesser während dieser Zeit anzeigt.
Basierend auf meinem obigen Kommentar kann ein Beschleunigungsmesser verwendet werden, um zu messen, wann sich ein Objekt aus einer Ruheposition zu bewegen beginnt oder wenn es die Richtung ändert. Das Gerät selbst ist nur ein Sensor und hat kein "Know". Sie müssen eine andere Schaltung oder einen Mikrocontroller anschließen, der die Ausgänge des Beschleunigungsmessers notiert und die Änderungen zählt, um zu "wissen", wenn das Objekt seine Position ändert.
Sie müssen mehr Informationen darüber geben, was das Objekt tut. Wenn es sich an einem festen Ort befindet und sich nur zwischen zwei Positionen auf und ab bewegt, ist dies möglich, aber dann gäbe es wahrscheinlich einfachere Möglichkeiten.
Ja, es ist eine feste Position, die sich nur nach oben und unten bewegt. Was sind Ihre Vorschläge für einen einfacheren Weg?
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 – diejenige, die am besten funktioniert, hängt ganz davon ab, was sich bewegt, wie es sich bewegt, wo es ist (und was um es herum ist), welche Energiequellen verfügbar oder praktisch sind, wie genau muss die Lösung sein, wie viel Rauschen muss sie unterdrücken, wie zuverlässig muss sie sein usw. Wenn Sie mehr Details über die Anwendung liefern können, erhalten Sie wahrscheinlich bessere Antworten.
Hoffentlich hilft das Diagramm, das ich als Bearbeitung hinzugefügt habe, zu erklären, was ich suche oder. Alle Vorschläge willkommen und vielen Dank für die bisherigen Antworten.
Das Diagramm hilft irgendwie. Aber die Antwort hängt immer noch von Dingen ab, die Sie nicht erwähnt haben. Beispielsweise verlässt sich eine Aufzugssteuerung nicht auf Beschleunigungsmesser, aber sie weiß, wo sich der Aufzug befindet. Auf jeder Etage gibt es einen Schalter, den der Aufzug auslöst.
Genau - wie groß ist die Kiste, wie schnell geht es auf und ab (und wie oft?). Variiert seine Verfahrlänge oder ist er immer fest. Was stellt ein Ereignis dar, das Sie zählen möchten - wenn es in 100 ms um 0,5 mm nach oben geht, dann in 10 Minuten um 2 mm nach unten geht, dann in 1 Sekunde um 15 cm nach oben geht, dann dort wartet und am nächsten Tag langsam wieder nach unten driftet ... was zählt als " ein Auf“ und ein „Ab“? Ein Fotosensor oder vielleicht ein einfacher Reed-Schalter könnte alles sein, was Sie brauchen.
Nur aus Neugier, was bewegt die Box auf und ab? (Ich meine, warum können Sie die Bewegung nicht indirekt erkennen, indem Sie auf die Bedienelemente schauen?)
Wird die Kiste von einer Maschine oder von einer Person auf und ab gehoben?
Ein Sensor, der die Bewegungsrichtung erkennt, kann konstruiert werden, indem ein Magnet an der Box befestigt wird, der sich dann durch eine Spule bewegt. Die resultierende Spannung über der Spule ist proportional zur Geschwindigkeit des Magneten, sodass die Spannung das Vorzeichen umkehrt, wenn die Geschwindigkeit dies tut.
@MichaelKaras - Entschuldigung, aber Ihre Charakterisierung eines Beschleunigungsmessers ist falsch. Ein Beschleunigungsmesser, der stationär in einem Gravitationsfeld von 1 g gehalten wird, meldet (wenn die empfindliche Achse vertikal ist), dass er vertikal mit ~9,8 m/s^2 beschleunigt. Dies ist tatsächlich das erste Postulat der Allgemeinen Relativitätstheorie.

Antworten (10)

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 Art der Bewegungserkennung.

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

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

Wenn die Beschleunigung sanfter ist oder Hintergrundvibrationen vorhanden sind, die Sie nicht zählen möchten (obwohl es sich tatsächlich um eine Auf- und Abbewegung handelt), geht das Signal möglicherweise im Rauschen verloren.
Dann müssen Sie einen einfachen digitalen Filter auf dem Arduino implementieren, der tatsächlich mit einer bestimmten Rate nach Bewegung "sucht". Dies könnte einfach sein, indem Sie einfach die letzten 100 Beschleunigungsabtastwerte (bei 100 Hz) addieren und den Durchschnitt durch den Schwellenwertdetektor schicken, oder Sie könnten einen ausgefeilteren Filter entwerfen.

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

Suchen Sie in Ihrem App Store nach einer Beschleunigungsmesser-Monitor-App, etwas, das den Sensor in einer Datei aufzeichnet, und führen Sie einige Experimente durch. Wenn es eine CSV-Datei erstellt, können Sie sie in Excel öffnen und Diagramme zeichnen usw.

Der Beschleunigungsmesser in Ihrem Telefon ist ziemlich 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 leisten könnte.

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

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

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, die auf ihn wirkt, die Schwerkraft, die eine konstante Beschleunigung erzeugt. An der Beschleunigung allein kann man nicht erkennen, wann der Ball seine höchste Höhe erreicht hat und wieder nach unten beginnt – die Beschleunigung ist auf seinem Weg bis zum Aufprall auf den Boden gleich.

Wenn Sie wissen, dass das Objekt in Ruhe beginnt, und Sie 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 dann wieder anfängt sich zu bewegen, wirst du eine Veränderung in der Beschleunigung sehen und du kannst wieder von vorne anfangen zu integrieren. Dies hängt jedoch stark von der Genauigkeit der Messungen und Berechnungen ab. Wenn einer von beiden etwas abweicht, wird der Fehler allmählich zunehmen, bis Sie nicht mehr wissen, was wirklich passiert.

Nicht nur die Genauigkeit – eine tatsächliche IMU muss jederzeit ihre Rotationsausrichtung kennen, um die Beschleunigungsmessungen anwenden zu können.
@ChrisStratton - Ich habe das nicht gesagt, aber ich ging von einer geradlinigen Bewegung aus. Ist Ihr Kommentar in dieser unrealistisch eingeschränkten Situation noch richtig?
Einfach bei 9,8 m/s zur beobachteten Beschleunigung.
@LorenPechtel: Das ist sowieso notwendig, behebt aber nicht das Integrationsproblem. Stellen Sie sich eine Kiste vor, die hochfährt, bis fast zum Stillstand abbremst und wieder beschleunigt. Stellen Sie sich nun eine zweite Kiste vor, die etwas langsamer wird, also kurzzeitig abfällt, bevor sie wieder ansteigt. Der Unterschied kann minimal sein, aber der Aufwärts-/Abwärtszähler muss unterschiedlich sein. Wenn Ihre Integration leicht abweicht, werden Sie den Unterschied nicht bemerken.
Würde ein Beschleunigungsmesser für ein Objekt im freien Fall nicht Null messen? Es ist wirklich eher eine G-Kraft-Messung, oder?
@ Octopus - ja, ich denke, du hast Recht. Ich kenne die Physik; Ich kenne das Gerät nicht. <g>

Zunächst ist es wichtig zu verstehen, wie sich ein Beschleunigungssensor 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 Geschwindigkeitsänderung misst. Es misst die Geschwindigkeitsänderung plus die Schwerkraft - was bedeutet, dass Sie die Messung der Schwerkraft herausnehmen müssen, wenn Sie versuchen möchten, das zu versuchen, was Sie skizzieren.

Außerdem wird die Schwerkraft als Aufwärtsbeschleunigung gemessen - was etwas kontraintuitiv ist, aber Sinn macht, wenn Sie sich vorstellen, dass ein Beschleunigungsmesser so gebaut ist:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

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 sagt, wie weit sich das Kugellager gerade von der Ruheposition entfernt befindet. Stellen Sie sich nun vor, Sie drehen dieses Gerät auf sein Ende, und Sie können sehen, wie das Kugellager unter der Schwerkraft nach unten sackt und wie dies nicht von Beschleunigung zu unterscheiden ist. Ich denke, die Relativitätstheorie hat etwas zu diesem Thema 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 die Bewegungen außerdem ausreichend glatt sind, um Ihren Algorithmus nicht zu verwirren, dann könnte dies der Fall sein möglich sein. Oben gibt es eine Antwort, die den freien Fall erwähnt, was ein Problem wäre, aber ich gehe aus Ihrer Beschreibung davon aus, dass sich Ihr Gerät für längere Zeit nicht im freien Fall befinden wird. Dies ist jedoch eine Vermutung.

Wenn Sie wirklich einen Beschleunigungsmesser verwenden möchten, besteht die beste Herangehensweise an ein solches Problem darin, die Ausgabe des Beschleunigungsmessers irgendwie aufzuzeichnen (ich ziehe es vor, sie über SPI auszugeben und mit einem USB-Logikanalysator aufzuzeichnen) und genau aufzuschreiben, was Sie tun (oder sogar auf Video, wenn Sie wirklich daran interessiert 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 andere bereits erwähnt haben, können andere Sensortypen geeigneter sein. Wir bräuchten mehr Details darüber, warum Sie versuchen, das zu kommentieren, was Sie zu kommentieren versuchen, denke ich.

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 gewisser Weise hat der Beschleunigungsmesser recht, wenn er sagt, dass ein auf dem Boden sitzendes Objekt beschleunigt; Wir glauben nur nicht, dass es daran liegt, dass wir mit der gleichen Geschwindigkeit beschleunigen.
Ja - das ist mir klar. Der Beschleunigungsmesser ist so richtig wie möglich – aber es ist ziemlich kontraintuitiv, dass ein bewegungsloser vertikaler Beschleunigungsmesser in einem Gravitationsfeld eine Aufwärtsbeschleunigung misst .
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, die sie auf den Mann ausübt (geteilt durch g). Zuerst zeigt es das tatsächliche Gewicht an, aber wenn der Lift beginnt, sich nach oben zu bewegen, zeigt es ein höheres Gewicht an. Und auch der Mann fühlt sich schwerer. Auch ein Beschleunigungsmesser misst nur die Kraft, die er auf eine kleine Masse ausübt.

Wenn sich das Objekt auf festen Führungen auf und ab bewegt, wäre der einfachste Weg, seine Bewegungen zu zählen, die Verwendung eines Endschalters, der geschlossen wäre, wenn sich das Objekt in Ruhe befindet, und geöffnet, wenn es sich nicht in seiner Ruheposition befindet.

Vorsicht, eine Beschleunigungsumkehr bedeutet nicht, dass sich die Box umgedreht hat. Die Kiste springt an – Sie sehen eine Aufwärtsbeschleunigung. Es bewegt sich jetzt in einem stetigen Tempo nach oben – Sie sehen keine Beschleunigung. Es verlangsamt sich auf halbe Geschwindigkeit – Sie sehen eine Abwärtsbeschleunigung. Es fährt mit halber Geschwindigkeit fort – Sie sehen keine Beschleunigung. Es beschleunigt wieder – Sie sehen eine Aufwärtsbeschleunigung. Es stoppt, Sie sehen eine Abwärtsbeschleunigung.

Du hast hoch, runter, hoch, runter gesehen, aber die Kiste hat sich wirklich nur nach oben bewegt. Sie müssen im Laufe der Zeit integrieren und genügend Genauigkeit in Ihrem Beschleunigungsmesser haben, um herauszufinden, in welche Richtung Sie wirklich gehen - achten Sie auf kumulative Fehler, dies könnte dieses Problem sehr schwierig machen!

Haben Sie mit einem Laser-Entfernungsmesser ermittelt, wo sich die Kiste befindet?

Tatsächlich müssen Sie im Laufe der Zeit zweimal integrieren - einmal, um die Geschwindigkeit zu erhalten, und einmal, um die Entfernung zu erhalten -, was mit kumulativen Fehlern weit verbreitet sein wird.

Beschleunigungssensoren messen Beschleunigungen. Wenn die Bewegung mit Beschleunigung ausgeführt wird, wird dies erkannt, vorausgesetzt, der Beschleunigungssensor 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 verzerrt wird g.

"Wenn die Bewegung mit Beschleunigung ausgeführt wird" Das Objekt befindet sich zunächst in Ruhe. Es konnte unmöglich in einen Bewegungszustand übergehen, ohne zu beschleunigen.
Ja, aber die Frage ist, in welchen Stadien die Bewegung erkannt werden muss.

Wenn Sie keinen physischen Kontakt wünschen (wie er beispielsweise von einem typischen Endschalter oder Mikroschalter bereitgestellt wird), 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 (die Sorte mit einem kleinen Schlitz darin) wandert.

Ein Beschleunigungsmesser ist kompliziert, teurer als alle oben genannten und aus dem Grund, der von Pete Becker (und jetzt auch von Dave Branton) eloquent erklärt wurde, ist es unwahrscheinlich, dass er funktioniert.

Es könnte erwähnenswert sein, dass die Situation, die @TheDudeAbides beschreibt, ein wenig an einen Schrittzähler erinnert.
@ user3334690 Ich vermute, dass die begrenzte Genauigkeit von Schrittzählern teilweise auf die Vorhersehbarkeit des menschlichen Schritts zurückzuführen ist. Wenn wir Magnete an jeder Bodenfläche anbringen könnten, könnten wir sie vermutlich mit Hall-Effekt-Schaltern genauer machen :-)

Hier gibt es viele großartige Informationen, aber ich habe noch niemanden gesehen, der ein lineares Potentiometer vorgeschlagen hat ...

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

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

Wenn es sich um folgende Schienen handelt, was ist mit der Verwendung eines Ultraschall-Entfernungsmessers? Das Arduino kann rechnen, um die Beschleunigung zu bestimmen, und es wird eine viel einfachere Implementierung sein, als Drähte an etwas anzubringen, 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.stackchange! Ich hoffe, Sie werden sich hier wie zu Hause fühlen!

Ich würde empfehlen, zwei dünne Metallplatten zu verwenden, um einen Kondensator zu bilden. Eine Platte würde auf die Kiste gelegt und die andere in einiger Höhe von der Kiste 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 mit geeigneten Mitteln in eine Änderung der Spannung, Frequenz usw. und dann in eine für die Schnittstelle des Arduino geeignete Form "umgewandelt" werden (möglicherweise ist eine Verstärkung erforderlich).

Das wird nicht funktionieren. 1: Obwohl wir keine Abmessungen haben, spielen Sie ein wenig mit Zahlen und Sie werden sehen, dass der Dynamikbereich groß ist, während die Kapazität sehr klein sein kann. 2.: Wenn der Aufbau aus Metall besteht, bildet jede Ihrer Platten mit dem Aufbau einen Kondensator. Dh Sie haben zwei Kappen in Reihe mit unterschiedlicher Kabellänge dazwischen. Die Kapazität wird mehr oder weniger konstant sein. Es gibt kapazitive Sensoren, aber ihr Prinzip ist anders und sie können Unterschiede von nicht viel mehr als 1 cm messen.