A ver esto es simple y como línea de trabajo nunca te compliques como ahora.
Cuando surge una complicación aisla el problema y crea otro codigo simple resolviéndolo y luego regresa al código grande.
No hagas códigos grandes con cosas sin probar eso es un error GIGANTE!!!
Haz cosas chicas. Vas asegurándote que funcionen y las vas agregando a tu código general del que me gustaría decirte algunas cosas pero luego (recuérdamelo porque me olvido de tantos post que respondo).
const int minRpm = 30 ;
const int maxRpm = 150;
int potenciometer = analogRead(potenciometroMotor);
Serial.print("Potenciometro: "); Serial.print(potenciometer);
//Establecemos la velocidad
int velocity = map(potenciometer, 0, 1023, minRpm, maxRpm);
Serial.print(", Velocidad: ");
Serial.print(velocity);
Serial.println(" ");
Yo no veo nada problemático acá.
Dices que el valor del potenciometro lo muesta estable pero velocity se modifica?
Revista el resto del código, alguna variable esta interfiriendo.