Daniel Stolfi's web page
EspañolEnglish

CONTROLADOR PROPORCIONAL DERIVATIVO

El controlador está implementado con el microcontrolador PIC18F4520 de Microchip, del cual se ha utilizado su gestor de interrupciones, uno de sus temporizadores, el conversor A/D y la EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter). En las siguientes figuras se puede visualizar la porción del esquemático correspondiente al controlador y el montaje realizado en la protoboard con fines de realizar los ensayos y ajustes necesarios antes de dar el diseño por válido.

Esquemático del Controlador
Esquemático del Controlador
Montaje Para los Ensayos en la Protoboard
Montaje Para los Ensayos en la Protoboard

La posición del péndulo es recogida por el conversor A/D desde un montaje realizado en base a un potenciómetro de 25KOhms que sirve tanto de eje como de sensor de inclinación. El objeto de montar de esta forma el eje es para minimizar el rozamiento propio de un potenciómetro limitando el punto de contacto a solamente el cursor que se desplaza sobre la zona resistiva y con una presión mínima.

A continuación se visualiza el esquema del conexionado de los componentes que constituyen el controlador del péndulo vertical y el detalle del montaje del potenciómetro.

Esquema de Conexionado del Controlador
Esquema de Conexionado del Controlador
Detalle del Montaje del Potenciómetro
Detalle del Montaje del Potenciómetro

Además en los extremos del carro de la impresora se han dispuesto dos sensores de final de carrera para evitar la colisión del cabezal con los extremos. Cuando el cabezal acciona uno de estos interruptores el controlador detiene el funcionamiento del motor, siendo necesario volver a posicionarlo manualmente en el centro de su recorrido y resetear el sistema.

Detalle de los Interruptores de Final de Carrera
Detalle de los Interruptores de Final de Carrera

La estructura del programa es la mostrada en la figura a continuación, en donde el flujo del programa comienza con la inicialización del microcontrolador y de las variables para luego entrar en un bucle infinito que comprende la lectura de la señal analógica del error y el acondicionado y recorte de los niveles de la misma.

Cada 1.54mS se produce una interrupción originada por el temporizador que ejecuta la rutina de control utilizando el último de los valores obtenido desde el conversor A/D.

Cada bloque de código se describe en su propia sección:

Estructura del Programa del Controlador
Estructura del Programa del Controlador
LA PAGINA DE DANIEL STOLFI - Version 5.09 - 1993-2024 - Cookies Policy
Creative Commons License