Neste artigo você vai aprender a montar e testar um sistema pêndulo-hélice, para ser usado em experimentos físicos e também testes de loops de controle. É um ótimo “brinquedo” para feiras de ciências e mostras de nível médio e superior, e pode servir de base de testes até para trabalhos científicos!. A imagem abaixo ilustra o experimento.

sistema mecanico pendulo-helice

Fonte: universidade do Arizona

   O sistema consiste basicamente de um pêndulo formado por um eixo (potenciômetro) e uma “barra” (palito de churrasco); na ponta da barra está preso um motor DC acoplado à uma hélice (motor de quadcóptero). O objetivo/funcionamento físico do projeto é de equilibrar o pêndulo em uma posição escolhida pelo usuário; faz-se uso da força gerada pela hélice do motor para atingir e manter tal posição.

   Neste artigo eu vou repassar todas as informações necessárias para você montar seu próprio sistema pêndulo-hélice. Como eu sei que vocês são curiosos segue o vídeo do sistema funcionando, já com todas as explicações de detalhes.

   Começe pela lista de materiais completa, abaixo. Observe que a maioria das coisas são de fácil obtenção, exceto talvez o motor de quadcóptero (eu comprei o meu na SeeedStudio, mas tem no Aliexpress e no eBay também):

  • Um motor de quadcóptero pequeno (Eu uso o mesmo do quadcóptero Crazyflie Nano 1.0, datasheet aqui)

Motor crazyflie

Fonte: Elektor Online

  • Um Arduino UNO (mas pode ser qualquer microcontrolador que tenha duas entradas analógicas e uma saída PWM)

Fritzen UM Arduino UNo

Fonte: MercadoLivre/FritzenLab

  • Dois potenciômetros (pode ser logarítmico ou linear, tanto faz) de qualquer valor (eu estou usando de 10k ohm)

Potenciometro logaritmico

Fonte: MercadoLivre/FritzenLab

  • Uma fonte de 3,3V/2A (para o motor) e uma fonte de 5V/1A para o Arduino. Eu usei uma fonte 9V para o Arduino e um regulador de 3,3V para o motor.

fonte 9V

Fonte: Techmount

regulador step-down 3,3V

Fonte: HobbyTronics

 

  • Um mosfet de qualquer modelo (mas que possa ser ativado com os 5V do Arduino). Eu uso o IRF3415 que tenho no laboratório.

Mosfet IRF3415

Fonte: Electronic Goldmine

  • Um palito de churrasco (tamanho 18 cm)

Palito de churrasco

Fonte: Santa Marta festas

  • Uma base para manter o sistema “longe” do chão (eu uso uma lata pequena de sardinha, VAZIA!!)

lata metálica de sardinha

Fonte: Tenda Drive

  • Uma base para abrigar todos os componentes do sistema (eu uso um pedaço de madeira)

Madeira de forro

Fonte: Santos madeiras

  • Cabos para conexões elétricas diversas (jumper wires)

cabos jumper para protoboard

Fonte: MercadoLivre/FritzenLab

  • Parafusos/cola para fixas as parte mecânicas no lugar (eu usei cola de cano!)

cola para canos pvc

Fonte: Leroy Merlin

  • Cabo USB para conectar o Arduino ao computador
  • Computador com a IDE do Arduino instalada

 

O diagrama esquemático do sistema é visto abaixo. Observe que o motor/hélice é alimentado em 3,3V, gerados por aquela placa vermelha (a partir dos 5V disponíveis para o Arduino).

 

diagrama esquematico sistema pendulo-helice

 

Com os materiais em mãos, prossiga para os passos de montagem do conjunto (veja imagens):

  • Fure a base (lata de sardinha) com diâmetro suficiente para passar o eixo do potenciômetro. Insira o potenciômetro no furo e aperte a porca (que vem junto com o potenciômetro) para mante-lo bem fixo.

potenciometro fixado em lata de sardinha

  • Fixe a lata de sardinha na base de madeira. Basta fazer um ou dois furos na base da lata e também na madeira, afim de passar parafusos por ali.

detalhe da fixação da lata na base de madeira

  • Cole o palito de churrasco na ponta do eixo do potenciômetro, utilizando cola de cano PVC.

colar palito de churrasco no eixo do potenciômetro

  • Encaixe o motor na base plástica; prenda a base plástica na ponta do palito de churrasco. Alternativamente você pode colar o motor diretamente no palito de churrasco.

fixação do motor na ponta do palito de churrasco

  • Prenda seu Arduino, o mosfet e o regulador de tensão na base de madeira. Utilize parafusos ou fita dupla-face.

fixação do arduino na base de madeira

  • Solde fios mais compridos nos terminais do motor. prenda estes fios ao longo do palito de churrasco com fita isolante, até chegar ao mosfet.

fios do motor fixados no palito de churrasco

  • Faça o restante das conexões elétricas: ligar e ajustar/prender os potenciômetros de referencia e feedback.

conexões elétricas no arduino

   Com a montagem feita você fazer o upload do código de controle para seu Arduino. Eu utilizo um conversor usb-serial conectado ao computador e a IDE oficial do Arduino. O código está disponível na nossa página oficial no GitHub, e também é visto abaixo.

A primeira e mais básica implementação do controle é um liga-desliga, como visto no vídeo acima:

 


A outra implementação possível (e também vista no vídeo) é de um controle PID, que torna o sistema mais “suave” e mais preciso:

   Qualquer dos dois códigos vai funcionar no controle do sistema, porém uma limitação tem que ser observada e corrigida antes de colocar os códigos no Arduino: os valores máximos e mínimos de “posição” resistência dos potenciômetro de feedback tem que ser conferidos e inseridos no sistema.

   No meu caso o potenciômetro é de 10k ohms, e as resistências mínimas e máximas são 3,77k ohm e  6,34k ohm, representando 37,8% e 63,5% do curso do potenciômetro. Este valor tem que ser correlacionado com o fundo de escala da entrada analógica do Arduino, que é 1024 unidades. Os valores encontrados (e que devem ser colocados nos códigos nas posições indicadas abaixo) são 387 (37,8% de 1024) e 650 (63,5% de 1024).

calibracao valores potenciometro feedback

No caso do código “liga-desliga” os limites 387 e 650 devem ser colocados nesta linha:

Já no caso do código PID os limites 387 e 650 devem ser colocados nesta linha:

   Ajustando os valores acima e gravando o código no Arduino você já será capaz de ver o sistema funcionando. Um cuidado que você deve ter ao manusear este sistema é com a hélice, pois é um objeto que está rodando á grandes velocidades e pode machucar.

   Para efeito de comparação de resultados, eu plotei alguns gráficos da resposta do circuito utilizando o controle PID e ajustando diferentes ganhos. Utilizei o próprio Serial plotter da IDE do Arduino!. A linha azul é a referência desejada e a linha laranja é a resposta no eixo do potenciômetro.

ajuste-ganho-pid-pendulo-helice-4-todos-igual-1

ajuste-ganho-pid-pendulo-helice

ajuste-ganho-pid-pendulo-helice-2-abaixados-todos-os-ganhos

ajuste-ganho-pid-pendulo-helice-3-abaixado-kd

   Observe que no primeiro gráfico os ganhos PID eram todos um (1) e a resposta não é das melhores. O melhor dos ganhos que eu encontrei foram os da última figura (Kp= 1,5 Ki= 2,0 e Kd=0,1); porém ainda pode melhorar, observe como a linha laranja estabiliza rapidamente porém fica muito tempo longe da referência desejada (azul).

   Os próximos passos é você quem define, depende da sua criatividade. O sistema pêndulo-hélice é apenas mais um experimento físico, e como tal pode ser adaptado e construído da forma que o autor desejar; afinal é ciência básica!. Deixo abaixo mais um vídeo que fiz com o sistema funcionando no modo liga-desliga:


   Alguns dos materiais mostrados neste tutorial estão disponíveis no nosso parceiro ICStation, que é uma loja virtual de componentes e peças eletrônicas. Vem da China e demora uns 20-30 para chegar, e normalmente vem sem imposto!. Clique aqui para conhecer 🙂


Dados sobre o motor utilizado:

– Usado no Crazyflie nano 1.0:
– Velocidade: 12000kV (12000kV * 3,7V = 44400 RPM)
– Tensão: 4,2V
– Corrente: 0,81A em 4,2V
– Info completa sobre o motor aqui: https://wiki.bitcraze.io/projects:crazyflie:hardware:explained


Referências bibliográficas:

  • Info sobre pendulo-helice: http://www2.vernier.com/sample_labs/EPV-11-propeller.pdf
    http://www.instructables.com/id/Propeller-Driven-Pendulum-1/
    https://www.ijert.org/view-pdf/14598/stabilization-of-a-propeller—driven-pendulum

 

  • Controle PID para pêndulo-hélice: https://www.researchgate.net/publication/221057247_A_New_Approach_to_Control_a_Driven_Pendulum_with_PID_Method
Sistema pêndulo + hélice para experimentos físicos

12 ideias sobre “Sistema pêndulo + hélice para experimentos físicos

  • Pingback: Helicopter Pendulum is PID-licious | Hackaday

  • Pingback: Helicopter Pendulum is PID-licious - Insord

  • Pingback: Helicopter Pendulum is PID-licious

  • novembro 24, 2016 em 12:40 am
    Permalink

    Top esse projeto em, será que consigo tirar umas duvidas com voce por email?

    Resposta
    • novembro 24, 2016 em 12:43 am
      Permalink

      Olá Marcelo,

      Prefiro que seja por aqui nos comentários. Mas se você quiser o meu e-mail está na seção “O que é Fritzenlab?” na parte superior da página.

      Resposta
  • novembro 24, 2016 em 11:09 pm
    Permalink

    Queria saber se consigo comprar com vc um projeto desse já montado e funcionando, me da um alô no meu e-mail ai. “marceloasw2010@hotmail.com”. Valew.

    Resposta
    • novembro 26, 2016 em 3:33 pm
      Permalink

      Olá Marcelo. Procure o meu e-mail de contato no link “O que é FritzenLab” na parte superior do blog

      Resposta
      • novembro 28, 2016 em 6:07 pm
        Permalink

        Peço desculpas pela minha ignorância mas não encontro seu e-mail de contato. Me mande uma mensagem qualquer no meu e-mail para que possamos conversar. Obrigado e aguardo seu contato.

        Resposta
  • novembro 30, 2016 em 12:18 pm
    Permalink

    Interessante!
    Um dia ainda faço esse “brinquedinho”! Vlw!

    Resposta
  • dezembro 8, 2016 em 11:43 pm
    Permalink

    Boa noite,
    Aqui, consegui montar o esquema mas não rodou bacana.
    No código Liga/Desliga o motor rodou muito pouco e não conseguiu suspender a vareta. Será que pode ser minha fonte, usei uma de 12v/0,5A.
    E o código PID não funcionou, deu erro na hora de verificar:
    fatal error: PID_v1.h: No such file or directory
    #include
    esse erro é por que eu não tenho a biblioteca PID no arduino? Tem que baixar algum arquivo?
    O que tenho que fazer?16+

    Resposta
    • março 24, 2017 em 12:46 am
      Permalink

      Sim, você precisa baixar a biblioteca. É só jogar PID_v1.h no Google que você a encontra.

      Resposta
  • março 24, 2017 em 12:45 am
    Permalink

    Amigo, peguei o código pra PID, mas na serial monitor tá aparecendo erros, não os valores lidos, como se tivesse lixo de memória, algo do tipo “yyyyyyyyyyyyy”

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solve : *
3 + 2 =