Wie kann ich den NXTMindstorm Motor exakt steuern?

Wie kann ich den Motor exakt steuern. Wenn ihc 360 Grad drehen will, dreht er nie genau. Mal etwas kürzer mal länger. Habe es auch mit dem PID Regler versucht aber keinen Erfolg. Hoffe auf Abhilfe.

Schon einmal vielen Dank im Vorraus

Mfg
BäriBäri

Hallo BäriBäri!

Womit programmierst du denn den NXT-Stein?
Mit NXT-g?
Wofür brauchst du denn die genaue Gradzahl?

Jullum 1996

Den Stein programmiere ich mit BricxCC. Also müsste NQC sein.
Hört sich jetzt vlt dumm an aber ich versuche im Moment noch den Farbensortierer zu programmieren, welcher schon als Standartmodell zu bauen ist.
Ich muss für die 4 verschiedenen Kugeln den Sortierbehälter halt ensprechend drehen. Doch ganz exakt dreht er nie. Manchmal fällt ein Ball vorbei.
Und später muss ich den Motor vlt noch genauer steuern.
Hoffe ich konnte soweit alles erklären.

BäriBäri

Hallo BäriBäri

Leider kann ich dir da auch nicht helfen… mein Spezialgebiet ist die Standart-NXT Software (Grafisch) (BricXX lerne ich gerade in der Schule, apropos: Es könnte auch NXC sein was du benutzt, guck dir mal die Dateiendung an). Wenn ich dir einen Bau-Tipp geben darf, bau doch einfach die Auffangflächen größer.

Eine Idee hätte ich aber noch. Es gibt ja in der NXT-Software die Möglichkeit, die Motoren zurückzusetzen (Les dir mal die Hilfe für den Block durch). Vielleicht gibt es sowas auch für NXC/NQC oder was auch immer du benutzt! :wink:

Tut mir leid wenn ich dir nicht helfen konnte.

Jullum1996

p.s. Zur Standart-Software kannst du mich immer Fragen :smile:

Ja ist NXC. Hab nur online NQC gefunden.

Die Auffangflächen will ich schon so lassen wie sie sind, sind ja so eigentlich schon groß genug. Ach ja falls du dann auch mal fragen zu NXC haben solltest, helf ich auch gerne. Bin zwar nicht der Profi aber so ganz schlecht bin ich auch nicht^^

Wie weit hast du NXC schon gelernt?

BäriBäri

Na ja, dann halt eben nicht :smile:

Mit dem nxc mach ich in letzter Zeit relativ wenig (First Lego League) aber danke für das Angebot!
Bisher kann ich nur Sensoren benutzen und strecken fahren.

Hi BäriBäri

Ich programmier zur Zeit viel mit NXC
Haste schon den Befehl benutzt:

RotateMotor(„Output“, „Speed“, „Gradzahl“);

Normalerweise ist der Befehl ziehmlich genau.

Ansonsten kannste ja mit MotorRotationCount(); den aktuellen stand der morotren auslesen und dann mit OnFwd() solange drehen bis du den gewünschten Wert hast (also mit while und until Schleifen etc…)

Ich hoffe ich konnte dir weiterhelfen ;D

Hi danke für die Antwort aber das Thema hat sich erledigt. Mit RotateMotor hatte ich aber ausprobiert. Bei 360 Grad war immer eine Abweichung von ±20Grad.