Der VEX IQ Smart Motor wandelt nicht nur elektrische Energie in mechanische Energie um, wie dies bei den meisten Motoren der Fall ist, sondern verfügt auch über Funktionen, die die meisten Motoren nicht haben, was ihn „intelligent“ macht. Eines seiner Hauptmerkmale ist der Quadratur-Encoder.
Berichte vom Quadratur-Encoder des VEX IQ Smart Motors machen es möglich zu wissen:
- Die Drehrichtung des Motors (vorwärts/rückwärts oder offen/geschlossen)
- Die Position des Motors und der Betrag der Drehung und Position des Motors (entweder in Drehungen oder Grad)
- Die Drehzahl des Motors (basierend auf den Positionsdaten des Encoders und der verfolgten Zeit)
Da der Quadratur-Encoder die Zustände des Motors meldet, können sie bei Berechnungen hinter den Kulissen verwendet werden, damit viele der Motion- und Sensing-Blöcke in der Programmiersprache VEXcode IQ Blocks funktionieren.
Bewegungsblöcke, die Daten vom Quadratur-Encoder verwenden
Die links gezeigten Bewegungsblöcke verwenden Messungen vom Quadratur-Encoder als Daten, um das Verhalten des Motors genau zu steuern. Der linke Motor wird in allen obigen Beispielen gezeigt, aber dasselbe gilt für jeden IQ Smart Motor.
Hier sind Beispiele dafür, wie die Daten des Quadratur-Encoders verwendet werden, damit die Motion-Blöcke funktionieren:
-
Die Drehrichtung: Der Encoder verfolgt, ob der Motor vorwärts oder rückwärts dreht, damit der Programmierer Folgendes einstellen kann:
- Die Richtung des Motors, z. B. beim Spin und Spin für Blöcke
Das Richtungsmaß wird auch mit dem Geschwindigkeitsmaß kombiniert, wenn der Block Geschwindigkeitseinstellung verwendet wird, da negative Parameter innerhalb des Block den Motor rückwärts drehen lassen. Aus diesem Grund wird er als Block set Velocity bezeichnet: Er legt sowohl die Richtung als auch die Geschwindigkeit fest und verwendet die Daten des Encoders, um tun Sie dies.
-
Der Betrag der Drehung: Der Encoder verfolgt, wie weit sich der Motor gedreht hat und seine aktuelle Position, damit der Programmierer Folgendes einstellen kann:
- Die Entfernung der Drehung des Motors wie innerhalb der Drehung für Block
- Eine Position, die beibehalten werden soll, wenn sie angehalten wird, wie wenn der Block stop verwendet wird, um eine Position zu "halten" (erfordert die erste Einstellung) das Anhalten, um zu 'halten')
- Eine Position, an die gedreht werden soll, wie bei der Verwendung des Blocks Spin to Position . Für diesen Block werden Daten über den Abbiegebetrag zusammen mit Daten über die Abbiegerichtung verwendet, sodass die Drehung an die Position Block kann die Drehrichtung bestimmen, um die vom Programmierer eingestellte Position zu erreichen
-
Die Umdrehungsgeschwindigkeit: Die Daten des Encoders können auch verwendet werden, um die Geschwindigkeit der Umdrehungen des Motors zu verfolgen, damit der Programmierer einstellen:
- Die Geschwindigkeit wie innerhalb des eingestellten Motorgeschwindigkeitsblocks
Erfassungsblöcke, die Daten vom Quadratur-Encoder verwenden
Die links abgebildeten Sensing-Blöcke verdeutlichen, wie Daten vom Encoder verwendet werden, um das Verhalten des Motors präzise zu melden.
So werden die Daten des Quadratur-Encoders für diese vier Sensing-Blöcke verwendet:
- Dreht der Motor? (Motor dreht sich Block)
- Wenn der Encoder keine Drehrichtung oder Positionsänderung meldet, darf er nicht drehen (0 = FALSCH).
- Meldet der Geber Drehrichtungen und Positionsänderungen, dann muss er sich drehen (1 = TRUE).
- Ist der Motor fertig? (Motor ist fertig Block)
- Meldet der Geber keine Drehrichtung oder Positionsänderung, muss dies erfolgen (1 = TRUE).
- Meldet der Encoder eine Drehrichtung und eine Positionsänderung, dann muss er noch nicht machen (0 = FALSCH).
- Welche Geschwindigkeit hat der Motor? (Geschwindigkeit des Motors Block)
- Die Daten des Encoders werden verwendet, um die Geschwindigkeit der Umdrehungen des Motors und seine Richtung zu verfolgen. Das Melden der Geschwindigkeit kombiniert diese beiden Datenpunkte.
- Die Geschwindigkeit wird entweder als +/- Prozentsatz (%) oder +/- Umdrehungen pro Minute (U/min) angegeben.
- Wie ist die Position des Motors? (Position des Motors Block)
- Die Daten des Encoders können verwendet werden, um die Position des Motors entweder in Grad oder in der Anzahl der Umdrehungen zu melden.
Zusammengefasst verfolgt der Quadratur-Encoder des VEX IQ Smart Motors die Zustände des Motors und meldet Daten, die dann verwendet werden können, damit die VEXcode IQ-Blöcke für Programmierer problemlos funktionieren.