Documentos de Académico
Documentos de Profesional
Documentos de Cultura
REPORTE
Practica 3:
Implementar un controlador PID para un sistema de posicin
angular
Integrantes:
Espinoza Lpez Roberto Adrin
Macas Espinoza Daniel Antonio
De la Torre Martnez Alberto
Carrera:
Ingeniera Mecatrnica
Materia:
Control Digital
Nombre del profesor:
Flores Torres Vctor
Centro de Enseanza Tcnica Industrial
Plantel: Colomos
Turno: Vespertino
10310114
10310228
10310097
REPORTE
Introduccin:
Los miembros de la familia de controladores PID, incluyen tres acciones: proporcional (P),
integral (I) y derivativa (D). Estos controladores son los denominados P, I, PI, PD y PID.
El controlador PID (Proporcional, Integral y Derivativo) es un controlador realimentado cuyo
propsito es hacer que el error en estado estacionario, entre la seal de referencia y la seal de
salida de la planta, sea cero de manera asinttica en el tiempo, lo que se logra mediante el uso
de la accin integral. Adems el controlador tiene la capacidad de anticipar el futuro a travs
de la accin derivativa que tiene un efecto predictivo sobre la salida del proceso.
Los controladores PID son suficientes para resolver el problema de control de muchas
aplicaciones en la industria, particularmente cuando la dinmica del proceso lo permite (en
general procesos que pueden ser descritos por dinmicas de primer y segundo orden) y los
requerimientos de desempeo son modestos (generalmente limitados a especificaciones del
comportamiento del error en estado estacionario y una rpida respuesta a cambios en la seal
de referencia).
P: accin de control proporcional, da una salida del controlador que es proporcional al
error, es decir u(t) = Kpe(t), que descripta desde su funcin transferencia queda Cp(s) =
Kp, donde Kp es una ganancia proporcional ajustable. Un controlador proporcional puede
controlar cualquier planta estable, pero posee desempeo limitado y error en rgimen
permanente (off-set).
I: Accin de control integral da una salida del controlador que es proporcional al error
acumulado, lo que implica que es un modo de controlar lento.
La seal de control u(t) tiene un valor diferente de cero cuando la seal de error e(t) es
cero. Por lo que se concluye que dada una referencia constante, o perturbaciones, el
error en rgimen permanente es cero.
PD: accin de control proporcional-derivativa, se define mediante:
REPORTE
Donde Td es una constante de denominada tiempo derivativo. Esta accin tiene carcter
de previsin, lo que hace ms rpida la accin de control, aunque tiene la desventaja
importante que amplifica las seales de ruido y puede provocar saturacin en el
actuador. La accin de control derivativa nunca se utiliza por s sola, debido a que solo
es eficaz durante periodos transitorios. La funcin transferencia de un controlador PD
resulta:
REPORTE
Objetivo general:
El alumno implementar un controlador digital PID para un sistema de
posicin angular.
Objetivos particulares:
Material Utilizado
Cdigo
1. int SetPin=0;
2. int SensorPin=1;
3. double Setpoint, Input, Output;
4. double ti=0.353,td=0.153,k=0.6;
REPORTE
5. double sp,m0=0,m1=0,e0=0,e1=0,e2=0;
6. void pid()
7. {
8. double kp,ki,kd,salida_pid,ts=0.1;
9. Input= analogRead(SensorPin);
10. Setpoint= analogRead(SetPin);
11. e0=Input-SetPoint;
12. kp=k-((k*ts)/(2*ti));
13. ki=k*ts/ti;
14. kd=k*td/ts;
15. m0=m1+kp*(e0-e1)+(ki*e0)+kd*(e0-2*e1+e2);
16. e2=e1;
17. e1=e0;
18. m1=m0;
19. if ((m0>255)) {
20. m0=255;
21. m1=0;
22. salida_pid=255;
23. }
24. if ((m0)<-255){
25. m0=-255;
26. m1=0;
27. salida_pid=-255;
28. }
29. Output=salida_pid;
30. }
31. void setup()
32. {
33. Serial.begin(9600);
34. pinMode(7,OUTPUT);
35. pinMode(8,OUTPUT);
36. pinMode(9,OUTPUT);
37. pinMode(10,OUTPUT);
38. }
39. void loop()
40. {
41. if(Setpoint<174)
42. Setpoint=174;
43. if(Setpoint>784)
44. Setpoint=784;
45. pid();
46. Serial.print(F("\n"));
47. Serial.print("SP: ");
REPORTE
48. Serial.print((Setpoint-174)/8.026,DEC);
49. Serial.print("\t");
50. Serial.print("Sensor: ");
51. Serial.print((Input-174)/8.026,DEC);
52. Serial.print("\t");
53. Serial.print("Error: ");
54. Serial.print((((Input-174)/8.026)-(Setpoint-174)/8.026),DEC);
55. Serial.print("\t");
56. Serial.print("Salida: ");
57. Serial.println(Output,DEC);
58. if(Output>0)
59. {
60. digitalWrite(9,HIGH);
61. digitalWrite(8,LOW);
62. analogWrite(11,Output);
63. digitalWrite(7,HIGH);
64. digitalWrite(10,LOW);
65. }
66. else if(Output<0)
67. {
68. digitalWrite(10,HIGH);
69. digitalWrite(7,LOW);
70. analogWrite(11,-Output);
71. digitalWrite(8,HIGH);
72. digitalWrite(9,LOW);
73. }
74. }
Diagrama
REPORTE
Conclusiones.
Est prctica no fue sencilla, para empezar fue difcil llevar a cabo la programacin del control
PID adems del manejo de los motores los cuales primero intentamos controlar de manera
errnea al meter la seal de salida a los pines de entrada del L293(que son los que se usaron
para el cambio de giro) con esa configuracin la salida pareca on-off, por lo tanto esto no
funcion ya que haca que el sistema fuera muy inestable y oscilar, no importando los valores
que proporcionramos de kp ti y td, por ello decidimos conectar la salida del controlador a los
enables del L293D, de esta forma se tuvo un control sobre los motores usando un pwm para
que as la variacin no fuera drstica y la oscilacin disminuyera, lo que logramos llevar acabo
con problemas debido a que no fue fcil acoplar el control PID para hacer lo accionar los
motores con el pwm, lo logramos mediante pruebas con el sistema y los motores as como su
reaccin, logrado esto el paso siguiente fue mediante un anlisis de las constantes del PID (kp
ki kd) y las variables que modificamos para lograr la reaccin y estabilidad mejores para
nosotros, lo cual nos llev un tiempo pero no fue tan complejo ya que realizada la etapa de
control PID y el pwm logramos tener una respuesta que atena ms el error aceleraba la
reaccin del control as como la estabilidad en el valor dado de setpoint es muy buena y ante
cualquier perturbacin reaccione lo ms rpido posible.
Aprendimos mucho y fue muy interesante, tambin fue estresante pero viendo que pudimos
lograrlo y como esta actu nos gratifica mucho nuestro trabajo.
Bibliografa
1. Ingeniera de Control Moderno de Ogata.
2. Sistemas de Control en Tiempo Discreto de Ogata.