Você está na página 1de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________

Bytes de "Data", "Status" y "Control".


Debido a lo poco comn configuracin de bits de entrada y salida que tiene, el intercambio de
informacin con este puerto paralelo (el estndar) y el mundo exterior es ligeramente complicado. Sin
embargo, una vez entendidos los principios bsicos de funcionamiento y con la lgica de programacin
adecuada, no debe presentar mayores problemas.
Estos 12 bits de salida y 5 bits de entrada estn agrupados en 3 bytes, conocidos ampliamente en la
literatura computacional como los bytes "Data, Status y Control". Esto proviene del diseo original del
puerto que, como ya se mencion, fue hecho pensando en la impresora solamente.
El byte llamado "Data" son los 8 bits de datos de salida que mandan el caracter a la impresora. El byte
de "Control" es para darle rdenes, y est formado por los 4 bits de salida solamente (los otro cuatro bits
del byte no se utilizan). Y finalmente, el byte "Status" est formado por 5 bits de entrada que leen la
condicin de la impresora (los otros bits tampoco se usan).

276449845.doc

Pgina 1 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________
Elctricamente, el puerto paralelo entrega seales TTL y como tal, tericamente, se le puede conectar
cualquier dispositivo que cumpla con los niveles de voltaje especficos de la lgica TTL, sin embargo el
hardware del puerto paralelo est muy limitado en cuanto a su capacidad de manejo de corriente, por
sta razn se debe ser muy cuidadoso con el manejo de las seales del puerto, un corto circuito puede
daar permanentemente la tarjeta madre de la PC. Para disminuir lo ms posible el riesgo de daos al
puerto utilizamos un circuito integrado 74LS244 (un chip para 8 bits)

NOTA: Se requieren dos inversores (un chip 74LS240) para C0 y C1, ya que son negados

Interface PC y Protoboard (Cable para Impresora, carcasas para DB25 y conector a


Protoboard):

276449845.doc

Pgina 2 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________
Medio Puente H por cada motor (Se ocuparn 5 medios puentes H o 3 chips con sus respectivos
diodos):

Para tener el control de dos direcciones o bidireccional se usan dos de drivers del l293b conectando sus
salidas a los polos del motor, entonces podremos cambiar la polaridad de alimentacin del motor con tan
solo cambiar de estado las entradas de los drivers.
Los diodos modelo 1N4007 son para proteger el circuito de los picos de arranque y parada de los
motores debido a la corriente inversa inducida por estos.
Se puede ocupar el L293D que tiene los diodos de proteccin integrados o el siguiente integrado
(SN754410NE):

276449845.doc

Pgina 3 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________

Kit K-680 para un brazo mecnico:

276449845.doc

Pgina 4 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________

Grados de libertad del brazo y led:

Desarrollo:
Prctica 8: Arme el Kit K-680 y prubelo realizando cualquier actividad (mover un objeto de un lado a otro, etc)
Prctica 9: Realice una adaptacin utilizando tres puentes H con sus diodos respectivos, un buffer para
amplificar y proteger la tarjeta madre con 8 bits, otro buffer inversor para los dos bits de control. Se tendr que
conectar la PC a travs del DB25, buffers, puentes H (Con diodos de proteccin) al brazo. Se correr el UsePort
para activar el puerto paralelo y se correr el siguiente programa para controlar el brazo mediante la PC:

276449845.doc

Pgina 5 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________
#include<stdio.h>
#include<conio.h>
#include<dos.h>
void main(void)
{
char a;
textbackground(BLUE); textcolor(YELLOW); clrscr();
gotoxy(20,5) ;printf("<M1> <PINZA> [ABRE = <F1>
gotoxy(20,6) ;printf("

[CIERRE = <F2>

]");

]");

gotoxy(20,8) ;printf("<M2> <MUECA> [ARRIBA = <Inicio>]");


gotoxy(20,9) ;printf("

[ABAJO = <Fin> ]");

gotoxy(20,11);printf("<M3> <CODO> [ARRIBA = <Re Pag>]");


gotoxy(20,12);printf("

[ABAJO = <Av Pag>]");

gotoxy(20,14);printf("<M4> <HOMBRO> [ARRIBA = ^


gotoxy(20,15);printf("

[ABAJO = v

]");

gotoxy(20,17);printf("<M5> <BASE> [IZQ. = <-gotoxy(20,18);printf("


gotoxy(20,20);printf("

[DER. = -->
<LED>

]");

]");

[PRENDE = <F3>

gotoxy(1,1); printf("[SISTEMAS DIGITALES]

]");

]");

CONTROL BRAZO MECANICO

gotoxy(1,2); printf("--------------------------------------------------------------------------------");
gotoxy(1,22);printf("--------------------------------------------------------------------------------");
do
{
gotoxy(1,23);printf("<Esc> = Salir");
a=getch();
if (a==0)
{
a=getch();
/* gotoxy(1,3); printf("<%c>",a); */
if (a==';')
{

276449845.doc

Pgina 6 de 9

[CECyT 9]");

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________
gotoxy(34,23);printf("ABRE

<PINZA>");

outportb(0x378,0x01);
delay(5000);
outportb(0x378,0x00);
}
if (a=='<')
{
gotoxy(34,23);printf("CIERRA <PINZA>");
outportb(0x378,0x02);
delay(5000);
outportb(0x378,0x00);
}
if (a=='G')
{
gotoxy(34,23);printf("ARRIBA <MUECA>");
outportb(0x378,0x04);
delay(5000);
outportb(0x378,0x00);
}
if (a=='O')
{
gotoxy(34,23);printf("ABAJO <MUECA>");
outportb(0x378,0x08);
delay(5000);
outportb(0x378,0x00);
}
if (a=='I')
{
gotoxy(34,23);printf("ARRIBA <CODO>");
outportb(0x378,0x10);
delay(5000);

276449845.doc

Pgina 7 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________
outportb(0x378,0x00);
}
if (a=='Q')
{
gotoxy(34,23);printf("ABAJO

<CODO>");

outportb(0x378,0x20);
delay(5000);
outportb(0x378,0x00);
}
if (a=='H')
{
gotoxy(34,23);printf("ARRIBA <HOMBRO>");
outportb(0x378,0x40);
delay(5000);
outportb(0x378,0x00);
}
if (a=='P')
{
gotoxy(34,23);printf("ABAJO <HOMBRO>");
outportb(0x378,0x80);
delay(5000);
outportb(0x378,0x00);
}
if (a=='K')
{
gotoxy(34,23);printf("IZQ.

<BASE>");

outportb(0x37A,0x01);
delay(5000);
outportb(0x37A,0x00);
}
if (a=='M')

276449845.doc

Pgina 8 de 9

PRINCIPIOS DE AUTOMATIZACIN

Elabor: HVF

Prcticas 8, 9 y 10
__________________________________________________________________________________________________________
{
gotoxy(34,23);printf("DER.

<BASE>");

outportb(0x37A,0x02);
delay(5000);
outportb(0x37A,0x00);
}
if (a=='=')
{
gotoxy(34,23);printf("PRENDE

<LED>");

outportb(0x37A,0x04);
delay(5000);
outportb(0x37A,0x00);
}
}
}
while (a!=27);
}

Prctica 10: A partir de la prctica 9 realice un programa en C (no usar el de la 9, solo es de referencia), para
que realice una actividad en forma automtica. Usar delay (tambin se pueden ocupar ciclos for) entre cada
outportb (se pueden tambin ocupar repeticiones dentro de un for, o la combinacin de ambos) para darle el
tiempo al brazo para que realice cada movimiento.

276449845.doc

Pgina 9 de 9

Você também pode gostar