Tacometro de Metros por Minuto

Bom dia pessoal tudo bem.

Seguinte, estou tentando fazer um contador de velocidade na escala de Metros Por Minuto (MPM) mas nao estou conseguindo. Alias nao tenho nem ideia de onde começar. Consegui ja fazer o conta metros.

Estou trabalhando com um encoder rotativo da LS http://www.lsmecapion.com/eng/contents/sub01/pop_pro_view.php?code=product&seq=2113&cate1=_03010000

Sei que tenho de usar interrupção, mas os calculos nao tenho ideia de como fazer.

Poderiam me ajudar?

Pelo que estou a ver, precisa de metros por minuto e tem um encoder rotativo. Sendo assim, vai ter que contar impulsos (daí ter que usar a entrada de interrupção, normalmente é assim que se contam impulsos) e vai ter que transformar esses impulsos em metros. A cada impulso, a “roda” dá uma volta. Se souber qual é o diâmetro dessa roda, sabe que por cada volta ela anda “PI x diâmetro” metros (se converter o diâmetro dessa roda em metros). Em paralelo, vai ter que medir o tempo, e cada vez que passa um determinado tempo (pode ser exactamente um minuto, ou pode ser outro valor e extrapolar para um minuto) vai ter que reiniciar a contagem de impulsos. Não dá muitos pormenores sobre qual é a aplicação concreta, portanto, também não consigo dar muito mais informação. Isto é para quê? Está a querer medir a velocidade de um actuador linear do tipo cremalheira? Ou é de um carro?

Desculpe a demora em responder mas eu estava viajando.

Seria para uma aplicação onde eu terei uma IHM de 7 pol. e essa aplicação vai monitorar quantos metros lineares uma maquina esta embobinando e a velocidade em MPM que esta maquina esta rodando a bobina.

Por exemplo, caso eu coloque 250 metros desejados, e uma velocidade desejada de 100 MPM a maquina vai bobinar ate 250 metros lineares a uma velocidade de 100 MPM.

Conseguiu entender a aplicação?

Grato.

Penso que estou a perceber o objectivo, no entanto, não estou a ver como se vai alcançar. Qual é a ideia? Medir a velocidade de rotação da bobina e a partir daí calcular a velocidade de deslocação do fio, ou por outro lado, ter a bobina a rodar e colocar o sensor noutro local?

De uma forma ou de outra, vai ter que ter um "objecto" redondo a rodar (ou a bobina, ou um sensor em contacto com o fio que se desloque à mesma velocidade que este). Esse objecto tem um determinado diâmetro D. Cada vez que esse objecto dá uma volta completa o fio deslocou-se o equivalente ao perímetro do objecto (perímetro = PI x D). Sendo assim, sabendo quantas voltas por minuto dá o objecto, também se sabe o deslocamento linear do fio em contacto com o objecto, basta para isso multiplicar o numero de voltas pelo perímetro.

Por exemplo, se o objecto tiver um diâmetro de 15cm e rodar a 250 rpm:

diâmetro = 0,15m perímetro = 3,14 * 0,15 = 0,471m velocidade linear = 250rpm * 0,471m = 117,75 mpm

Aqui esta a maquina que eu estou alterando.

https://www.youtube.com/watch?v=uAKLCMzst7g

Veja que hoje ela tem um painel com contador de metros e de velocidade digital.

Estou alterando isso para ficar tudo dentro de uma IHM e como controlador um Arduino UNO.

Veja que a velocidade não depende do diâmetro da bobina pois a velocidade é linear.

O contra metros também é linear e não depende do diâmetro.

Tens alguma ideia???

Se há uma maneira de transformar velocidade de rotação em velocidade linear sem entrar em linha de conta com o diâmetro eu não sei qual é.
O sensor não é rotativo? (ou vi mal?)
Onde é que o sensor está instalado? (no tambor por baixo que está em contacto com as bobinas, talvez?)

O sensor que conta o metro sera um encoder rotativo de 500 pulsos.

A velocidade sera calculada por este encoder tambem.

Penso em calcular a velocidade pela frequencia dos pulsos.

Falta responder a outra das questões:

luisilva: (...) Onde é que o sensor está instalado? (no tambor por baixo que está em contacto com as bobinas, talvez?)

O sensor esta instalado na parte de tras da maquina e fica em cima do material pois tem uma roda de perimetro de 310 mm. Nao da pra ver no video ela.

Já deu mais dois dados que até agora ainda não tinha mencionado: - sensor rotativo e 500 pulsos; - sensor fica em cima do material acoplado a uma roda de 310mm.

Sendo assim, imagino que quando fala em 500 pulsos sejam 500 pulsos por volta. Sabendo que o diâmetro da roda são 310mm, o seu perímetro será 310 x PI, ou seja, 973,89mm. Então, a cada pulso o filme se deslocará 973,89 / 500, ou, 1,95mm. A partir daqui, pode calcular tanto o comprimento do filme (contanto o número de pulsos e multiplicando por 1,95mm), como a velocidade (medindo o tempo entre dois pulsos consecutivos e dividindo 1,95 por esse valor).

Ok sem problema. Lembrando que eu ja disse que o perimetro é de 310 mm entao nao preciso calcular nada, apenas a metragem final. Com respeito a velocidade achei interessante a sua opniao sobre calcular a quantidade de pulsos por um tempo e com isso eu ja sei a distancia que ele esta percorrendo em um minuto. Estou querendo fazer o calculo a cada 1 segundo e depois fazer as contas para ter MPM, o que achas?

Não sei porquê, mas no seu post anterior, em vez de perímetro li diâmetro. Se tem uma roda com um perímetro fixo é mais fácil, pois não precisa de fazer contas usando o valor de PI, que não é um valor certo. Se a roda tem 310mm de perímetro, e o sensor dá 500 pulsos por volta, por cada pulso o filme desloca-se 0,62mm (parece-me também uma precisão bastante boa).
Em relação à velocidade, basicamente tem duas hipóteses:

  • ou durante um tempo determinado mede o número de pulso que é dado;
  • ou então, mede o tempo entre dois pulsos.

Se usar a 1ª hipótese, sim, pode utilizar por exemplo 1 segundo, e fazer a conversão para outra unidade (por exemplo minuto).

À primeira vista (e pegando no que disse no seu primeiro post), eu utilizaria o 2º método, activaria a interrupção e ligaria o sensor a essa entrada de interrupção, depois apenas seria necessário “medir o tempo” entre duas activações consecutivas da entrada de interrupção (usando as funções millis ou micros).

Muito bom.

Eu vou começar a montar a logica amanha e assim que estiver pronta e testada eu publico aqui assim tu poderas também opniar em algo para poder melhorar, o que achas?