Sie sind auf Seite 1von 5

111

Encuentro de Investigación en IE, 5 — 7 de Abril, 2006

Encuentro de Investigación en Ingeniería Eléctrica


Zacatecas, Zac, Abril 5 — 7, 2006

Controlador PID Digital con el PIC16F877

M. Castillo, M. C. I. Campos Cantón, Ing. J. A. Barbosa.


Facultad de Ciencias, Universidad Autónoma de San Luis Potosí, Álvaro Obregón 64, 78000
San Luis Potosí, S.L.P., México Teléfono (444) 8 26 23 17 Fax (444) 8 26 23 18,
Correo-e: icampos@galia.fc.uaslp.mx, jovenbarbosa@yahoo.com , marceca80@hotmail.com,

Resumen — El uso de reguladores PID analógicos ha aceptación muy importante sobre todo en la industria
traído grandes beneficios para regular sistemas ya sea ya que, debido a su bajo costo y a los avances que han
de temperatura, fuerza, presión etc., pero el desarrollo surgido en los microcontroladores y computadoras en
de sistemas digitales y el bajo costo que se requiere nos general podemos tener una mayor variedad de
permite diseñar controles PID digitales, por lo que la
dispositivos.
utilización de reguladores digitales está en aumento.
Para la realización de este PID digital se utiliza un pic En los sistemas de control podemos encontrarnos con
dos tipos de controladores [1]
16F877, ya que tiene un ADC y generador de PWM
integrado por lo que facilita la instrumentación del
sistema, para el sistema se utiliza un motor de corriente
directa de 12 volts, y un TC4422 para aislar el circuito y • Analógicos
evitar problemas con el ruido. • Digitales
Abstract — The use of PID analogist carry-out great
De entre los cuales podemos dividirlos en
new benefices for regulate control systems, for example
temperature, force, pressure, and other systems with
great performance. These systems have low cost and A. Sistemas de control en lazo cerrado
people can work with this control for many
applications. We are using PIC16F877 because it has a B. Sistemas de control en lazo abierto
pulse width modulator (PWM) and analogy digital
converts ADC embedded systems in this form the
regulation is more available and cheap, we can use by
Sistemas de control en lazo cerrado
our desing a TC4422 because we need to separate the
circuit of the direct current (DC) motor by limiting the En este sistema se da una señal de entrada y una señal
noise in the driver. de retroalimentación, se alimenta al controlador con la
diferencia de estas dos señales y a esta se le llama
error de actuación, en este sistema se trata de reducir
Palabras clave — Control, PID, Sistemas analógicos, Sistemas
digitales. el error a fin de llevar al sistema a un estado
conveniente.

Sistemas de control en lazo abierto


I. INTRODUCCIÓN
En estos sistemas la señal de salida no es medida y no
afecta a la señal de entrada, en este sistema no se
E N los últimos años, los sistemas de control
digitales han tenido un gran avance y una compara la señal de entrada con la de salida.
112
Encuentro de Investigación en IE, 5 — 7 de Abril, 2006

La acción integral tiene el efecto de eliminar el error


de estado estacionario [2], pero puede hacer peor la
respuesta transitoria, donde Ki es la constante
II. CONTROL ANALÓGICO integral.

En el control analógico se utilizan señales que se


representan mediante variables continuas. Un Acción Proporcional
esquema básico de un controlador es como el que se
muestra en la figura 1, donde R(t) es la señal de La acción proporcional tiene el efecto de reducir el
tiempo de subida pero no podrá eliminar el error en
entrada y U(t) es la retroalimentación del sistema.
estado estacionario [2] , donde Kp es la constante
proporcional.

Acción Derivativa
La acción derivativa tiene el efecto de aumentar la
estabilidad del sistema, y de reducir el sobretiro
Figura 1. Diagrama de bloques de un control además mejora la respuesta transitoria [2], donde Kd
analógico con retroalimentación.
es la constante derivativa. El comportamiento de un
PID analógico es el de la ecuación (1),

 1
i
de (t ) 
III. CONTROL DIGITAL u (t ) = K e(t ) + ∫ e (t ) dt + Td 
 Ti 0 dt  (1)
En los controladores digitales se utilizan señales
digitales definidas en un intervalo de tiempo cuya donde e(t ) es la entrada al controlador, u (t ) es la
amplitud puede adoptar un intervalo continuo de
valores. salida del controlador, K es la ganancia
La mayoría de los procesos a controlar utilizan proporcional, Ti es el tiempo integral y Td es el
señales en tiempo continuo; por lo que si el sistema de tiempo derivativo [3] . Para obtener la función de
control involucra este tipo de señales se tiene que transferencia pulso del PID digital tenemos que
hacer una conversión de señales continuas a señales discretizar la ecuación (1), y obtenemos la ecuación
digitales. (2).
Los sistemas de control en tiempo discreto son
aquellos sistemas en los cuales sus variables pueden
cambiar solo en valores discretos de tiempo.  T 1 + z −1 Td 
El proceso de muestreo es seguido por un proceso de U ( z ) = K 1 + −1
+ (1 − z −1 )  E ( z )
cuantificación, en este proceso la amplitud analógica  2Ti 1 − z T 
(2)
muestreada se convierte en una amplitud digital o sea
un número binario, de esta manera la señal se procesa
por medio de la computadora y muestra la respuesta, La podemos rescribir en la ecuación (3).
ya que se tiene esta señal se convierte nuevamente a
una señal analógica por medio de un DAC
(convertidor digital analógico).
En los sistemas de control digital se utiliza el
controlador PID. El PID es la conjunción de la acción
 T T 1 T 
integral, acción derivativa, acción proporcional. U ( z ) = K 1 − + −1
+ d (1 − z −1 ) E ( z )
 2Ti Ti 1 − z T 

Acción Integral
 Ki  (3)
U ( z) = K p + −1
+ K d (1 − z −1 ) E ( z )
 1− z 
113
Encuentro de Investigación en IE, 5 — 7 de Abril, 2006

 Ki 
U ( z) = E ( z)K p + −1
+ K d (1 − z −1) 
 1− z 
(7.1)
Donde
−1
[
(1 − z )U ( z ) = E ( z ) (1 − z ) K p + K i + K d (1 − z −1 ) 2
−1
]
(7.2)
K
Kp = K − I Ganancia proporcional (1 − z −1 )U ( z ) = E ( z )
2

Ki =
KT Ganancia integral [z −2
K d − ( K p + 2 K d ) z −1 + ( K p + K i + K d ) ]
TI (7.3)

KTd
Kd = Ganancia derivativa
T Se obtiene la transformada inversa de z de la ecuación
7.3 y como resultado tenemos la ecuación 8,

Entonces la función de transferencia pulso del PID


digital se convierte en la ecuación 6, u[k ] − u[k − 1] = K d e[k − 2] − ( K p + 2 K d )e[k − 1] +

(K p + K I + K dD ) e [k ]
U (z) Ki
Gd ( z ) = = Kp + −1
+ K d (1 − z −1 ) (6)
E(z) 1− z (8)

Esta es la ecuación que se utiliza para implementar el


Reacomodamos la ecuación y obtenemos la ecuación control PID.
7.1 y al simplificarla no queda la ecuación 7.3,

Principales PIC 16F877


Características V. DESARROLLO DEL SISTEMA
Frecuencia de Operación DC- 20Mhz
Resets POR,BOR (PWRT,OST) Para el desarrollo del control PID digital utilicé un
Memoria de programa 8K PIC 16F877 en la tabla 1 se muestran las
FLASH especificaciones del PIC.
Memoria de Datos 368
(bytes) el cual ya tiene incluido un ADC y generador de
EEPROM 256 PWM. El sistema completo se muestra en la figura 2,
Interrupciones 14
I/O puertos Puertos A, B, C, D, E
Timers 3
PWM 2
Comunicación Serial MSSP, USART
Comunicación Paralela PSP
ADC 8 canales de entrada
Repertorio de 35 instrucciones
instrucciones Figura 2. Diagrama de bloques del sistema
114
Encuentro de Investigación en IE, 5 — 7 de Abril, 2006

Tabla 1. Características del PIC16F877. sistema empieza con la retroalimentación en cero y


después aumenta hasta que alcanza la velocidad
deseada, se usan los valores de K p = 10 , K i = 5 ,
Donde R(t) es el voltaje de entrada que nos da la
velocidad del motor y U(t) es la salida del sistema. El
K d = 5 , para esta prueba.
diagrama de flujo del programa se muestra en la
figura 3.

Figura 4. Gráfica del control PID, en los primeros


100ms el sistema alcanza su valor máximo pero se
estabiliza cuando pasan los primeros 300ms y
permanece estable, hasta que se modifica la señal de
entrada.

En base al conocimiento que se tiene del sistema y las


notas que tiene Katsuhiko Ogata [3] acerca de
Figura 3. Diagrama de flujo del programa aproximar las ganancias, que K p sea igual a
K − Ki
los valores para las variables K p , K i , K d
El PIC se programo para que al ADC tenga una 2
resolución de 8 bits, pero las operaciones que se son calculados manualmente a partir de pruebas que
efectúan dentro del programa tiene un rango de 216 se obtienen en el motor.
para tener una aproximación más exacta, primero lee
los datos que son el voltaje de referencia, la
El diagrama esquemático de la conexión del control se
retroalimentación, las constantes K p , K i , K d y
muestra en la figura 5, la salida del PWM se conecta
después se llama a una función llamada PID que es en a un TC4422 para aislar el voltaje que produce el
donde se realizan las operaciones y si la salida de generador y retroalimentar el sistema. En las pruebas
U (t ) es mayor que la que puede recibir el PWM que que se realizaron con el motor de corriente directa, el
es de 255 pasos entonces checa la condición de que si tiempo de muestreo es de aproximadamente 100ms,
es mayor de 255 se mantenga en ese valor o que si es ya que las operaciones que se realizan en el programa
menor de cero guarde el valor de cero hasta que son muy largas por lo que el tiempo en que tarda en
obtenga un valor diferente, así lo manda el PWM del ejecutar la instrucciones es mayor.
mismo PIC y este se manda al TC4422 y de ahí va al
motor para generar la velocidad deseada.

El sistema se comporta como se ve en la gráfica 4. El


115
Encuentro de Investigación en IE, 5 — 7 de Abril, 2006

valores. A corto plazo este sistema se implementara


para controlar un servomotor en comunicación serial
a otro PIC 16F877 para que en una pantalla LCD
podamos observar lo valores de la variables K p , K i ,
K d y la velocidad del servomotor. Ya que si
implementamos esto en el mismo PIC , este tomaría
demasiado tiempo en realizar la función de la pantalla
LCD y el PID no seria funcional.

REFERENCIAS
[1] C. Kuo B., “ Sistemas de Control Digital”, Compañía
Editorial Continental S. A. de C. V., Mèxico D.F.,
pp.1-8,113-116, (1997) .
[2] Balcells J., Romeral J. L., “Autómatas Programables”
Alfaomega S. A. de C. V., México, D. F. , pp. 56-60
[3] Ogata K., “Sistemas de Control en Tiempo Discreto,
Pretice Hall Hispanoamericana, Edo. De México, pp. 6-
8, (1996).

Figura 5. Diagrama esquemático de la conexión del


control

VI. CONCLUSION

En el desarrollo del proyecto observamos la


importancia que han tomado los sistemas digitales y
muchas ventajas de los microcontroladores.
En esta caso lo usamos para controlar la velocidad de
un motor de corriente directa obteniendo resultados
favorables dependiendo del valor que le damos al las
variables K p , K i , K d , una de las ventajas de este
sistema es que con la ecuación 8, es mucho mas
sencilla la programación del sistema y no es necesario
utilizar el timer del PIC, además que este sistema
puede ser modificado de acuerdo a las necesidades
que se requieran y puede tener otras funciones sin
necesidad de utilizar demasiado hardware, y a su vez
teniendo una interfase adecuada se puede utilizar en
otro tipo de sistemas como podría ser de temperatura,
manejo de electro válvulas y control de fluido, otra
ventaja de este sistema seria por ejemplo anexarle
cambio de dirección del motor en el software, por otro
lado, una desventaja del sistema es que es
complicado obtener las variables para estabilizar el
sistema y estas tiene un rango especifico de 0 a 255