Controle De Velocidade Para Motor

by filipi_saci in Circuits > Raspberry Pi

271 Views, 0 Favorites, 0 Comments

Controle De Velocidade Para Motor

IMG_20181024_222620.jpg

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.

Programa

program1.PNG
program2.PNG

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

Considerações

IMG_20181024_222441.jpg
IMG_20181024_222453_Bokeh.jpg
IMG_20181024_222548_Bokeh.jpg
IMG_20181024_222535.jpg

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.