Configuración de un controlador PID en Simulink para un proyecto de ejemplo Arduino

0

En Internet encontré esto " PID de Arduino Ejemplo Lab "como introducción a PID-contole. Configuré el hardware y está funcionando como se describe en el documento. YaqueesposibleconectarSimulinkconelArduinocomosemuestra aquí , sería bueno simular el control PID en Simulink. El paquete de soporte necesario para Arduino se publica aquí . Después de simular el control, se podría conectar al Arduino para cambiar el parámetro mientras se ejecuta. Logré conectar el arduino (lectura de valores analógicos / digitales) y señales digitales enviadas (PWM). El principal problema es acerca de la configuración del PID:

  

\ $ u (t) = MV (t) = K_pe (t) + K_i \ int_o ^ t \! e (\ tau) d \ tau * K_d \ frac {d} {dt} e (t) \ $

     

src: Laboratorio de ejemplo PID de Arduino (1.1)

Y para hacerlo compatible con la entrada analógica y la salida PWM a la placa. Hasta ahora esto es lo que tengo

Actualizacióndeestado:

    
pregunta kimliv

1 respuesta

1

La filosofía detrás de un controlador PID (PID significa Derivado Integral Proporcional) es que usa la diferencia entre la salida de su sistema y la salida deseada para generar una entrada correctiva.

e (t) sería igual a la diferencia entre el punto de ajuste y la señal medida, es decir, e (t) = punto de ajuste - señal medida (t). Luego solo aplica la fórmula, dentro de su bloque PID digital. El derivado es opcional, si tiene una forma de obtenerlo, utilícelo en su PID. Si no, no es un gran problema. Deberíaobteneralgosimilaralaimagendearriba,necesitaráelbloque"Ganancia", el bloque "Integrador" y la suma. El error es la entrada, la salida es la entrada de control para el Arduino.

Kp y Ki se obtienen más fácilmente empíricamente, a través de la sintonización manual. Simplemente comience con un Kp pequeño y auméntelo hasta que la respuesta parezca aceptable. Ki se utiliza para eliminar cualquier desplazamiento que tenga en la salida, pero ralentiza la respuesta del sistema. Nuevamente, lo sintonizas manualmente, comenzando con un pequeño Ki. Si lo desea, puede probar el método Ziegler Nichols ( enlace )

    
respondido por el openTankist

Lea otras preguntas en las etiquetas