Nachtrag
Das eine Rad dreht mit 164 eine Umdrehung, und das andere mit 200 weniger als eine Umdrehung? Habe ich das jetzt richtig verstanden?
Da stimmt was mit einem Encoder nicht. Steht auf den Motoren drauf welche Übersetzung die Getriebe haben?
Wenn 1:400 und ein Magnet auf der Scheibe ist, wäre die Einstellung ja richtig, aber ein Encoder würde zu wenig zählen. Ich dachte mit dem neuen 1.3 gibt´s da weniger Probleme, weil zusätzliche Hardware für die Odometrie verbaut ist
Ich verstehe den code für one Revolution leider nicht so richtig, aber glaube das die Motoren stoppen wenn einer die volle Umdrehung gemacht hat.
Fährt der Mower jetzt mit der Odometrie ohne Fehlverhalten(z.B.:braucht zu lange bis die Motoren anhalten)?
Alex76 hat geschrieben, das er Odometriefehler alle paar Minuten bekommen hat, weil er zu wenig Ticks hatte.
in der mower.cpp steht:
#else
// Due interrupts
// ODO
attachInterrupt(pinOdometryLeft, OdometryLeftInt, RISING);
attachInterrupt(pinOdometryRight, OdometryRightInt, RISING);
PinMan.setDebounce(pinOdometryLeft, 100); // reject spikes shorter than usecs on pin
PinMan.setDebounce(pinOdometryRight, 100); // reject spikes shorter than usecs on pin
nicht getestet, aber wenn man RISING auf CHANGE ändert, müssten es doppelt so viele werden.