Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe Controlador de Posición
Informe Controlador de Posición
jairo.guevara@unillanos.edu.co 1
ricardo.mahecha@unillanos.edu.co 2
marcelo.bolivar@unillanos.edu.co 3
.^(1,2,3)Estudiantes de Ingeniería Electrónica, Universidad de los Llanos.
Resumen
En el presente informe se procedió a diseñar e implementar un controlador PID para un sistema de control de posición
angular de un motorreductor DC; Se usó un microcontrolador Arduino y un puente H L298N, cuya función era ejecutar
la señal de modulación de ancho de pulso (PWM). El código implementado generaba la señal PWM usando los
algoritmos de sintonización PID, con el cual los errores se disminuyeron y las oscilaciones de error eran muy bajas.
Finalmente el controlador se implementó en el software labVIEW, el cual enviaba la señal para controlar el motor en
tiempo real mediante el microcontrolador arduino, al mismo tiempo que iba graficando la respuesta de salida de la
posición actual del motor, en la cual se pudo observar como la curva de respuesta de la salida (Grados vs Tiempo) se
aproximaba a la posición deseada
Palabras clave: Controlador PID , control de posición, modulación de ancho de pulso, motor DC.
𝑁 𝑁 (𝑧−1)
1+𝑁𝑇𝑠/(𝑧−1)
ó 𝑧−1+𝑁𝑇𝑠
(7)
𝐾𝑖 𝑇𝑠 𝑧
(5)
𝑧−1
kp,kd y ki con el fin de proceder a realizar el
algoritmo en arduino para el controlador PID
discreto.
Imagen 12. Dirección del Setpoint del Motor.. Imagen 14. Primera Parte del Controlador.
Esta parte del código está destinada a saber la Primero se pone una condición la cual es si esta
posición del setpoint, puesto que el controlador llegando un valor desde el puerto serial, el cual está
hace que este rebote antes de estabilizarse, se desea conectado y recibiendo información de labview,
saber esta oscilación, con ello se incrementa un este valor que llega es el valor del setpoint
valor de contador cada vez que el encoder se requerido, este valor posteriormente se guarda en
mueva para adelante o decrementa cuando se una variable string temporal, para ser convertida a
float, la variable temp2 sirve para almacenar el
mueva para atrás.
último valor recibido, ya que al recibir strings el
último valor es un cero.
IV. Conclusiones
V. Referencias