Controle De Velocidade Para Motor

Trabalho para disciplina de Sistemas Embarcados da 9ª fase de Engenharia da Computação SATC.

Este trabalho tem como objetivo fazer um controle da velocidade desejada e o tempo de subida/descida para um motor de corrente contínua utilizando um Raspberry e uma ponte H.

Step 1: Programa

Foi desenvolvido um software para controlar a velocidade de setpoint e o tempo de rampa para que o motor atinja a velocidade final desejada. Este mesmo tempo foi utilizado para fazer a rampa de descida.

Ainda na tela é exibido a velocidade atual do motor que é lida através de um sensor FC-51 IR.

Todo o calculo da velocidade, entre outros detalhes está disponível no código fonte abaixo.

https://github.com/filipisaci/controle-aceleracao-motor

Step 2: Considerações

Um dos maiores desafios foi fazer o cálculo da velocidade de acordo com o número de dentes e o período (tempo que leva para uma volta completa).

Outra curiosidade para o calculo que percebi, foi que o tempo de bouncetime para o intervalo de leituras dos dentes da engrenagem acoplada no motor é diferente para cada faixa de velocidade.

Além disso foi preciso fazer com que o programa lesse o sensor e então atualizasse o valor da velocidade em RPM da tela, para isso seria preciso de uma interrupção ou Timer. Como não encontrei isso no Raspberrya acabei utilizando a biblioteca de Threding. Com ela consegui instanciar um Timer e neste momento surgiu outros desafios, como por exemplo, controlar a quantidade de total de Threads e a troca do valor do bouncetime de acordo com o novo valor de setpoint.

Share

    Recommendations

    • Toys Contest

      Toys Contest
    • First Time Author

      First Time Author
    • Big and Small Contest

      Big and Small Contest

    Discussions