Zitat Zitat von Dirk Beitrag anzeigen
Diese Räder habe ich auch auf meinem Wild Thumper 6WD.
Ich hatte auch so gerechnet wie du, hatte dann aber eine Abweichung, die ich mir nicht erklären konnte. Dann habe ich mal den Umfang nachgemessen: 403 mm (mit Spikes und auf hartem Grund, also ohne Eindrücken von Spikes und Profil in den Grund).
Die haben das anscheinend wirklich ohne die Spikes gemessen!


Zitat Zitat von Dirk Beitrag anzeigen
Wenn dir das irgendwann doch nicht reichen sollte:
-> Dein Programm zur Auswertung der Encoder komplett posten.
Da ist nichts besonders.
Die Interrupt-Routine zählt nur eine volatile unsigned long Variable hoch, die ich im Testprogramm ausgelesen habe.
Der robosavvy-Support, bei denen ich das gekauft hatte und der übrigens sehr schnell antwortet, fragt mich das auch schon zum 2.Mal.
Ausser einem z.B.
void encodercountHR_intproc()
{
encodercountHR++;
}

mit
void setup()
{
...
attachInterrupt(digitalPinToInterrupt(MOTOR_HR_INT ), encodercountHR_intproc, CHANGE);
...
}
gibt es da nicht viel.
Das ganze Programm hat auch keine delay() drin und wenn ich interrupts verlieren würde, müsste das bei allen Motoren relativ gleichmässig sein.
Wenn ich den Rover stoppe oder die Richtung wechsle, setze ich die encodercountHR auf Null, die Richtung wird durch eine Boolean festgehalten.
Dass die Motoren noch eine Weile weiterlaufen, wenn ich sie stoppe und dadurch noch ein paar Ticks hochzählen, hattest Du sicher auch.
Anscheinend ein relativ grosses Trägheitsmoment je nach Reifengewicht und Geschwindigkeit - logo.