PDF de programación - Control PID Discreto de un MOTOR DC

Imágen de pdf Control PID Discreto de un MOTOR DC

Control PID Discreto de un MOTOR DCgráfica de visualizaciones

Actualizado el 26 de Julio del 2017 (Publicado el 19 de Julio del 2017)
2.217 visualizaciones desde el 19 de Julio del 2017
363,0 KB
7 paginas
Creado hace 19a (17/08/2004)
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
  • Links de descarga
http://lwp-l.com/pdf5560

Comentarios de: Control PID Discreto de un MOTOR DC (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad