Ajuda com controle de tempo

Pessoal estou com um grande problema e precisava da ajuda de vcs.

É o seguinte: estou desenvolvendo um sistema de alinhador eletrônico para rebobinadeira e esta tudo certo, apenas por um detalhe. Tem uma situação que se o sensor optico ficar mais de 500 milissegundos ou mais em cima do material eu preciso acelerar o motor de passo da base ate ele sair rápido do material e quando sair eu tenho de diminuir novamente a velocidade dele.
Estou usando a lib AccelStepper para o controle e tudo funciona certinho.

Alguem teria uma ideia de como eu controlar esse tempo e fazer o motor acelerar e depois voltar na velocidade normal?

Grato a todos

Mostre o código que você está usando no trecho em que você usa o AccelStepper.

Segue o codigo que faz a parte de ficar girando o motor da esquerda para direita e vice versa

//===================================================================

// SISTEMA AUTOMATICO DO SENSOR OPTICO
  if (LigaMotor == 1){          // coloca o motor em automatico
  //int vStatus = SensorFeixe();
   
   if (vStatus == HIGH){
        
      motor.move(1000);
      veloMotor = sentH;          //muda a velocidade para ficar mais rapido
       motor.setSpeed(veloMotor);
       myDelay(timerDelay);
       
                      
   }else{                        //logica da reversao pelo sensor optico
         
      motor.move(1000);
      veloMotor = sentAH;
       motor.setSpeed(veloMotor);
       myDelay(timerDelay);
       
  }
 }
 //===================================================================

Onde eu coloquei "muda a velocidade...." é onde eu gostaria de fazer o seguinte: caso o sensor fique mais de 200 milisegundos em uma mesma posicao eu presciso aumentar a velocidade do motor para ele voltar para a posicao original e dai sim voltar a velocidade normal.

Caso prescise de mais detalehs do sistema para poder me dar uma ajuda é so postar.

Valeu