ZENIT — Código vs. Gravidade
Projeto de feira de ciências que une física e programação com um controlador PID para estabilizar um sistema instável. Abaixo você pode testar um simulador simples ajustando Kp, Ki e Kd.
🎛️ Demonstração interativa (simulador)
Objetivo: manter a bolinha no centro (setpoint = 0). A barra representa um trilho 1D; o PID aplica força para corrigir a posição. O gráfico abaixo mostra o comportamento da posição ao longo do tempo.
Modelo 1D simplificado (massa m=1, atrito leve). Dica: aumente Kd para reduzir overshoot; suba Ki devagar para remover erro final.
📐 O que é PID?
Controlador Proporcional–Integral–Derivativo que corrige um erro e(t) = setpoint − medida em tempo real.
- P — corrige proporcionalmente ao erro (resposta forte/rápida).
- I — corrige erro acumulado (remove erro estacionário).
- D — reage à tendência (amortece overshoot/oscilações).
Lei de controle: u(t) = Kp·e + Ki∫e dt + Kd·de/dt
Tuning rápido
- Comece com Ki = 0 e Kd = 0.
- Suba Kp até quase oscilar.
- Adicione Kd para amortecer.
- Adicione Ki aos poucos para zerar o erro final.
🧩 Projeto (hardware)
BOM (componentes)
| Item | Qtd. | Notas |
|---|---|---|
| Arduino Uno (ou compatível) | 1 | Controle em tempo real |
| Sensores Sharp IR analógicos (GP2Y0A21 / GP2Y0A02) | 2 / 4 | Leitura de posição |
| Servo Futaba S3003 | 1 / 2 | Atuação (inclinação) |
| Fonte 5V externa | 1 | ≥ 1A (V1) / 2–3A (V2) |
| Protoboard, jumpers, capacitor 100–470 µF | — | Estabilização de alimentação |
Ligações rápidas (V1—1D)
- Sensores: VCC→5V | GND→GND | OUT→A0/A1
- Servo: vermelho→5V (fonte externa), marrom/preto→GND (comum), laranja→D9
- Alimente servos com fonte externa e una os GNDs.
Código (Arduino)
Veja o README no GitHub para o sketch PID 1D e dicas de afinação.
📊 Resultados & métricas
- Overshoot (%): quanto passa do centro.
- Tempo de acomodação (s): tempo para estabilizar (±5%).
- Erro estacionário: desvio final do setpoint.
- Frequência de amostragem (Hz): taxa do loop de controle.
Dica: registre os dados via Serial e gere um CSV para plotar os gráficos.
🖼️ Galeria
📄 Documentos
Os links abaixo são exemplos. Substitua-os pelos caminhos para os seus ficheiros reais.
👥 Equipe & Créditos
Autor: Emanuel (IFFar) • Projeto: ZENIT — PID Balance • Agradecimentos: colegas, orientação e banca avaliadora.