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