ivrj escreveu:Olá pessoal, estou desenvolvendo um projeto de um robo Bipede e estou tendo algumas dificuldades com o controle dos servos em relação a sua velocidade.
O controle em sí já está totalmente pronto, consigo controlar os 8 servos q preciso independentemente.
O problema é que eles se movem um pouco rapido e eu gostaria de adicionar uma variavel de controle de velocidade.
Fiz o controle usando um só timer para acionamento dos 8 servos, usando C em microcontrolador pic.
Alguem tem alguma ideia ? qual logica devo usar ?
Eu introduziria passos na mudança do do Duty Cycle.
Conforme você está fazendo, a mudança vai do Duty Cycle atual para o Duty Cycle da nova posição, sem passar por Duty Cycle intermediários.
Exemplo:
O servo está na posição 30º e você quer que ele vá pra posição 60º.
Se você mudar o Duty Cycle direto, a velocidade vai ser a máxima que o motor conseguir executar.
Se você mudar o Duty Cycle em passos, por exemplo:
De grau em grau em intervalos de 30 ms, o servo levará quase 1 segundo pra fazer o percurso dos 30º em questão.
É só você alterar o tempo de pernência em cada passo que você altera a velocidade.
Na teoria é simples... na prática veja se é possíivel..
Mas fica a sugestão.