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 |
------------
+ +
+ +
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.
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:
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.
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?
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 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.
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
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
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).
Michael Karas
Michael Karas
kupfer.hut
Der Typ bleibt
J...
Der Typ bleibt
Peter Becker
J...
kupfer.hut
Stanri
MSalter
WasRoughBeast