Ich versuche, eine Reihe von Sensoren zu finden (um eine Lösung zu bauen), um festzustellen, wie viele Gewichtsblöcke ein Athlet auf der Kraftmaschine wie folgt hebt:
Diese Lösungen habe ich bereits ausprobiert:
Bringen Sie einen RFID-Tag an jedem Gewichtsblock an und platzieren Sie ein RFID-Lesegerät etwas oberhalb des oberen Blocks. Die Idee war, dass das RFID-Lesegerät weiß, welche Blöcke angehoben wurden, wenn sich Blöcke nach oben bewegen, indem es einfach vergleicht, wie viele eindeutige RFIDs in einer Sequenz erkannt wurden. Das Problem bei einem solchen Ansatz war, dass das RFID-Lesegerät einige der RFID-Tags übersprang (wahrscheinlich, weil Gewichtsblöcke zu schnell angehoben wurden, so dass das RFID-Lesegerät nicht mithalten konnte).
Befestigen Sie den Ultraschallsensor (Sensor_1) ( https://www.sparkfun.com/products/13959 ) oben auf dem Ständer für Blockgewichte und den anderen Ultraschallsensor (Sensor_2) an der Seite, wie in der Abbildung gezeigt:
Sensor_1 zeigt nach unten. Sensor_2 ist an einem Hilfsständer befestigt, der horizontal zur Seite des Blockgewichtständers zeigt. Die Idee war, dass, wenn der Benutzer beginnt, die Gewichte zu heben, Sensor_2 irgendwann einen Gewichtsblock erkennt (der sich horizontal auf derselben Höhe befindet), Sensor_1 sich den Abstand (Abstand_1) zum Gewicht des obersten Blocks merkt. Wenn Sensor_2 anzeigt, dass kein Block mehr auf gleicher Höhe ist, überprüft Sensor_1 erneut den aktuellen Abstand (Distance_2) zum obersten Block und berechnet dann die Anzahl der Blöcke nach folgender Formel (Formel_1):
number_of_blocks = (Distance_1 - Distance_2) / height_of_1_block_weight , wobei height_of_1_block_weight = 4 cm, Distance_1 ~= 115 cm, Distance_2 < 115 cm
Das Problem bei einem solchen Ansatz war, dass Ultraschall nicht die Entfernung zum Punkt misst (wie ein Strahl), sondern stattdessen eine Welle mit einem Winkel von 15 Grad vorhanden ist und wir daher Probleme mit der Wellenreflexion von anderen Objekten haben (Ständer für Blockgewichte oder andere Sachen)
Der einzige Weg, den ich sehe, besteht darin, eine Kamera anzuschließen und das Ausgabebild auf der Softwareebene zu analysieren ...
Bitte lassen Sie mich wissen, wenn Sie weitere Ideen haben oder wenn Sie eine Lücke in den von mir angegebenen Lösungen sehen. Danke schön!
3 fallen mir ein.
Ein IR-Encoder wie von RoyC erwähnt. Malen Sie die Rückseite oder die Seiten der Gewichte abwechselnd weiß und schwarz.
Eine Kamera, wie Sie bereits erwähnt haben. OpenCV würde dies schnell erledigen. Und Sie können dies aus der Ferne tun, ohne etwas an der Maschine zu berühren.
Und die letzte Option ist ein tatsächlicher Gewichtssensor. Eine unter den Gewichten platzierte Wägezelle. Wenn die ausgewählten Gewichte angehoben werden, zeigt die Wägezelle eine negative Änderung an, die dem Gewicht entspricht, das nach oben entfernt wurde.
Ich würde es aus einem anderen Blickwinkel betrachten und versuchen zu erkennen, in welchem Schlitz sich der Metallstift befindet.
Dies ist eine einfachere Aufgabe und könnte auf verschiedene Weise erfolgen, z. B. durch Verwendung von Näherungssensoren oder Mikroschaltern. Diese könnten mit einem Mikrocontroller verdrahtet werden und so könnten Sie die Menge der angehobenen Gewichtsblöcke erkennen.
Dies ist nur eine Idee für einen möglichen Weg nach vorn. Das Entwerfen von Schaltungen wäre eine andere Frage.
Setzen Sie auf jeden Block einen kleinen Infrarotreflektor und ordnen Sie diese in einer vertikalen Linie an. Ihr Sensoraufbau besteht aus einem IR-Illuminator und einem gerichteten IR-Sensor (Fotodiode oder Transistor in einer Röhre), die so montiert sind, dass sie mit den Reflektoren direkt über dem oberen Block im Ruhezustand ausgerichtet sind. Sie müssen die Ausgabe des Fotodetektors verstärken und die Erkennungsschwelle so einstellen, dass sie nur eine Ausgabe für die Reflektoren liefert. Dies ergibt eine Kette von Impulsen, die Sie zählen können, um die Anzahl der vorbeifahrenden Blöcke zu ermitteln.
Dies kann so eingestellt werden, dass es bei sehr hohen Frequenzen arbeitet, also kein Problem mit der Geschwindigkeit.
Kleine billige Magnete am Gewichtsblock und zwei Hallsensoren gegenüber den Magneten. Der erste Sensor muss etwas über (der Lücke zwischen den Blöcken) der Höhe des oberen Magneten liegen und der zweite genau gegenüber dem oberen Magneten. Zählen Sie den Auslöser im ersten, um zu überprüfen, wie viele Gewichte angehoben wurden. Und wenn der 2. Sensor ausgelöst wird und der erste nicht, sind die Gewichte in Ruhe.
Wenn ich auf den oberen Arm schaue, würde ich einen Dehnungsmessstreifen vorschlagen . Es ist eine sehr einfache Komponente, die Sie direkt darauf kleben können.
Gegebenenfalls müssen Sie die Messwerte etwas glätten, da die Dehnung von der Kraft abhängt, die den oberen Balken verbiegt. Und während dies im stationären Zustand genau die Gravitationskraft ist, beschleunigen die Gewichte beim Training auf und ab, sodass Sie die durchschnittliche Kraft verwenden müssen.
Ich bin mir nicht sicher, welche Art von Zeit/Mühe Sie bereit sind, dafür zu investieren, oder wie elegant das Ergebnis ist, nach dem Sie suchen, aber hier ist ein billiger/einfacher einfacher Ansatz, der darauf hinausläuft, einen Wechsel zwischen jedem Paar zu erstellen von Platten.:
ceil(log_2(number_of_plates))
Pins zu verwenden.Auf der anderen Seite sieht dies ruckelig aus, kann das Gewicht nur während der Bewegung erkennen und kann bei Gebrauch brechen. Aber auf der positiven Seite ist es billig, einfach und Sie haben wahrscheinlich sogar schon alle Teile, die Sie brauchen, um einen funktionierenden Prototyp zu bekommen
DonQuiKong
PlasmaHH
Spannungsspitze
Leonid Kokhnovych
Adam
Leonid Kokhnovych