• Herzlich willkommen!

    Das Team von »Doctor Brick« heißt Euch herzlich willkommen und wünscht Euch viel Spaß hier!
    »Doctor Brick« ist eine anerkannte Community (RLOC) für erwachsene LEGO Enthusiasten, auch AFOLs (= Adult Fans Of LEGO) genannt.
    Wir können uns hier über alle Belange des LEGO Hobbys austauschen wie z.B. Set- und Teilefragen, Vorstellung und Rezensionen von Legobauten.
    Bitte beachtet die Nutzungsbedingungen und den Verhaltensleitfaden.

[WIP] Alles um Lego Powered UP ( Tips, Tuning und alternative Software)

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Diese fährt mit voller Kraft in den Anschlag, zum einen springt das Zahnrad gerne über und unendlich genau ist die Zentrierung auch nicht.
Die Kraft, die die Motoren max ausüben kann man einstellen.
Leider kenne ich mich mit Pyton null aus, gäbe es auch die Möglichkeit einen Nullpunkt und einen maximalen Ausschlag vorzugeben,

Du kannst praktisch alles vorgeben.
Wo soll denn der Nullpunkt herkommen? Oder hat der Motor einen?
Wo hast Du denn das Programm her?
 

Carsten

Stammuser
Registriert
27 Dez. 2017
Beiträge
404
Die Kraft, die die Motoren max ausüben kann man einstellen.

Wo soll denn der Nullpunkt herkommen? Oder hat der Motor einen?
Wo hast Du denn das Programm her?
Ändert man dann nur die Kraft der Motoren bei der Kalibrierung oder auch im späteren Betrieb?

Der Motor ist ein PU L Motor, der ja einen Winkelsensor haben sollte. Wie man den ausliest, weiß ich nicht. Aber man müsste nur den Winkel der Nullposition vorgeben und dann wie weit er links und rechts einschlagen darf analog Brickcontroller 2.

Der Code ist von der Pybricks Seite.
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Ändert man dann nur die Kraft der Motoren bei der Kalibrierung oder auch im späteren Betrieb?
Du kannst den Wert jederzeit neu setzen, wenn der Motor steht.
Also vor der Kalibrierung auf wenig Kraft, danach dann wieder höher.

Das geht über die control.limits()

Aber hier sollte es noch einfacher gehen:

left_end = steer.run_until_stalled(-200, then=Stop.HOLD,duty_limit=50)
right_end = steer.run_until_stalled(200, then=Stop.HOLD,duty_limit=50)

"50" bedeutet: nur 50% Kraft.

duty_limit (Number, %) – Duty cycle limit during this command. This is useful to avoid applying the full motor torque to a geared or lever mechanism. If it is None, the duty limit won’t be changed during this command.

Leider habe ich gerade keine Zeit das zu testen, denke aber das sollte gehen.

Der Motor ist ein PU L Motor, der ja einen Winkelsensor haben sollte. Wie man den ausliest, weiß ich nicht. Aber man müsste nur den Winkel der Nullposition vorgeben und dann wie weit er links und rechts einschlagen
Der Winkelwert steht m.W. nach dem Einschalten immer auf 0, auch wenn die Lenkung nicht in der Mitte steht.
deswegen ja auch die Kalibrierung.
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Ei, das freut mich.
Danke für die Rückmeldung.

Wie Du siehst: Python-Kenntnisse sind erstmal weniger gefragt, sondern die Beschäftigung mit den Befehlen.
 
Oben