Velocidad de un servo

Necesito programar un servo para que haga un movimiento en 90°, de ida y vuelta constantemente, y que vaya acelerando la velocidad del movimiento. Llegado a un punto máximo, quiero que se detenga. Es decir, de A a B -ida y vuelta - acelerando hasta un máximo para detenerse en seco.

Estuve probando con éste código pero no logro obtener el resultado que necesito.

#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
                // a maximum of eight servo objects can be created 
 
int pos = 0;    // variable to store the servo position 
 
void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 
 
 
void loop() 
{ 
  slowspeed();
  delay(15);
  medspeed();
  delay(100);
  fastspeed();
  delay(1000);  
 
}

void slowspeed(){
  for(pos = 0; pos < 180; pos += 2)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 2 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
  }
 delay(15);
}

void medspeed(){
  for(pos = 0; pos < 180; pos += 5)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 5 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
  } 
  delay(50);
}

void fastspeed(){
  for(pos = 0; pos < 180; pos += 9)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 9 degree 
    myservo.write(pos);      // tell servo to go to position in variable 'pos' 
  } 
  delay(150);
}

Alguna idea?

Si te sirve que la velocidad aumente en pasos (y no una aceleración constante de principio a fin) puedes establecer 4 velocidades en ese código. Como creo que lo que quieres es que el servo vaya de 0 a 90 grados y volver en la subrrutina de las velocidades puedes poner:

Velocidad 1: de 0 a 45 en pasos de 1
Velocidad 2: de 45 a 90 en pasos de 2
Velocidad 3: de 90 a 45 en pasos de -3
Velocidad 4: de 45 a 0 en pasos de -4

Prueba a poner el delay dentro de la funcion for next. Asi controlas la velocidad con la que se escribe el nuevo valor en el servo. Por ejemplo:

void slowspeed(){
for(pos = 0; pos < 180; pos += 1) {
myservo.write(pos);
delay(15);
}
}

Espero haberte ayudado!