Como fazer a medição de ângulos com a plataforma arduino?

Boa tarde!!

Estou automatizando um experimento de física chamado plano inclinado com o uso do arduino. Ele se baseia na medição da velocidade em relação ao angulo de inclinação do plano que o móvel está.

Esse é o modelo bruto, falta colocar algumas estruturas, sensores e atuadores. Minha dúvida é a seguinte, qual sensor posso usar para medir a angulação desse plano (esse que está no meio)? Qual valores esse sensor me retornará?

As medições serão quase que constantes e esse plano se movimentará frequentemente transitando de 0º até ~60º e é um Nema 17 que se encarregará dessa movimentação. Na fase de montagem posso colocar esse módulo em qualquer lugar (da parte debaixo do plano) ou tem um lugar específico?

Estava pensando em usar o acelerômetro MPU6050, mas ainda não sei... Após indicar o sensor, peço para que (se possível) enviem algum programa ou link de programa que tenha um uso similar ao meu. Outro ponto é que o sensor não pode ser MUITO CARO, sendo assim, não tem problema se o mesmo errar uns 2º. Em certos momentos preciso mostrar ao usuário qual é a atual angulação do plano.

Desde já agradeço a atenção!!

Exibições: 2208

Responder esta

Respostas a este tópico

Boa tarde PS,

este plano inclinado vai girar com um eixo. Correto.

Eu simplificaria o projeto colocando um potenciômetro fixado neste eixo.

Ao girar o plano, o eixo variaria a resistência do potenciômetro.

Usando um Arduíno e ligando um lado do potenciômetro em +5V , o outro  em Gnd, e ligando

o centro em uma entrada analógica.

Ajusta o calculo dos valores lidos para os ângulos.

RV

Eu também gostaria de fazer isso kkk, mas pretendo por esse projeto para frente e utilizá-lo como tcc ano que vem, então tenho que montar algo mais bem planejado.

Então use um encoder absoluto no lugar do potenciômetro..

É muito preciso.

RV

Entendi... Uma pergunta, o encoder tem um valor fixo para cada posição de rotação? ou ele tem rotação contínua? O potenciômetro varia de 0- 1023 e numa determinada posição x sempre retornará um resultado y. Caso o encoder não tenha esse funcionamento eu não consigo utilizar. visto que se o projeto for desligado inesperadamente numa posição de 45º, ao iniciar ele não saberá que está nessa posição e fará tudo pensando que está na sua posição inicial (0º), o que certamente é um problema.

Pesquise sobre encoder absoluto.

RV

Boa noite Pedro, 

Baseando-me que pretende usar um Motor de passo Nema 17, podemos fazer algumas observações. 

(Se fizer um direct drive do motor com a sua rampa):

  • Esse motor tem 200 passos/volta, isto é cada passo tem 1,8 graus. Portanto a variação dos graus, já não vai ser unitária. 
  • Você poderia usar os modos de micro-passo, mas nesse caso perderá torque. Não sei qual o peso da sua rampa. 
  • Se desligar a energia do motor, a rampa poderá se movimentar. 

No seu caso, recomendo usar um motor de passo com redução (como o 28BYJ-48). Pois dessa forma, terá uma precisão muito maior. Quando desligar a energia do motor, dificilmente a rampa poderá se movimentar. 

http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Tutorial Arduino - Motor de passo NEMA 17 + driver A4988 por José Gustavo Abreu Murta

https://jgamblog.wordpress.com/2016/09/24/tutorial-arduino-drv8825-...

Boa noite, sobre o motor, vou usar ele com o drive A4988 e programá-lo usando a função half-step, terei ~2.8 kgf de torque, o que já é suficiente... Por ser um projeto escolar, a mesma que me disponibilizará este motor, o que inviabiliza a troca de modelo

Ok, 

Recomendo a leitura completa do meu tutorial. 

Tutorial Arduino - Motor de passo NEMA 17 + driver A4988 por José Gustavo Abreu Murta

Muita atenção nas minhas recomendações :

Recomendações Importantes antes de usar o seu módulo A4988 !

                 (para evitar danificá-lo) 

- Esse módulo foi feito para motores de passo Bipolar, não use um motor unipolar.

( exceto se o motor Unipolar puder ser usado no modo Bipolar)

- Antes de fazer a conexão dos fios das bobinas do motor, certifique-se que a identificação dos fios esta correta. Recomendo que meça o valor da resistência das bobinas.

- Use um motor que se encaixe nas especificações do módulo - tensão máxima 35V e corrente máxima de 2 A.

- Se estiver usando duas fontes separadas, alimente primeiramente a fonte de 5V e depois a de 12V.

- Conecte os fios das bobinas, antes de alimentar o módulo. 

- Não desconecte os fios da bobina, quando o módulo estiver energizado. 

- Se o módulo tiver aquecendo muito, cole o dissipador no chip. 

E ajuste a corrente do A4988 de acordo com as especificações do seu motor:

http://labdegaragem.com/forum/topics/tutorial-arduino-motor-de-pass...

Entendi!! Muito obrigado José!

O mais indicado seria usar Encoders absolutos. Mas custam mais de mil reais cada. 

Monte um encoder com potenciômetro, como o Rui indicou. 

E depois avalie os resultados. 

Sobre usar o MPU6050, tem inúmeros tutoriais na web.

Não sei se as leituras são estáveis. 

Andei pesquisando e encontrei que o ângulo dele vai ser arctg(x)=(ay/az), que são os valores retornados pelo acelerômetro, mas ainda assim estou meio desconfiado. De qualquer maneira, muito obrigado!!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço