He visto dos controladores PID digitales diferentes hasta ahora y no sé cuál debería preferirse para controlar la velocidad de un motor de CC.
1.) out = out_last + Kp err + Ki sum_err + Kd (err-err_last)
2.) out = Kp err + Ki sum_err + Kd * (err-err_last)
El primero parece ser muy lento para una señal de referencia variable, pero logra un buen control de velocidad. El segundo no puedo estabilizarlo.
¿Cuál debería ser el preferido en la implementación de un controlador de velocidad en una unidad de control de datos?
Editar: encontré un nuevo enfoque para el control de velocidad desde aquí: enlace
¿Puedo implementar esto en una uC en la forma: $$ out_n = K_p * e_n + K_v * (e_n - e_ {n-1}) + K_a * ((e_n-e_ {n-1}) - (e_ {n-1} -e_ {n-2})) $$
Donde en el último término se cancela $$ e_ {n-1} $$. O, ¿cómo debo implementar la segunda derivada en un uC?