Control pid con lm629

2047 palabras 9 páginas
Explicación del programa desarrollado en MikroC.
Microcontrolador: PIC18F4520.
Frecuencia de trabajo (Fosc) = 10.00 MHz. Un ciclo de trabajo del microcontrolador = 4/Fosc = 400ns.
Circuito Procesador LM629N-6. Máx. FCLK = 6.00 MHz. Es la frecuencia a la que estamos ocupándolo. Todos los tiempos en los diagramas de tiempo son proporcionados por las hojas de datos con un oscilador a 6.00 MHz.

Este es el inicio del programa, en donde se definen variables, puerto para el bus de datos y para el bus de control, señales de control y el set de instrucciones del circuito procesador LM629 y funciones esenciales para su manejo.

A continuación explicaré, de acuerdo al orden indicado aquí arriba, las funciones secundarias esenciales para
…ver más…

La principal diferencia, si es que ya leyeron las hojas de especificaciones, es que el LM628 tiene salidas para un DAC (no tiene PWM) y el LM629 tiene PWM (pero no tiene salidas para DAC). Por tanto, el comando PORT12 no aplica para el LM629, y la inicialización de este integrado termina cuando se pregunta por el Status Byte, si es 0x80 ó 0xC4 y con un “Busy Bit Check”, recomendado. Abajo se indica los registros de Status Byte y además, el registro para las Interrupciones Enmascarables, que se tienen que resetear en la inicialización.

LM629_SetPID

Con esta función se configuran los parámetros para el filtro PID, la hoja de datos llama “parámetros”, a los coeficientes kp, ki, kd e iL (límite de integración).

Registro del Filtro del Control PID.

Selección del intervalo de muestreo del término derivativo.

Aquí está la función para configurar los parámetros del filtro PID. Se basó también en la tabla que viene en la nota de aplicación.

Sólo que en nuestra función, definimos los parámetros ki, kd, e iL. Y el intervalo de muestreo del término derivativo se puso a 0. La razón es por la fórmula que se encuentra arriba en esta página. El muestreo será Td = ds*Ts = 1*Ts. Donde Ts = 341µs, y por lo tanto, Td = Ts = 341µs. Los coeficientes y el límite de integración (son datos de 16 bits, por eso se definen como arreglos de 2 bytes) se propusieron.

Documentos relacionados