PPI informe

Embed Size (px)

Citation preview

2011

CONTROLADOR MOTOR DC POR PPIETN 903 Sistemas de computacinDiseo e implementacin de una interfaz CPU, motor capaz de controlar su velocidad y su sentido de giro desde un men sencillo en el monitor de la computadora, programado en assembler 80x86.

GRUPO 23 PABLO ZAMORA MERCADO RONALD SANDOVALETN 903 SISTEMAS DE COMPUTACIN FACULTAD DE INGENIERA INGENIERA ELECTRNICA

01/06/2011

ETN 903 SISTEMAS DE COMPUTACIN 2 CONTROLADOR MOTOR DC POR PPI

1. OBJETIVOS. Disear e implementar una interfaz CPU, motor capaz de controlar su velocidad y su sentido de giro desde un men sencillo en el monitor de la computadora, programado en assembler 80x86. 2. DISEO INTERFAZ MOTOR DC PC. Se dise el siguiente diagrama de bloques para graficar el funcionamiento del controlador de motor DC y sus componentes.

CPU

PPI

REGULADOR DE VOLTAJE Conversor D/A

PWM

DRIVER L298

MOTOR DC

PC

CIRCUITO EXTERNO

Para una mejor comprensin del proyecto se lo dividi en dos partes: PC , es decir la programacin en assembler para el procesador 80x86 y su output el PPI (controlador programable de perifricos) para el que se utilizar una placa que pueda conectarse al BUS ISA del CPU. CIRCUITO EXTERNO, la etapa de regulador de voltaje, para convertir el byte de salida del puerto A del PPI, en una fuente variable de voltaje que dependa del valor del byte, un generador de PWM para el motor y un driver para finalmente controlar el motor

3. PC.3.1. PROGRAMACIN.

La programacin se divide en cuatro mdulos bsicos: La interfaz grfica, el men de seleccin, la configuracin del PPI en modo 0 , el procesamiento y el envo de datos al puerto A. Se llamar DATOPPI a la variable de velocidad (1 byte) Para la definicin de velocidad tomamos Bits de velocidad, es decir 27 velocidades

Bit de sentido, 0 sentido horario y 1 sentido anti horario.

ETN 903 SISTEMAS DE COMPUTACIN 3 CONTROLADOR MOTOR DC POR PPI

3.1.1. Interfaz grfica. Para la interfaz grfica, se utiliza la INT 21h del Sistema en modo 09h (modo texto), es decir establece en pantalla una salida de caracteres. Por tanto se debe definir en memoria el men en la variable titulo.(ver programa en anexos)

lea dx,titulo mov ah,09 int 21h

Cabe destacar que se establecen las funciones a controlar en el motor: Aumentar velocidad, presionando el botn F1. Disminuir velocidad presionando el botn F2, y el cambio de sentido de giro del motor presionando F3 y la opcin de salir presionando ESC. 3.1.2. Men de seleccin. Ya dibujado el men procedemos a configurar sus funciones. Para el ingreso de una tecla debe suceder lo que se establece en el men. Por tanto se debe detectar primero si existe alguna tecla y salir del programa si se ha presionado ESC. Para esto se define:ingresa proc near ingr: mov ah,00h int 16h cmp ah,01h je fin cmp ah,3bh je f1 cmp ah,3ch je f2 cmp ah,3dh je f3 jmp ingr f1: mov cx,01h ; subir velocidad jmp fin f2: mov cx,02h ; bajar velocidad jmp fin f3: mov cx,03h ; cambio de sentido jmp fin fin: ret ingresa endp

ETN 903 SISTEMAS DE COMPUTACIN 4 CONTROLADOR MOTOR DC POR PPI

Se activa la INT 16h (servicios de teclado) en modo 00h (lee carcter del teclado), de haberse presionado ESC sale del programa si no Se mueve al registro cx el valor de 01,02 o 03 si se ha presionado f1, f2 o f3 respectivamente. Esto se hace para poder procesar luego la informacin. 3.1.3. Configuracin del modo 0, PPI. Se configura el modo 0 del PPI considerando estas constantes:porta equ portb equ portc equ control equ 300h 301h 302h 303h

Direcciones de los puertos y una constante de control Para programar el PPI en modo 0:mov dx,control mov al,10000000B out dx,al mov dx,porta mov al,00000000B out dx,al mov dx,portb mov al,00000000B out dx,al mov dx,portc mov al,00000000B out dx,al ;MODO 0 PUERTOS A,B Y C COMO SALIDAS

;BORRA EL PUERTO A

;BORRA EL PUERTO B

;BORRA EL PUERTO C

3.1.4. Procesamiento segn tecla presionada. Para el procesamiento es decir aumentar velocidad, disminuir velocidad o cambiar de sentido el motor, establecemos el siguiente procedimientoaudis proc cmp je cmp je cmp je ret cx,01h mas cx,02h menos cx,03h senti

En funcin del valor del registro CX vemos que se debe hacer, aumentar, disminuir o cambiar el sentido. Despes de procesada la velocidad se la guarda de nuevo en la memoria (DATOPPI).

ETN 903 SISTEMAS DE COMPUTACIN 5 CONTROLADOR MOTOR DC POR PPI

Cuando se presion f1(aumentar vel)mov ax,7fh cmp ax,bx je fin1 mov ax,ffh cmp ax,bx je fin1 inc bx mov DATOPPI,bx call envia fin1:ret

Se establece como lmite el valor x1111111b siendo que el bit ms significativo el de direccin cuando se llega al lmite no se podr aumentar ms. Si la velocidad no est en el lmite se incrementa en 1 la velocidad, es decir los siete bits. Y se enva al Puerto A del PPI Cuando se presion f2 (disminuir vel)menos: mov ax,00h cmp ax,bx je fin1 mov ax,80h cmp ax,bx je fin1 dec bx mov DATOPPI,bx call envia fin2:ret

Se establece como lmite el valor x0000000b siendo que el bit ms significativo el de direccin cuando se llega al lmite no se podr disminuir ms. Si la velocidad no est en el lmite se decrementa en 1 la velocidad, es decir los siete bits. Y se enva al Puerto A del PPI Cuando se presion f3 (cambio de sentido)senti: mov ax,7fh cmp ax,bx je camb ret camb:and ax,bx mov bx,ax mov DATOPPI,bx call envia ret audis endp

ETN 903 SISTEMAS DE COMPUTACIN 6 CONTROLADOR MOTOR DC POR PPI

Como el sentido lo define el bit de signo, el bit de mayor peso posicional, entonces para cambiarlo se utiliza la funcin AND para cambiar el signo del ultimo bit cuando se ha presionado f3, 1xxxxxxxb 0xxxxxxxb, porque se definen dos direcciones, se debe saber en cual est por tanto elegimos 1xxxxxxxb como base de cambio. 3.1.5. Envo de datos al puerto A. Para la salida de datos se utilizar el puerto A del PPI Usando el siguiente procedimiento.envia proc mov al,DATOPPI mov dx,porta out dx,al ret envia endp

3.2. PPI Para el output del PPI se utilizar el integrado 8255 perifrico del procesador INTEL 8086 Se muestra a continuacin su diagrama circuital:

Por comodidad se hace una placa PCB para que sea compatible con el BUS - ISA del computador, ranura donde debe ingresar para poder comunicarse con el procesador 8086 y hacer efectivo el programa diseado. A continuacin se muestra un diagrama de la configuracin del BUS ISA.

ETN 903 SISTEMAS DE COMPUTACIN 7 CONTROLADOR MOTOR DC POR PPI

Para una comunicacin eficiente con el PPI e intrnsecamente con el procesador se hace uso de un conector DB 25 hembra soldado en la placa del PPI (8255) y para conectarlo con el circuito externo un conector DB 25 macho.

Se puede apreciar la disposicin de los pines, el puerto A,B y C y GND que debe conectarse al circuito externo. Nota. GND es comn para todos los circuitos.

ETN 903 SISTEMAS DE COMPUTACIN 8 CONTROLADOR MOTOR DC POR PPI

4. CIRCUITO EXTERNO. Comprende las siguientes partes del diseo:REGULADOR DE VOLTAJE Conversor D/A

PWM

DRIVER L298

MOTOR DC

Se establecen las siguientes partes del circuito externo al controlador del Motor DC: El regulador de voltaje que funciona como un Conversor Digital/Analgico, El generador de PWM en funcin del voltaje de referencia establecido por el CDA, y un driver para manejar el motor. 4.1. REGULADOR DE VOLTAJE CONVERSOR D/A. El regulador de voltaje utilizado es el LM317, alimentado con 15[V] y su ajuste ser el voltaje del byte de salida del PPI, convertido mediante las resistencias en escalera y un transistor. El transistor puede ser reemplazado por una compuerta inversora.

Para mejorar el diseo puede reemplazarse las compuertas inversoras por un integrado 74245 que es un bus octal compuesto por 8 buffer's tri state, para controlar incluso el paso de los bits y proteger el PPI y la cpu de cualquier incidente estando el motor apagado, resultando en el siguiente circuito:

ETN 903 SISTEMAS DE COMPUTACIN 9 CONTROLADOR MOTOR DC POR PPI

Se describe en el diagrama el bit de sentido, que cambia el sentido de giro del motor y el bit de encendido que puede ser implementado con un switch para controlar el tri-state del integrado. Se pone un condensador a la salida del LM317 para filtrar la seal y separarla de tierra.

4.2. PWM (Pulse Wide Modulation).

Voltaje de referencia conversor D/A

Onda diente de sierra generada por LM555

Comparador genera PWM

Con el integrado LM555 un timer, se genera una onda diente de sierra que ha de ser comparada con el voltaje suministrado por el regulador de voltaje, por un LM324 (amplificador operacional) para poder sacar PWM que controla la velocidad del motor.

ETN 903 SISTEMAS DE COMPUTACIN 10 CONTROLADOR MOTOR DC POR PPI

Es decir el comparador corta la onda en el voltaje determinado y hace que se forme un tren de pulsos de magnitud variable en funcin del voltaje de referencia. EL tren de pulsos tendr un valor RMS que estar en funcin de la separacin de los pulsos es decir su Duty cycle. a esto se le llama PWM. Generado el PWM se lo conecta al driver para controlar la velocidad. 4.3. DRIVER Para el Driver del motor se utiliza el Integrado L298 un Puente H completo, este integrado controla el sentido de giro del motor y separa la fuente de alimentacin del motor con la del circuito. Para el uso de este integrado con el modo de control de velocidad PWM se dirige la seal al pin ENA(enable A) es decir el habilitador del circuito para el motor y para controlar el sentido de giro, con el bit de mayor peso posicional del Puerto A del PPI al IN1 del integrado y con una compuerta NOT al IN2. Es necesario colocar diodos de proteccin al motor en la configuracin mostrada en el grafico, ya que se producirn picos negativos por la configuracin del motor al detenerse o al arranque.

ETN 903 SISTEMAS DE COMPUTACIN 11 CONTROLADOR MOTOR DC POR PPI

4.4. CIRCUITO COMPLETO

Circuito completo( ver simulacin en anexos)

ETN 903 SISTEMAS DE COMPUTACIN 12 CONTROLADOR MOTOR DC POR PPI

4.5. Implementacin El circuito implementado:

Las seales vistas en el osciloscopio, puede verse el PWM en amarillo y la onda diente de sierra en azul.

ETN 903 SISTEMAS DE COMPUTACIN 13 CONTROLADOR MOTOR DC POR PPI

La onda diente de sierra en el osciloscopio.

El programa en pantalla

ETN 903 SISTEMAS DE COMPUTACIN 14 CONTROLADOR MOTOR DC POR PPI

5. CONCLUSIONES.Se pudo disear un control de velocidad de motor DC basado en la el perifrico PPI del procesador 8086, usando un programa que controle el output de un PPI, especficamente el puerto A, un conversor digital anlogo, un generador de PWM de alta resolucin ( 27 ) y un driver.El circuito diseado es altamente funcional y puede ser usado para cualquier aplicacin en la que se requiera controlar la velocidad y el sentido de giro de un motor DC