Der folgende Artikel enthält Anleitungen zur Fehlerbehebung bei VEX V5 Smart Motors, wenn eines oder mehrere der folgenden Probleme auftreten:
- Der Motor dreht sich nicht in die vorgesehene Position
- Das VEXcode V5-Projekt wird mitten im Projekt unerwartet gestoppt
- Motoren bewegen sich unerwartet
Problem: Motor dreht sich nicht in die gewünschte Position
Wenn sich Ihr Motor nicht in die vorgesehene Position dreht, versuchen Sie zur Fehlerbehebung die folgenden Schritte.
Bevor Sie Ihr VEXcode V5-Projekt bearbeiten, überprüfen Sie, ob Sie in der Gerätekonfiguration die richtige Getriebekassette ausgewählt haben. Die Standardauswahl ist die grüne 18:1-Getriebekartusche.
Weitere Informationen zum Konfigurieren einzelner Motoren in VEXcode V5 Sie in diesem Artikel.
Überprüfen Sie die in Ihrem Projekt verwendeten Befehle. [Spin to position] wird verwendet, um einen Motor in eine bestimmte Position zu drehen. Im Gegensatz dazu setzt der Block [Position festlegen auf] die Position des Motor-Encoders auf den angegebenen Wert und bewegt den Motor nicht.
Stellen Sie sicher, dass Sie in Ihren Projekten [Spin to position] anstelle von [Set position to] verwenden.
Stellen Sie sicher, dass Sie die richtige Gradposition kennen, zu der sich der Motor bewegen soll. Jegliches Getriebe könnte die Gradzahl beeinflussen, die erforderlich ist, um einen Arm vollständig anzuheben oder eine Klaue zu öffnen.
In diesem Artikel erfahren Sie mehr über die Übersetzungsverhältnisse mit VEX V5 Smart Motors.
Wenn Sie nicht sicher sind, wie weit ein Motor bewegt werden soll, verwenden Sie die auf dem V5 Brain-Bildschirm verfügbaren Geräteinformationen. Um die Geräteinformationen für einen Motor zu öffnen, wählen Sie zunächst „Geräte“ auf dem V5 Brain-Bildschirm aus.
Wählen Sie dann den Motor aus, zu dem Sie weitere Informationen sehen möchten.
HINWEIS: Der Motor muss an das V5 Brain angeschlossen sein, damit er auf dem Gerätebildschirm angezeigt wird.
Nach dem Öffnen können Sie den Grad und die Drehposition des ausgewählten V5 Smart Motors sehen. Dies wird in Echtzeit aktualisiert, wenn Sie sehen möchten, wie sich die Werte ändern, wenn sich der Motor dreht.
Die Geräteinformationen geben die Position des Motors in Grad und Umdrehungen an. Wenn Sie also einen Motor bewegen (z. B. Öffnen und Schließen einer Klaue), ändern sich die Zahlen. Verwenden Sie diesen Test, um zu bestimmen, wie viele Grad oder Drehungen erforderlich sind, um eine Klaue zu schließen, einen Arm anzuheben, einen Einlass zu drehen usw.
Problem: Das VEXcode-Projekt bleibt hängen
Es kann sein, dass Ihr Projekt stecken bleibt, weil der Motor seine vorgesehene Zielposition nicht erreichen kann. Sie können die Position, in die sich der Motor bewegt, anpassen oder eine „Zeitüberschreitung“ für den Motor festlegen.
Mit Motor-Timeouts können Sie ein Zeitlimit festlegen, bis der Motor seine Zielposition erreicht. Wenn diese Position nach Ablauf der Zeit nicht erreicht wird, hört der Motor auf, sich zu drehen, und das Projekt geht zum nächsten Befehl über.
In diesem Beispiel ist der Motor-Timeout auf 3 Sekunden eingestellt. Wenn sich die Klaue nicht innerhalb von 3 Sekunden auf 360 Grad schließt, hört der Motor nach 3 Sekunden auf, sich zu drehen, geht dann zum nächsten Befehl über und fährt vorwärts.
Problem: Motoren halten keine Position
Möglicherweise hat sich ein Armmotor unerwartet nach unten bewegt, weil er durch die Schwerkraft oder andere Kräfte gezogen wird. Mit [Motorstopp einstellen] können Sie die Bewegung des Arms steuern, nachdem ein anderer Befehl ausgeführt wurde.
Mit dem Befehl [Stopp einstellen auf] können Sie das Verhalten des Motors bestimmen, nachdem er aufgehört hat zu drehen.
Durch die Verwendung des Parameters „Halten“ wird der Motor angewiesen, der Schwerkraft entgegenzuwirken. „Halten“ bewirkt, dass der Motor sofort stoppt und bei Bewegung wieder in die Stoppposition zurückkehrt.
Stellen Sie die Motoren auf „Halten“, bevor andere Befehle mithilfe der Motoren ausgeführt werden, wie in diesem benutzerdefinierten Controller-Codebeispiel hier gezeigt.