Problema con la velocidad de un stepper

hola gente tengo un problema, quiero controlar un stepper , un servo y un motorcito dc, hice el sketch uniendo varios ya que no tengo mucho conocimiento, pero logre hacerlos funcionar a los tres pero el stepper va muy lento. el servo y el motorcito dc funcionan correctamente
detallo funcionamiento de cada uno

  1. stepper 28BYJ-48: en el sketch se trata de controlar con potenciómetro los rpm de izquierda a derecha con REPOSO_SUPERIOR en 524 y REPOSO_INFERIOR 500
  2. servo : control basico de 0 a 180 con potenciómetro
  3. mini motor dc: control de velocidad común con potenciómetro

todo funciona pero el stepper va muy lento, cabe recalcar que si borro las partes de la librería que controlan el servo y el motorcito dc ahí el stepper recupera su velocidad normal pero al incluirle las demás librerías se pone lento de nuevo. capaz hay que borrar o simplificar algo en el sketch pero no tengo mucho conocimiento y por eso consulto en este foro.
desde ya agradezco su ayuda. saludos

#include <Stepper.h>		// incluye libreria Stepper incorporada en IDE
#include <Servo.h>

#define PASOS 32		// reemplaza toda ocurrencia de PASOS por 32
 
#define IN1 8			// reemplaza toda ocurrencia de IN1 por 8
#define IN2 9			// reemplaza toda ocurrencia de IN2 por 9
#define IN3 10			// reemplaza toda ocurrencia de IN3 por 10
#define IN4 11			// reemplaza toda ocurrencia de IN4 por 11

#define REPOSO_SUPERIOR 524	// reemplaza toda ocurrencia de REPOSO_SUPERIOR por 524
#define REPOSO_INFERIOR 500	// reemplaza toda ocurrencia de REPOSO_INFERIOR por 500

int POT;			// variable para almacenar el valor leído del potenciómetro

Stepper motor(PASOS, IN1, IN3, IN2, IN4);	

Servo myservo;  // Objeto Servo
int potPin = A1;  // Pin analógico conectado al potenciómetro
int pos = 0;     // Variable para almacenar la posición del servo

const int Potenciometro = A3;  
const int MotorPWM = 3;  

void setup(){
{
  myservo.attach(7);  // Conecta el servo al pin 9
}
{
  Serial.begin(9600);
  
  pinMode(MotorPWM, OUTPUT);
  }
}

void loop()
{
  POT = analogRead(A0);					// lectura de la entrada analógica A0
  
  if(POT  > REPOSO_SUPERIOR)				// si el valor es mayor a REPOSO_SUPERIOR
  {
    int velocidad  = map(POT, 524, 1023, 100, 1000);	// velocidad almacena el valor convertido a rango 5-500 RPM
    motor.setSpeed(velocidad);				// establece velocidad con la función setSpeed
    motor.step(1);					// indica realizar un paso en sentido horario
  }
 
  else if (POT < REPOSO_INFERIOR)			// si el valor es menor a REPOSO_INFERIOR
  { 
    int velocidad = map(POT, 500, 0, 100, 1000);		// velocidad almacena el valor convertido a rango 5-500 RPM
    motor.setSpeed(velocidad);				// establece velocidad con la función setSpeed
    motor.step(-1);					// indica realizar un paso en sentido antihorario
 
  }
  else 							// a esta condición se llega si se encuentra en zona de reposo
  {
    digitalWrite(IN1, LOW);				// nivel bajo LOW a IN1
    digitalWrite(IN2, LOW);				// nivel bajo LOW a IN2
    digitalWrite(IN3, LOW);				// nivel bajo LOW a IN3
    digitalWrite(IN4, LOW);				// nivel bajo LOW a IN4
  }
{
  pos = analogRead(potPin);  // Lee el valor del potenciómetro (0-1023)
  pos = map(pos, 0, 1023, 0, 180);  // Mapea el valor a un rango de ángulo (0-180)
  myservo.write(pos);  // Mueve el servo a la posición deseada
  delay(15);  // Pequeña pausa
}
{

  int valorPOT = analogRead(Potenciometro);
  
  int valorPWM = map(valorPOT, 0, 1023, 0, 255);

  analogWrite(MotorPWM, valorPWM);
  
  Serial.print("Valor Potenciometro: ");
  Serial.print(valorPOT);
  Serial.print(" - Valor PWM: ");
  Serial.println(valorPWM);
  
  delay(10);
}
}

Su código funciona.

Su fuente de alimentación no es suficiente para alimentar el servo, el motor paso a paso y el motor de CC. El paso a paso parece necesitar la mayor potencia.

Si quitas los dos delay() mejora?

hola, no amigo ya que alimento independiente el motor paso a paso, ya había pensado eso pero desconecte todo y deje solo el motor paso a paso funcionando e igual sigue yendo lento

hola, lo acabo de hacer y nada, sigue yendo lento el stepper

Su controlador paso a paso tiene 2048 pasos. El servo tiene "180", así que dé al controlador paso a paso 2048/180 = 11,38 pasos por cada 1 paso del servo.