Integração do Sistema

Requisitos Gerais

O sistema de controlo do aeropêndulo deve integrar, de forma coerente e segura, os seguintes elementos:

  • Projeto mecânico: estrutura física do pêndulo, montagem do motor, hélice e sensor no braço rotativo, fixação estável à base.

  • Projeto elétrico: ligação da fonte de alimentação, motor, driver, sensor e microcontrolador, garantindo compatibilidade de tensões e correntes.

  • Projeto de controlo: definição do algoritmo de estabilização (Bang-Bang, PID ou LQR) e respetiva implementação em tempo real.

  • Projeto de software: programação em Arduino IDE (C/C++), com leitura de sensores, execução periódica do controlo e comando ao atuador.

  • Desenvolvimento e testes: verificação faseada, primeiro em simulação, depois com módulos isolados, e finalmente no sistema integrado.

  • Documentação: registo dos esquemas, código, parâmetros e resultados experimentais.


Componentes Típicos

  • Microcontrolador: Arduino Uno, Nano ou Mega.

  • Sensor de ângulo: encoder magnético (ex.: AS5600 via I²C).

  • Atuador: motor DC com hélice, comandado por um driver (ex.: L298N ou TB6612FNG).

  • Fonte de alimentação: adequada às especificações do motor e do controlador (tipicamente 3,3–5 V para lógica e 3–6 V para motor).

  • Materiais auxiliares: cabos, resistências, breadboard ou PCB, e elementos de fixação mecânica.


Passos de Integração

  1. Validação individual de módulos

    • Testar o sensor: confirmar leituras coerentes de ângulo ao rodar manualmente o pêndulo.

    • Testar o driver: verificar resposta do motor a sinais PWM simples.

    • Testar a fonte: confirmar tensões e correntes fornecidas.

  2. Integração elétrica

    • Garantir massa comum entre todos os módulos.

    • Confirmar tensões de alimentação (3,3 V/5 V para lógica, tensão adequada ao motor no driver).

    • Usar cabos curtos e ligações firmes para evitar ruído.

  3. Integração de software

    • Programar aquisição periódica de dados do sensor (I²C).

    • Implementar ciclo de controlo no loop() com temporização via millis() ou timer (tipicamente 100 Hz).

    • Comandar o driver via analogWrite() (PWM) para regular a velocidade da hélice.

  4. Integração mecânica

    • Montar o motor e o sensor no braço do pêndulo de forma rígida, evitando folgas.

    • Proteger a hélice para segurança durante os ensaios.

  5. Testes de sistema

    • Ensaiar primeiro com ganhos baixos no controlador, aumentando progressivamente.

    • Registar leituras de ângulo, sinais de controlo e resposta do pêndulo.

    • Ajustar parâmetros do controlador até alcançar estabilização.


Cuidados a Ter

  • Compatibilidade elétrica: nunca alimentar o sensor com tensão superior à recomendada (ex.: AS5600 funciona apenas a 3,3 V).

  • Corrente do motor: evitar correntes de arranque ou bloqueio elevadas que possam danificar o driver.

  • Atrasos no ciclo de controlo: manter a frequência de execução constante; não usar delay() no loop().

  • Segurança física: trabalhar sempre com proteções na hélice e desligar a fonte de alimentação antes de alterar a montagem.


Da Simulação à Implementação

Antes da integração, o comportamento do pêndulo deve ser explorado em simulação, ajustando e comparando diferentes controladores.
Posteriormente, a lógica de controlo validada é portada para Arduino:
  1. Isolar a função de controlo no código Python (entrada = ângulo, saída = comando motor).

  2. Reescrever em C/C++ para Arduino, respeitando limites de tempo de execução e memória.

  3. Substituir as interfaces simuladas por leituras reais do sensor e comandos reais para o driver.

  4. Garantir execução periódica estável com millis() ou interrupções de temporizador.

  5. Voltar a ajustar os ganhos com base no comportamento físico real.