Sei sulla pagina 1di 3

ROBOT HEXAPODO

Informe Tcnico

Es un robot que consta de 6 extremidades, usadas para desplazarse, a


continuacin caractersticas tcnicas del dispositivo a disearse:

Se est usando 6 servomotores de robtica SG5010 de 5kg-F para


el manejo de la posicin angular de cada pata del robot.
Para la alimentacin energtica se est usando una batera de 12
voltios 4.4 AHora.
Microcontroladores PIC 16F876A y el 18f2550 de Microchip
Technology trabajndolos a un clock de 20Mhz.
Para la etapa de potencia 2 reguladores de 5voltios LM7805 y los
TIP41C y TIP31C.
Capacitores electrolticos de 220uFx25v y capacitores cermicos
para el cristal de cuarzo de 20Mhz.

#use delay(clock=20M)
//#use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
//#include "usb_cdc.h"
//#include "usb_desc_cdc.h"
#byte trisa=0xF92
#byte porta=0xF80
#byte lata=0xF89
#byte trisb=0xF93
#byte portb=0xF81
#byte latb=0xF8A
#byte trisc=0xF94
#byte portc=0xF82
#byte latc=0xF8B
long dt=0,t0=400,t1=230,t2=400,t3=400,t4=300,t5=210;
long b0=0,b1=0,b2=0,b3=0,b4=0,b5=0,t=10,nv=0;
void frecuencia();
void main()
{
trisa=0b11;
trisb=0;
trisc=0b10000000;
//usb_cdc_init(); // Funciones necesarias para iniciar el mdulo USB.
//usb_init(); // Funciones necesarias para iniciar el mdulo USB.
//usb_task();
//setup_timer_2(t2_div_by_16,255,16);

//setup_ccp1(ccp_pwm);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(ALL_ANALOG);
prueba:
output_high(pin_b0);
//b0 +200 avanza
b0=t0+dt;
delay_us(b0);
output_low(pin_b0);
output_high(pin_b1);
b1=t1+nv;
//b1 +50 levanta
delay_us(b1);
output_low(pin_b1);
output_high(pin_b2);
b2=t2+dt;
delay_us(b2);
//b2 -200 atraz
output_low(pin_b2);
output_high(pin_b3);
b3=t3-dt;
delay_us(b3);
//b3 -200 avanza
output_low(pin_b3);
output_high(pin_b4);
b4=t4-dt;
delay_us(b4);
//b4 +200 atraz
output_low(pin_b4);
output_high(pin_b5);
b5=t5-nv;
delay_us(b5);
//b5 -50 levanta
output_low(pin_b5);
delay_us(20000-b0-b1-b2-b3-b4-b5);
t++;
if(t>20&&t<40)nv=-50;
//flota
if(t>40&&t<60)dt=200;
//avanza
if(t>60&&t<70)nv=40;
//levanta
if(t>70)
{dt=0;
t=10;}
goto prueba;}

Potrebbero piacerti anche