¿Cómo implementaría un controlador PID (código) en un microcontrolador?
Eche un vistazo a la respuesta de Omkar para la teoría detrás del algoritmo de control PID. Incluso le han dado un pseudocódigo. Te sugiero que escribas el código por tu cuenta.
Como Amogh ha dicho que usar Arduino hace las cosas muy simples. Puedes usar la biblioteca.
- Cómo convertirse en un geek de sistemas embebidos
- ¿Cuál es un mejor instituto para hacer incrustado?
- En la programación en C, especialmente en la programación de sistemas integrados, ¿por qué el desarrollador necesita una operación atómica cuando se usa?
- ¿Cuáles son las ventajas de usar el microcontrolador 8051?
- En el sistema integrado, ¿cuál es la diferencia entre la comunicación síncrona / asíncrona? ¿Es la ausencia de las señales del reloj?
Si está usando Matlab, hay un controlador PID incorporado incluso en eso. Está presente en 2012b, no estoy seguro acerca de las versiones inferiores.
Como el controlador PID no es genérico, deberá codificarlo según sus especificaciones. Por lo tanto, no será fácil encontrar el código que más le convenga. Pero efectivamente, esto es lo que tendrá que codificar.
Error = Punto de ajuste – Actual
Integral = Integral + (Error * dt)
Derivada = (Error – Error_ anterior) / dt
Unidad = (Error * kP) + (Integral * kI) + (Derivado * kD)
Previous_error = Error
espera (dt)