Go Down

Topic: Ajuda com controle de tempo (Read 741 times) previous topic - next topic

defende

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

neuron_upheaval

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

defende

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

Code: [Select]
//===================================================================

// 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

Go Up