Yoel Ocmín
[email protected]
Control PID Discreto de un MOTOR DC
Trabajo Practico Final
PID Discreto
El Objetivo del Presente trabajo es poder terminar el curso de Ingeniería de
Objetivo.-
Control 1, podiendo desarrollar Sistemas de control pero en el ámbito discreto.
Descripción del Control.-
controlaba un Motor DC con los Siguientes Parámetros.
Este trabajo consiste en Discretizar el trabajo anteriormente realizado, donde se
Kd=0.08654
Kp= 1.7308
Donde este motor Tiene una Entrada de Referencia de 0 – 5 V. Para eso usamos
un programa desarrollado en Visual Basic. Que partiendo de un referencia nos permita
controlar la velocidad revisando la salida por un ADC, para luego pasarlo a un DAC.
El Ckto tiene mas o menos el Siguiente Esquema:
Ki=133.61
Donde la salida del Motor la pasamos a un ADC, para procesarlo en la Pc y luego dar la
salida de control por el DAC.
En esta parte podemos observar que para ingresar los datos. Necesitamos de algún
puerto de la Pc, yo he visto conveniente usar el puerto paralelo LPT1.
Para lo cual para no complicarme con el Hardware, he usado un ADC, serial; en este
caso el ADC0832 de National instrument. Y la forma como, lo he conectado es la
Siguiente:
Donde :
Din va ha ser controlado por el Pin de Control del LPT1 C0
CLK va ha ser controlado por el pin de control del LPT1 C2
CS va ha ser controlado por el pin de control del LPT1 C3
1
Control PID Discreto de un MOTOR DC
Yoel Ocmín
[email protected]
El Amplificador operacional que aparece en configuración seguidor, es para aislar la
impedancia de entrada con la entrada del ADC.
Los Diodos en serie, sirven como seguridad a ala entrada del canal0 del ADC, en caso
de que la referencia sea mayor que el voltaje máximo (5v)
Donde para obtener los datos del ADC debemos de seguir con el siguiente protocolo
Para poder obtener estos datos, he implementado una DLL (librería de enlace
dinámico), en ensamblador para así poder acceder de manera sencilla al Hardware.
Etapa DAC.-
Esta etapa es más sencilla y consiste en que lo que entra Discretamentese transforma de
Digital a Analogico.
Pero estos Ckto no van solos sino que tienen que ser acompañados de un Ckto de
Conexión con la pc y otro de alimentación que nos proporcione los voltajes adecuados
para nuestro DAC, ADC, y los Opam. Estos Ckto son:
2
Yoel Ocmín
[email protected]
Control PID Discreto de un MOTOR DC
Donde el LM7805, es un Regulador de Voltaje que nos da a 5v a ala salida, y esto es
preciso lo que queremos del Ckto.
PROGRAMACION DEL PID
3
Yoel Ocmín
[email protected]
Para hallar la referencia de la Barra se usa:
Control PID Discreto de un MOTOR DC
Ahora cada tiempo de 25ms tomamos una muestra debido a un Timer
4
Yoel Ocmín
[email protected]
Control PID Discreto de un MOTOR DC
donde Formula1 y Formula 2 se basan en 2 Formas de hallar el PID
1.- Por Discretizacion por Partes
2.- Por Operación Derivada
5
Yoel Ocmín
[email protected]
que en programación serian:
Control PID Discreto de un MOTOR DC
;
Para Acceder al DAC he usados una librería creada en Assembler, la función que
devuelve el valor es:
datillo proc
@datillo:
datillo endp
pusha
_chip 0 ;Deshabilito Chip
_clock1 ;hago un Clock: _sube, _baja
_din 1 ;START BIT
_chip 1 ;Habilito Chip
_clock1
_din 1 ;SGL/~DIF
_clock1
_din 0 ;DOD/SIGN
_clock1
_clock2 ; Para la sincronización : _baja , _sube
_clock1; en D0 (Mux Settling Time) : _sube, _baja
mov esi,0
_clock2
_sube
_bit
mov byte ptr recogido[esi],al
_baja
inc esi
cmp esi,8
jnz @datillo
call dato;'Recupero Datos
mov esi,0
mov byte ptr recogido, al
_chip 0
_clock1
popa
xor eax,eax
mov al,recogido
ret
6
Control PID Discreto de un MOTOR DC
Yoel Ocmín
[email protected]
Donde para introducir esta rutina que se encuentra dentro de la Dll inoutdac.dll
Usamos las siguientes sentencias dentro de un archivo objeto DAC.bas
Public Declare Function datillo Lib "inoutdac.dll" () As Byte
Estas rutinas se basaron en el diagrama que mostramos en un inicio:
Además aparte de esta librería hemos usado otra, llamada inpout32.dll, descargada de
internet, que nos permite acceder a cualquier puerto de la Pc desde cualquier sistema
operativo de windows.
7
Comentarios de: Control PID Discreto de un MOTOR DC (0)
No hay comentarios