Você está na página 1de 10

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin Superior Instituto Universitario Tecnolgico Agro Industrial

l IUTAI San Cristbal.- Estado Tchira

INFORME DE AUTOMATIZACION INDUSTRIAL

Integrantes: Santamara Jos C.I. 14217628 Sarmiento Pedro C.I. 9220599 Espinel Jos C.I.13149161 Seccin: EN4B

1-El funcionamiento del motor paso a paso para la primera condicin es oprimir el nro. 1 para activar cada bobina atreves de los puertos RB0, RB1, RB2, RB3 en sentido de las agujas del reloj por un lapso de 500ms dando un giro completo y despus detenerse como lo indica la tabla de la verdad.
2-la segunda condicin se oprime el nro. 2 para activar las bobinas del motor pero con la diferencia de que es en sentido contrario de las aguas del reloj. 3-esta condicin tiene como finalidad hacer girar el motor indefinidamente el motor con un retardo de 2ms por vuelta oprimiendo la tecla nro.3 4- es igual a la anterior pero en sentido anti horario oprimiendo la tecla 4. 5-esta condicin hace que el motor se acelere progresivamente y posteriormente se detenga.

SENTIDO HORARIO PARA UNA VUELTA RB3 1 0 0 0 RB2 0 1 0 0 RB1 0 0 1 0 RB0 0 0 0 1

SENTIDO ANTI HORARIO PARA UNA VUELTA RB3 0 0 0 1 RB2 0 0 1 0 RB1 0 1 0 0 RB0 1 0 0 0

Las otras tablas son iguales solo que con las condiciones DO,FOR,WHILE se hace que los ciclos sean repititivos y se cumpla lo propuesto

R1

220R

13 14 OSC1/CLKIN OSC2/CLKOUT

LED-BARGRAPH-RED

2 3 4 5 6 7 8 9 10

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

33 34 35 36 37 38 39 40

1 2 3 4 5 6 7 8 9 10

20 19 18 17 16 15 14 13 12 11

U2

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT 15 16 17 18 23 24 25 26 1 2 3 VSS VDD VEE RS RW E 4 5 6

CTS

RTS

TXD

RXD

RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7

19 20 21 22 27 28 29 30

LM016L

LCD1

U1

PIC16F877A

R5
4.7k 4.7k 4.7k 4.7k

7 8 9 10 11 12 13 14 D0 D1 D2 D3 D4 D5 D6 D7

R4 R3 Q1 Q2
IRFZ44N IRFZ44N +88.8

R2
voltaje

Q3 Q4

IRFZ44N

IRFZ44N

// 01/04/2013 //HECHO POR: //SANTAMARIA JOSE //CI:14217628 //PEDRO SARMIENTO //CI:9220599 //ESPINEL JOSE //CI:13149161 #include <16f877A.h> #fuses XT,NOWDT, NOPROTECT,NODEBUG,NOLVP,PUT #use delay(clock=20M) #use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N) #include <lcd.c> #BYTE TRISB = 0X86 #BYTE PORTB = 0X06

int retardo,i; char ch, aux;

void main() { TRISB= 0X00; PORTB=0x00; lcd_init(); printf(lcd_putc,"\f Motor Paso\n a Paso");

printf(" \r"); printf(" Opciones rotacion del motor Paso a Paso\r"); printf("1. vuelta a la derecha \r"); printf("2. vuelta a la izquierda \r"); printf("3. vueltas indefinidas a la derecha \r"); printf("4. vueltas indefinidas a la izquierda \r"); printf("5. Aceleracion de motor a la derecha \r"); printf("6. Detener el Motor \r");

do{ ch=getc();

if(ch==1){ retardo=500; printf(lcd_putc,"\f Motor a la \n derecha"); portb=0x08; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x01; delay_ms(retardo); } if(ch==2){ retardo=500;

printf(lcd_putc,"\f Motor a la \n izquierda"); portb=0x01; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x08; delay_ms(retardo); } if(ch==3){ retardo=2; printf(lcd_putc,"\f Motor a la \nderecha rapido"); do{

portb=0x08; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x01; delay_ms(retardo); aux=getc(); }while (aux!=6); printf(lcd_putc,"\f Motor detenido");

} if(ch==4){ retardo=2; printf(lcd_putc,"\f Motor a la \nizquierda rapido"); do{ portb=0x01; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x08; delay_ms(retardo); aux=getc(); }while (aux!=6); printf(lcd_putc,"\f Motor detenido"); } if(ch==5){ retardo=500; printf(lcd_putc,"\f Motor variando \n velocidad"); for(i=1;i<62;i++){ portb=0x08; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x02;

delay_ms(retardo); portb=0x01; delay_ms(retardo); retardo= retardo-8; } for(i=0;i<625;i++){ portb=0x08; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x01; delay_ms(retardo); } for(i=1;i<62;i++){ portb=0x08; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x01; delay_ms(retardo); retardo= retardo+8; }

for(i=0;i<250;i++){ portb=0x08; delay_ms(retardo); portb=0x04; delay_ms(retardo); portb=0x02; delay_ms(retardo); portb=0x01; delay_ms(retardo); } }

}while(1);

Você também pode gostar