Ich habe eine sich drehende Plattform mit 1 Achse (x), die sich ziemlich schnell mit ~ 300 U / min dreht. Ich möchte in der Lage sein, mit einem guten Maß an Genauigkeit zu erkennen, um wie viele Grad es sich von seiner Startposition entfernt hat und mit welcher Geschwindigkeit es derzeit hinterherhinkt.
Zum Beispiel: Stellen Sie sich eine Uhr vor, die einen einzigen Min-Zeiger hat. Der Stundenzeiger wandert über das Zifferblatt der Uhr und ich möchte messen, wo er sich zu einem bestimmten Zeitpunkt auf dem Zifferblatt in Grad befindet.
"3" Uhr wäre es 90 Grad, "6" Uhr wäre es 180 Grad, "9" Uhr wäre es 270 Grad, "12" Uhr wäre es 0 Grad,
Ich habe beide Sensoren
Meine Fragen sind:
Für ein solches Problem verwendet man typischerweise einen optischen Inkrementalgeber . Je nach Typ gibt es eine Reihe von Impulsen pro Umdrehung, sodass Ihre Auflösung von dieser Zahl abhängt. Es gibt Ihnen auch Informationen über die Drehrichtung. Sie können die Geschwindigkeit finden, indem Sie die Zeitspanne zwischen den Impulsen messen. Weitere Informationen zur Funktionsweise von Inkremental- und Absolutwertgebern finden
Sie auch in dieser Antwort .
Wenn Sie keinen passenden Encoder finden und Ihr Motor ruhig läuft, kann es ausreichen, nur einen Impuls pro Umdrehung zu haben. Die aktuelle Position lässt sich dann aus der Zeit seit dem letzten Impuls dividiert durch die Zeit zwischen den Impulsen (= Rotationsperiode) ableiten. Genau wie beim optischen Encoder möchten Sie eine berührungslose Lösung. Optisch ist eine Möglichkeit. Verwenden Sie einen Reflexionssensor (wie Vishay CNY70 ), um einen kleinen reflektierenden Bereich auf einer ansonsten matten Disc zu erkennen (oder umgekehrt). Eine magnetische Lösung ist ebenfalls möglich und wird häufig in schmutzigen Umgebungen verwendet, in denen der optische Sensor nicht funktioniert. Ein kleiner Magnet auf der Motorwelle bewirkt, dass ein Hall-Effekt-Sensor (wie Infineon TLE4913 ) bei jedem Durchgang einen Impuls abgibt.
Sie würden denken, dass der Kreisel ideal wäre, weil er Ihnen Winkelgeschwindigkeit gibt. Um die Rotation zu finden, müssen Sie jedoch die Winkelgeschwindigkeit über die Zeit integrieren, und es ist nicht immer einfach, die Genauigkeit beizubehalten, da Sie auch Fehler integrieren, die immer größer werden, es sei denn, es gibt eine Möglichkeit, jede Rotation neu zu kalibrieren.
Wie ich Mike gegenüber kommentierte, reagiert der Beschleunigungsmesser bei Verwendung eines Beschleunigungsmessers und eines Motors, der nicht vertikal montiert ist, auf die Erdgravitation und überlagert diese als Sinuswelle mit dem Messwert der Zentrifugalbeschleunigung. Dies muss herausgefiltert werden, kann aber auch direkt zum Zählen von Umdrehungen verwendet werden: Sie erhalten 1 Sinuszyklus pro Umdrehung.
wichtiger aufmerksamkeitspunkt:
Sowohl ein Kreisel als auch ein Beschleunigungsmesser müssten auf der Welle montiert werden, und Sie müssen sich mit dem Problem der Verkabelung von Strom und Messwerten an einer festen Position befassen.
Die Drehzahl wird normalerweise mit einem Tachometersystem berechnet, wobei ein Impuls einmal (manchmal zweimal - siehe CPU-Lüfter) für jede Umdrehung erzeugt wird. Diese werden dann über einen vorgegebenen Zeitraum gezählt und daraus die Drehzahl errechnet.
Was die Position in der Rotation betrifft, ist das schwieriger. Aufgrund der von Ihnen verwendeten Rotationsgeschwindigkeit fällt nicht viel ein, um die Rotationsposition genau zu melden - nicht das reagiert schnell genug, um es richtig zu machen.
Wenn Sie die Rotationsgeschwindigkeit (RPM) ziemlich genau kennen, können Sie berechnen, wie weit sie sich in der verstrichenen Zeit über einen bekannten Punkt hinaus gedreht hat - zum Beispiel wie lange seit dem letzten Tachometerimpuls vergangen ist -, um eine ziemlich genaue Position zu erhalten, wenn die Geschwindigkeit ist Konstante.
Eine andere Möglichkeit wäre, mehrere Sensoren in einem Ring um die Achse und einen Bezugspunkt auf der Achse zu haben, der diese Sensoren passiert - sei es magnetisch oder optisch -, aber das ergibt nur eine begrenzte Auflösung. Diese sind als absolute optische Encoder (oder absolute magnetische Encoder, wenn Sie Magnetismus verwenden) bekannt.
Optische Inkremental-Encoder, wie sie in Mausrädern usw. verwendet werden, sind eine Möglichkeit, dies zu tun, geben jedoch keine absolute Position an, sondern nur eine relative, sodass Sie sie auch mit einem absoluten Bezugspunkt koppeln müssen .
Während ein Kreisel Ihnen theoretisch Informationen liefert, um die Antwort zu erhalten, wird der Winkel in der Praxis nach einigen Sekunden so viele Fehler aufweisen, dass er unbrauchbar ist. MEMs Kreisel geben ein Signal aus, das die Rotationsgeschwindigkeit anzeigt. Dies muss integriert werden, um Winkel zu erhalten. Offset, Drift und andere Fehler werden jedoch kontinuierlich im Integral akkumuliert. Bei den meisten MEMs-Kreiseln ist das Ergebnis nach einer oder wenigen Sekunden unbrauchbar.
Beachten Sie, dass echte mechanische Kreisel dieses Problem nicht haben, da sie von Natur aus ein Winkelpositionssignal und keine Winkelgeschwindigkeit liefern. Sie sind jedoch groß, klobig, verbrauchen viel Strom, sind teuer und müssen für eine Minute bis zu 10 Minuten ohne Bewegung "eingesperrt" werden, um sie vor dem Gebrauch zu kalibrieren.
Wenn die Drehzahl halbwegs konstant ist, reicht ein Tick einmal pro Umdrehung. Ich habe an mehreren rotierenden LED-Schildern gearbeitet, bei denen dies die einzige Positionsinformation war. Das System ging davon aus, dass jede Drehung die gleiche Zeit wie die vorherige Drehung dauern würde. Das Display wurde beim Einschalten beim Beschleunigen des Motors gedehnt, funktionierte aber im stationären Zustand recht gut.
Erst in diesem Frühjahr habe ich einen Gymnasiasten beraten, der etwas Ähnliches machen wollte. Ich gab ihm einen einzelnen Opto-Unterbrecher, mit dem er die Zeit pro Drehung berechnete und die Pixeluhr für die nächste Drehung generierte. Sein Motor war ein großer Ventilator, der auf der Seite auf dem Boden lag, in dessen Mitte das Board batteriebetrieben und montiert war. Es buchstabierte „2011 SENIOR PROJECT“ mit 7 LEDs, und alle waren ziemlich beeindruckt.
Wenn die Welle horizontal ist, können Sie einen Beschleunigungsmesser verwenden, um die Rotationsgeschwindigkeit zu messen und eine Vorstellung vom aktuellen Winkel zu bekommen, indem Sie die Schwerkraft beobachten.
Je nachdem, wie der Motor funktioniert, kann es sein, dass die Motorantriebselektronik regelmäßig die Position meldet. Wenn es sich um einen bürstenlosen DC handelt und Sie Zugriff auf den Controller haben, sind diese Informationen verfügbar.
Die Kommunikation mit der rotierenden Tafel von außen kann auf verschiedene Arten erfolgen. Bei dem rotierenden LED-Schild haben wir eine Hohlwelle mit einer IR-LED am festen Ende und einer Fotodiode am rotierenden Ende verwendet. Dies wurde als Einweg-Datenstrom mit etwa 1 Mbit/s verwendet. Es ist auch interessant, das rotierende Brett mit Strom zu versorgen. Der Gymnasiast verbrauchte Batterien. Das war einfach und funktionierte gut für seine Präsentation. Eine Version des LED-Schilds benötigte 70 W und musste kontinuierlich laufen, das war also nicht möglich. Wir verwendeten einen Transformator, bei dem sich Primär- und Sekundärteil gegeneinander drehen konnten. Dieser wurde von einem Umschalter mit hoher Frequenz angesteuert. Zur Rückkopplung wurde eine kleine Sekundärwicklung auf der festen Seite verwendet, und die rotierende Sekundärwicklung war gut genug geregelt.
Das Messen der Winkelgeschwindigkeit ist genau das, was der Kreisel tut. Im Fall Ihres Kreisels wird der Ausgang mit einer Geschwindigkeit von 300 Grad/Sek. Ein linearer Beschleunigungsmesser könnte auch die Winkelgeschwindigkeit messen, wenn er auf die Rotationsachse ausgerichtet ist, da Beschleunigung = , dh Winkelgeschwindigkeit aber das wäre weniger bequem.
Um die Winkelverschiebung zu messen, müssten Sie die Winkelgeschwindigkeit über die Zeit integrieren, und Sie werden aufgrund von Offset und Drift Schwierigkeiten haben, über lange Zeiträume genaue Ergebnisse zu erhalten.
dhsieh2
NickHalden