Skip to content

alexpastor121-code/temp_pi_controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

temp_pi_controller — Control PI con Arduino (demo rápida)

Objetivo: demostrar nociones de C/C++, adquisición analógica y control básico implementando un PI que regula una “temperatura” simulada (potenciómetro o NTC) actuando vía PWM (ventilador/resistencia a través de MOSFET).

Hardware mínimo

  • Arduino UNO/Nano (o compatible).
  • Entrada analógica: potenciómetro (simula sensor) o NTC en divisor resistivo.
  • Salida PWM: pin con PWM a MOSFET + carga (ventilador/resistencia). Si no tienes hardware, puedes observar el PWM sin carga.
  • Alimentación y masa comunes, ESD y cableado seguro.

Cableado (ejemplo)

  • A0 → cursor de potenciómetro (extremos a 5V y GND).
  • D9 → puerta de MOSFET (con resistencia serie 100–220 Ω). Drenaje a carga, fuente a GND. Carga a +V.
  • GND común entre sensor y actuador.

Sketch

El archivo temp_pi_controller.ino implementa:

  • Lectura analógica en A0 (0–1023) como “temperatura”.
  • Control PI con saturación de PWM (0–255).
  • Log por serie a 115200 baudios con raw, error y pwm.

Cómo usar

  1. Abre el sketch en Arduino IDE, selecciona la placa/puerto y sube.
  2. Abre el Monitor Serie a 115200.
  3. Mueve el potenciómetro: verás raw, error, pwm evolucionar. Ajusta Kp/Ki si deseas.
  4. (Opcional) Con Python puedes graficar el log pegado desde el monitor serie.

Ajustes y estabilidad

  • Empieza con Kp = 0.8, Ki = 0.05. Sube/baja hasta lograr respuesta suave sin oscilación.
  • setpoint se expresa en unidades ADC (0–1023). Cambia a unidades físicas si calibras una NTC.
  • Añade anti-windup limitando el integrador si llevas el montaje más allá de la demo.

Seguridad

  • Si conectas una carga real, usa MOSFET y disipación adecuados; revisa corrientes y potencias.
  • Mantén masas y retornos cortos; añade diodo de flyback para cargas inductivas.

Licencia

MIT — Úsalo como base para tu portfolio.

About

Arduino PI controller: analog read + PWM output with serial logging

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages