Heiho! Ich hab mir mal ein paar Gedanken zur "stabilen" Drehzahl gemacht. Wenn man den Motor inkrementell aus- und einschalten würde, in einem genügend langen Takt (damit der Motor auch wirklich in der Zeit anlaufen und wiederum abschalten kann), kann man diesen Effekt ja zumindest mal simulieren (wenn auch eeetwas ruckartig).

Hier mal mein kleines Proggi dazu (OHNE Odometrie - die Motoren werden lediglich für bestimmte Zeitintervalle an und abgeschaltet). Die vorderen Switches bestimmen, wie lange der Motor an bleibt (ab ca. dem 4. Switch fängt er an, sich "vernünftig" zu bewegen - wenn man das so bezeichnen kann). Wäre das hier in das Proggi von waste implementiert ne Lösung?

PS: Sehr grobes Proggi, ist sicher noch verbesserungsfähig (bin ja noch Newbie ).

Code:
#include "asuro.h"
#include <stdlib.h>

int main(void)
{
   unsigned char sw;
   unsigned int dt, i;
	Init();
	MotorDir(FWD,FWD);
    dt=1;
   while(1){
	MotorSpeed(150,150);
		for(i=0;i<10;i++){
		Sleep(dt);
		}
	MotorSpeed(0,0);
		for(i=0;i<10;i++){
		Sleep(255);
		}
	  sw = PollSwitch();
      if (sw & 0x01)
         dt = 8;
      if (sw & 0x02)
         dt = 16;
      if (sw & 0x04)
         dt = 32;
      if (sw & 0x08)
         dt = 64;  
      if (sw & 0x10)
         dt = 128;  
      if (sw & 0x20)
         dt = 255;
   }
   while(1);
   return 0;
}