Вы находитесь на странице: 1из 28

CONTROL DE MOTORES A PASOS VA

PUERTO PARALELO

1.- OBJETIVO DEL PROYECTO


Disear un programa donde se muestre de forma grfica mediante un monitor el men
de opciones para la manipulacin de un actuador el cual va a hacer nuestro motor de
paso a paso con comunicacin de puerto paralelo, este proceso se va a manipular con
la programacin dada mediante el teclado del equipo a mejor conveniencia y
requerimientos del mismo.

Investigar y entender los principios bsicos de un motor paso a paso.

Realizar el algoritmo control de un motor paso a paso unipolar para provocar


distintos tipos de giros por medio del puerto paralelo y el teclado de la porttil.

Comprobar funcionamiento de algoritmo realizado por medio del software Turbo


C++ V3.2.

Implementacin del control de motor paso a paso en una placa universal.

2.- FUNCIONAMIENTO
En este proyecto se presenta el desarrollo de un dispositivo electrnico para controlar
motores a pasos de tipo unipolar mediante comunicacin por el Puerto Paralelo. El
sistema, basado principalmente en una Laptop y un circuito de Interfaz, el cual recibe
comandos de control asociados a la direccin, velocidad y nmeros de pasos del
motor.

El funcionamiento del presente proyecto se desarrolla de la siguiente forma:

Ejecutando la aplicacin del programa, se muestra un men de opciones en la pantalla


como muestra la figura
En este men de opciones se puede seleccionar el tipo de funcin que se quiere que
realice el motor, presionando la tecla que se indica en el teclado de la PC.

Una vez seleccionado la opcin por el teclado se inicia la accin por parte del motor, la
cual sera girar en sentido horario o antihorario, adems el conteo del nmero de pasos
que se desea que realice el motor. Adems se puede seleccionar tres velocidades
durante el giro horario o el antihorario.

Los motores a pasos son dispositivos que tienen como caracterstica principal el poder
hacer girar su eje en forma de pasos angulares discretos. Este tipo de motor es
empleado en aplicaciones en las cuales se requieren movimientos precisos. La
alimentacin elctrica para estos dispositivos se proporciona en forma de pulsos
secuenciales aplicados a las distintas bobinas que constituyen el motor.

Por cada pulso de energa aplicado a una de las bobinas, el eje realiza un
desplazamiento angular discreto permaneciendo fijo en dicha posicin hasta que otro
paso sea aplicado. Controlando la frecuencia a la que se aplican los pulsos de energa
es posible controlar la velocidad de giro del motor, asimismo, aplicando la secuencia de
pulsos en forma inversa, es posible cambiar el sentido de giro del dispositivo.

Existen en el mercado motores a pasos con distintos tamaos de paso, uno de los ms
comunes es el de 1.8. Este motor requiere realizar 200 pasos para tener una vuelta
completa.
Otra caracterstica que poseen estos motores es que su eje puede permanecer inmvil
en una posicin determinada siempre y cuando se mantengan energizadas las bobinas
que lo componen. Las caractersticas mencionadas hacen que este tipo de motores sea
muy empleado en aplicaciones de robtica, control numrico y en general en
situaciones en las cuales el posicionamiento preciso de un eje es importante.

El diseo del circuito electrnico de control encargado de enviar la secuencia de pulsos


de energa a las bobinas de un motor a pasos debe considerar la frecuencia de los
mismos as como el nmero de estos. Dependiendo de la aplicacin generalmente la
secuencia de control est asociada al movimiento y posicionamiento deseado en el eje.
Existen en el mercado distintos controladores para este tipo de motores.

3.- MARCO TEORICO

Los elementos que conforman el sistema pueden ser agrupados en cuatro bloques
funcionales mismos que se muestran en el diagrama de la figura del punto 5 y que son
descritos en el resto de esta seccin.

Interfaz Paralela (Conformada por el Puerto Paralelo y el Integrado 74LS541)


Etapa de Potencia (Conformada por el ULN2003)
Motor de Pasos

3.1.- PUERTO PARALELO

3.1.1.- DEFINICION

Un puerto paralelo es una interfaz entre un computador y un perifrico, cuya principal


caracterstica es que los bits de datos viajan juntos, enviando un paquete de byte a la
vez. Es decir, se implementa un cable o una va fsica para cada bit de datos formando
un bus. Mediante el puerto paralelo podemos controlar tambin perifricos como focos,
motores entre otros dispositivos.

El cable paralelo es el conector fsico entre el puerto paralelo y el dispositivo perifrico.


En un puerto paralelo habr una serie de bits de control en vas aparte que irn en
ambos sentidos por caminos distintos.
Figura 2.7

3.1.2.- DESCRIPCION DEL CONECTOR FISICO

La conexin del puerto paralelo al mundo exterior se realiza mediante un conector


hembra DB25. Observando el conector de frente y con la parte que tiene mayor nmero
de pines hacia arriba, se numera de derecha a izquierda y de arriba a abajo, del 1 al 13
(arriba) y del 14 al 25 (abajo).
Figura 2.8

En este conector:

8 lneas (pines) son para salida de datos (bits de DATOS). Sus valores son
nicamente modificables a travs de software, y van del pin 2 (dato 0, D0) al pin
9 (dato 7, D7).
5 lneas son de entrada de datos (bits de ESTADO), nicamente modificables a
travs del hardware externo. Estos pines son: 11, 10, 12, 13 y 15, del ms al
menos significativo.
4 lneas son de control (bits de CONTROL), numerados del ms significativo al
menos: 17, 16, 14 y 1. Habitualmente son salidas, aunque se pueden utilizar
tambin como entradas y, por tanto, se pueden modificar tanto por software
como por hardware.
las lneas de la 18 a la 25 son la tierra.

3.1.3.- ACCESO AL PUERTO

El puerto paralelo se identifica por su direccin de E/S (entrada/salida, I/O) base y se


reconoce en sistemas MS-DOS por el nmero LPT (lp en Unix/Linux). Cuando arranca
la mquina, la BIOS (Basic Input Output System) chequea direcciones especficas de
E/S en busca de puertos paralelos y construye una tabla de las direcciones halladas en
la posicin de memoria 40h:8h (o 0h:0408h) (vase direccionamiento segmentado).
Esta tabla contiene hasta tres palabras de 16 bits, cada palabra con el byte bajo
primero seguido por el byte alto. Cada palabra es la direccin de E/S base del puerto
paralelo (que denominaremos LPT_BASE en lo sucesivo). La primera corresponde a
LPT1, la segunda a LPT2 y la tercera a LPT3. Hay que agregar que, en MS-DOS
tenemos el dispositivo PRN que es un alias a uno de los dispositivos LPT
(generalmente es LPT1, pero se puede cambiar con la orden MODE).

Las direcciones base estndar para los puertos paralelos son:

03BCh
0378h
0278h

La siguiente tabla muestra, como ejemplo, la memoria en un PC con dos puertos


paralelos instalados en las direcciones hexadecimales 378 y 278.

Figura 2.9

3.2.- CIRCUITO INTEGRADO 74LS541

3.2.1.- DESCRIPCION

Circuito Integrado TTL 74LS541. Buffer de 8 entradas no invertidas de tres


estados. El 74LS541 es un conductor octal de lnea y bfer de salida 3
estados diseado para tener el rendimiento de la popular serie
de SN54LS240 / SN74LS240 y, al mismo tiempo, ofrecer un pasador que tiene las
entradas y salidas en lados opuestos del paquete. Esta disposicin mejora en gran
medida la disposicin del tablero de circuito impreso. La puerta de control 3-estado es
una de 2 entradas NOR tal que si cualquiera G1 \ o G2 \ son altos, las ocho
salidas estn en el estado de alta impedancia. El LS541 ofrece datos verdaderos en las
salidas.
Figura 2.4

Figura 2.5

3.2.2.- ESPECIFICACIONES

IC, BUFFER no inversora, DIP-20


Tipo lgico del dispositivo: Buffer, no inversin
Lnea de control y receptor en lnea
Rango tensin de alimentacin: 4.75 V a 5.25 V
Rango temperatura de funcionamiento: 0 C a +70 C
3-state Outputs drive bus lines or buffer memory address registers
PNP inputs reduce DC loading
Hysteresis at inputs improves noise margins
Data flow-through pin out
Tipo de Familia: LS
Encapsulado: DIP
20 pines
3.3.3.- RANGOS DE OPERACIN

Figura 2.6

3.4.- AMPLIFICADOR DE SALIDAS ULN2003

Son matrices de transistores Darlington de alta tensin y alta corriente, cada uno
consta de siete pares NPN Darlington que cuentan con salidas de alto voltaje con
diodos de ctodo comn para la conmutacin de cargas inductivas. Los pares
Darlington pueden conectarse en paralelo para una mayor capacidad de corriente. Las
aplicaciones incluyen controladores de rel, los controladores de lmparas, los
controladores de pantalla (LED y de descarga de gas), los conductores de lnea y
motores.

Figura 2.1
3.4.1.- DESCRIPCIN
Esta tarjeta est diseada con el objetivo de utilizar el integrado ULN2003 para el
control de un motor paso a paso, recomendamos el motor unipolar de 5 lneas 28BYJ-
48, (*No incluido) para el conector integrado, pero no lo es el nico motor que puedes
utilizar, ya que esta tarjeta cuenta con la opcin de utilizar las 7 salidas del integrado
conectado una regleta.

3.4.2.- CARACTERISTICAS DE HARDWARE

Compatible con Arduino


Voltaje de alimentacin de 5V a 12V
Entradas compatibles con varios tipos de lgica.
Salida protegida con diodos.
Indicador de enciendo.
Indicadores de funcionamiento de 4 salidas

3.4.3.- CONEXIN
Es necesario tener en cuenta que los terminales de salida de este chip conectan las
cargas a masa cuando llega una seal positiva a las entradas adecuadas. Por este
motivo, el terminal de la carga que no est conectado al chip ha de estar unido al borne
positivo del generador. En el esquema de abajo vemos como se conectara un motor al
canal superior (1, 16). Tambin se puede observar que pueden existir dos
alimentaciones unidas por masa. En este ejemplo, el pulsador es el encargado de dar
la seal de control al pin 1, para que el pin 16 se ponga a 0 voltios y quede conectado
el motor

Figura 2.2
3.4.4.- ESQUEMA INTERNO

Figura 2.3

3.5.- MOTOR PASO A PASO

3.5.1.- DEFINICION

El motor paso a paso conocido tambin como motor de pasos es un dispositivo


electromecnico que convierte una serie de impulsos elctricos en desplazamientos
angulares discretos, lo que significa que es capaz de girar una cantidad de grados
(paso o medio paso) dependiendo de sus entradas de control. El motor paso a paso se
comporta de la misma manera que un conversor digital-analgico (D/A) y puede ser
gobernado por impulsos procedentes de sistemas digitales.

Figura 2.10
3.5.2 TIPOS

3.5.2.1.- MOTOR UNIPOLAR

Estos motores cuentan con dos bobinas con un punto medio de los cuales salen los
cables hacia el exterior; estos cables se conectan a la fuente mientras que los extremos
de las bobinas son aterrizadas para cerrar el circuito; dependiendo del tipo de motor,
las lneas comunes pueden ser independientes o no.

Esta configuracin puede ser vista de las siguientes formas: que el motor tiene dos
bobinas pequeas conectadas a un punto en comn, o que una bobina est divida en
dos por medio de un punto comn. Ahora, y dependiendo de qu media bobina se
energice, se puede tener un polo norte o un polo sur; si se energiza la otra mitad, se
obtiene un polo opuesto al otro. En la Ilustracin 2.11 se muestra un esquema
representativo del motor a pasos unipolar.

Figura 2.11

Figura 2.12
3.5.2.2.- MOTOR BIPOLAR

Cuentan con dos bobinas sin ningn punto medio donde salga un cable, por lo que se
tienen cuatro cables y cada par corresponde a las terminales de una bobina
Ilustraciones 3 y 4 Dada la configuracin de la bobina, la corriente puede fluir en dos
direcciones, necesitando un control bidireccional o bipolar. En general, con respecto al
sentido de giro de los motores a pasos bipolares, vale la pena recordar que el sentido
de giro depende de la direccin del flujo de la corriente por las bobinas ya que sta
induce en el embobinado un campo magntico que genera un polo magntico norte y
sur, de ah que el rotor se mueva para que uno de los polos del rotor sea opuesto al de
la bobina localizado en el estator, como se muestra en la Ilustracin 3.

Figura 2.13

Figura 2.14
4.- USABILIDAD
Entre los principales usos que le podemos dar al control de motor de paso a paso
tenemos los siguientes:

Taxmetros
Disk-drive
Impresoras
Plotters
Brazo y robots completos
Patrn mecnico de velocidad angular
Registradores XY
Relojes elctricos
Casetes digitales
Control remoto
Mquinas de escribir electrnicas
Manipuladores
Posicionamiento de vlvulas en controles industriales
Posicionamiento de piezas en general
Bombas impelentes en aplicaciones de electromedicina

5.- LISTA DE MATERIALES Y HERRAMIENTAS

5.1.- MATERIALES

1.- 02 conectores DB 25 para puerto paralelo (macho)

2.- 02mt de cable para puerto paralelo

3.- 01 conector DB 25 hembra para impreso

4.- 01 placa con el diseo para el control por puerto paralelo

5.- 01 base para impreso de 20 pines

6.- 01 circuito integrado 74LS541

7.- 09 resistencias de 1kn a 1/4w

8.- 09 focos led miniatura color rojo


9.- 04 bornes 02 pines color azul

10.- 03 bornes 03 pines azul

11.- 01 motor paso a paso bipolar

12.- 01 ULN2003

13.- 05mt de estao (soldadura)

14.- 01 lata pequea de pasta para soldadura

5.2.- HERRAMIENTAS

1. Una PC porttil con puerto paralelo


2. Compilador turbo C v.3.0
3. Una fuente swiching
4. Un cautin 30w
5. Un multmetro
6. Programa de control hecho en turbo C

6.- DIAGRAMA DE BLOQUES

MOTOR
INTERFAZ ETAPA
PC PASO
PUERTO DE
PERSONAL A
PARALELO POTENCIA
PASO

7.- TIPO DE ROM UTILIZADA

El tipo de ROM utilizada es principalmente el Disco Duro, que es una memoria no


voltil.
7.1.- Unidad de disco duro

En informtica, la unidad de disco duro o unidad de disco rgido (en ingls: Hard
Disk Drive, HDD) es el dispositivo de almacenamiento de datos que emplea un sistema
de grabacin magntica para almacenar archivos digitales. Se compone de uno o
ms platos o discos rgidos, unidos por un mismo eje que gira a gran velocidad dentro
de una caja metlica sellada. Sobre cada plato, y en cada una de sus caras, se sita un
cabezal de lectura/escritura que flota sobre una delgada lmina de aire generada por la
rotacin de los discos. Es memoria no voltil.

Unidad de disco duro


Unidad de disco rgido

Partes de la unidad de disco duro.

Al ejecutar un programa o abrir un archivo, el computador lleva algunos de los datos


desde el disco duro a la memoria RAM para que se pueda acceder a ellos con mayor
facilidad y rapidez.
Cuando se guarda un archivo, se llevan los datos de vuelta a la unidad de disco duro.
Cuanto ms veloz es el disco duro de tu equipo, ms rpido puede arrancar, guardar y
cargar archivos y programas.
Actualmente existe el disco duro mecnico y el disco duro de estado slido, siendo este
el ms rpido, seguro y confiable.
7.2.- Memoria RAM

Es la memoria de corto plazo del computador. Su funcin principal es recordar la


informacin que tienes en cada una de las aplicaciones abiertas en el computador,
mientras este se encuentre encendido.

Esta memoria de corto plazo solo acta cuando el computador est encendido.
Cuando trabajes en un documento como una hoja de clculo u otro tipo de archivo,
debes guardarlo para evitar que este se borre o pierda. Algunos equipos tienen una
funcin de autoguardado, pero no te confes tanto.
Cuando guardas los datos se graban en el disco duro hasta que t decidas borrarlos.

La memoria RAM se mide en megabytes (MB) o gigabytes (GB). Cuanta ms memoria


RAM tenga tu computador, ms cosas podrs hacer al mismo tiempo. Si no tienes la
suficiente memoria RAM, podrs notar que tu ordenador se pone lento al tener muchos
programas abiertos.
8.- FIRWARE

PROGRAMA PARA EL CONTROL DE UN MOTOR PASO A PASO POR PUERTO


PARALELO

#include<dos.h>
#include<conio.h>
#include<stdio.h>
main()
{
INICIO: int s,x,e=0;
char a,b,c,d;
int m[4]={8,4,2,1};
outportb(0x378,0);
textbackground(1);
textcolor(7);
clrscr();
gotoxy(38,3);
printf("MENU DE OPCIONES");
window(30,5,60,15);
textbackground(7);
textcolor(1);
clrscr();
gotoxy(3,2);
printf("TECLA H - GIRO HORARIO");
gotoxy(3,4);
printf("TECLA A - GIRO ANTIHORARIO");
gotoxy(3,6);
printf("TECLA P - # DE PASOS");
gotoxy(3,8);
printf("TECLA Q - SALIR DEL PROGRAMA \n");
gotoxy(3,10);
ABC: delay(500);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
a=_AL;
if((a=='H')||(a=='A')||(a=='P')||(a=='Q'))
b=a;
switch(b)
{
case 'H': goto HORA;
case 'A': goto ANTI;
case 'P': goto PASOS;
case 'Q': goto FIN;
}
goto ABC;

HORA: clrscr();
outportb(0x378,0);
textbackground(1);
textcolor(7);
clrscr();
window(30,5,60,20);
textbackground(7);
textcolor(1);
clrscr();
gotoxy(8,4);
printf("GIRO HORARIO");
gotoxy(3,6);
printf("TECLA A - GIRO ANTIHORARIO");
gotoxy(3,8);
printf("TECLA P - # DE PASOS");
gotoxy(3,10);
printf("TECLA T - PARA TERMINAR");

V1: for(x=0;x<4;++x)
{
outportb(0x378,m[x]);
textcolor(1);
gotoxy(14,14);
printf("%2d",m[x]);
delay(200);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='A') goto ANTI;
if(b=='P') goto PASOS;
if(b=='T') goto INICIO;
if(b=='2') goto V2;
if(b=='3') goto V3;
}
goto V1;

V2: for(x=0;x<4;++x)
{
outportb(0x378,m[x]);
textcolor(1);
gotoxy(14,14);
printf("%2d",m[x]);
delay(50);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='A') goto ANTI;
if(b=='P') goto PASOS;
if(b=='T') goto INICIO;
if(b=='1') goto V1;
if(b=='3') goto V3;
}
goto V2;

V3: for(x=0;x<4;++x)
{
outportb(0x378,m[x]);
textcolor(1);
gotoxy(14,14);
printf("%2d",m[x]);
delay(5);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='A') goto ANTI;
if(b=='P') goto PASOS;
if(b=='T') goto INICIO;
if(b=='1') goto V1;
if(b=='2') goto V2;
}
goto V3;

ANTI: clrscr();
outportb(0x378,0);
textbackground(1);
clrscr();
window(30,5,60,20);
textbackground(7);
textcolor(1);
clrscr();
gotoxy(8,4);
printf("GIRO ANTIHORARIO");
gotoxy(3,6);
printf("TECLA H - GIRO HORARIO");
gotoxy(3,8);
printf("TECLA P - # DE PASOS");
gotoxy(3,10);
printf("TECLA T - PARA TERMINAR");

V11: for(x=3;x>=0;--x)
{
outportb(0x378,m[x]);
gotoxy(14,14);
printf("%2d",m[x]);
delay(200);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='H') goto HORA;
if(b=='P') goto PASOS;
if(b=='T') goto INICIO;
if(b=='2') goto V12;
if(b=='3') goto V13;
}
goto V11;

V12: for(x=3;x>=0;--x)
{
outportb(0x378,m[x]);
gotoxy(14,14);
printf("%2d",m[x]);
delay(50);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='H') goto HORA;
if(b=='P') goto PASOS;
if(b=='T') goto INICIO;
if(b=='1') goto V11;
if(b=='3') goto V13;
}
goto V12;

V13: for(x=3;x>=0;--x)
{
outportb(0x378,m[x]);
gotoxy(14,14);
printf("%2d",m[x]);
delay(5);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='H') goto HORA;
if(b=='P') goto PASOS;
if(b=='T') goto INICIO;
if(b=='1') goto V11;
if(b=='2') goto V12;
}
goto V13;

PASOS: clrscr();
gotoxy(3,4);
printf("INGRESE EL NUMERO DE PASOS:\n");
gotoxy(14,8);
scanf("%d",&c);
delay(500);
outportb(0x378,0);
textbackground(1);
clrscr();
window(30,5,60,22);
textbackground(7);
textcolor(1);
clrscr();
gotoxy(5,4);
printf("MOVIMIENTO POR # PASOS");
gotoxy(3,6);
printf("TECLA H - GIRO HORARIO");
gotoxy(3,8);
printf("TECLA A - GIRO ANTIHORARIO");
gotoxy(3,10);
printf("TECLA T - PARA TERMINAR");
e=0;
OTRO: for(x=0;x<4;++x)
{
outportb(0x378,m[x]);
delay(500);
gotoxy(11,14);
printf("PASO N %d",e+1);
if(e==c) goto INICIO;
++e;
gotoxy(14,16);
printf("%2d",m[x]);
_AH=0x06;
_DL=0xff;
geninterrupt(0x21);
b=_AL;
if(b=='H') goto HORA;
if(b=='A') goto ANTI;
if(b=='T') goto INICIO;
}
goto OTRO;

FIN: return (0);


}
9.- COSTO APROXIMADO

Cantidad Materiales Costo


02 Conectores DB 25 para puerto paralelo 7.00
macho
02 m De cable para puerto paralelo 12.00
01 Conector DB 25 hembra para impreso 9.00
01 Placa con el diseo para el control por 35.00
puerto paralelo
01 Base de impreso de 20 pines 2.00
01 Circuito integrado 74LS541 3.00
09 Resistencias de 1 Kn a w 1.00
09 Focos led miniatura color azul 2.00
04 Bornes 2 pines azul 6.00
03 Bornes 3 pines azul 6.00
01 Motor paso a paso bipolar 10.00
01 ULN2003 3.00
05 m De estao (soldadura) 3.00
01 Lata pequea de pasta de soldadura 6.00
01 Costo de programa 150.00
01 Costo de mano de obra 100.00
TOTAL 355.00
10.- VISTAS FOTOGRAFICAS
10.1.- Primero Paso:
Se procede a elaborar el cable paralelo con los conectores DB25 macho y los 2 m. de
cable.

10.2.- Segundo Paso:


Se realiza el diseo de la placa interface para el Puerto Paralelo en el software Orcad.
Se hace la elaboracin de la placa y seguidamente el ensamble de los componentes
que se requieren.
10.3.- Tercero Paso:
Se procede a la elaboracin de la placa de potencia para el control del motor de paso
En una placa universal.

10.4.- Cuarto Paso:


Seguidamente se habilita el motor de paso, de tal manera que se pueda apreciar los
movimientos generados por el control que genera la PC.
10.5.- Quinto Paso:
Se elabora el programa de control en el compilador TURBO C++ V3.2

Вам также может понравиться