Como Construir Un Robot Araña

32
Como construir un robot araña. Escrito por Antonio el 06/12/2006 INTRODUCCIÓN: Por inquietud de un amigo me propuse realizar un robot, ya que comencé a interesarme por el mundo de los microcontroladores de microchip, y viendo el gran rendimiento y versatilidad, vi posible este proyecto. Para comenzar adquirí un poco de material y comencé el diseño de la parte electrónica y posteriormente de la mecánica, la cual me llevó un par de días en decidir como funcionaria mejor y que elementos definitivos tendría que usar, al principio pensé en usar motores DC, para que así en vez de patas tenga ruedas (que en realidad hubiese sido mucho mas fácil) pero bueno, me complique la vida queriendo usar servomotores de los que se usan en aeromodelismo/automodelismo por lo cual tuve que investigar como funcionan. Al cabo de un tiempo encontré información muy útil que me dio muchas ideas no solo para este robot si no para otro tipo de aplicaciones. Cabe mencionar que como el estilo araña seria su forma final, tuve que nada menos que capturar una araña y grabar con una cámara su movimiento y así poder llevar ese movimiento a los 3 servomotores que utilice (cada servomotor mueve 2 patas, 6 patas en total). POR QUE USAMOS SERVOMOTORES: Una de las ventaja de los servomotores es su fuerza y que si se le esta entregando señal adecuada quedan en una posición fija, y si tratas de moverlo el servo hace fuerza contraria para mantener su posición en que se dejo (gran ventaja en comparación a los motores DC y Paso a Paso.) la única desventaja es que originalmente solo trabajan de 0° a 180° pero se pueden modificar fácilmente para que giren 360º y así se pueden utilizar como motores y se les puede controlar la velocidad y el sentido de giro.

description

robot araña

Transcript of Como Construir Un Robot Araña

Como construir un robot araa.Escrito porAntonioel 06/12/2006INTRODUCCIN:Por inquietud de un amigo me propuse realizar un robot, ya que comenc a interesarme por el mundo de los microcontroladores de microchip, y viendo el gran rendimiento y versatilidad, vi posible este proyecto. Para comenzar adquir un poco de material y comenc el diseo de la parte electrnica y posteriormente de la mecnica, la cual me llev un par de das en decidir como funcionaria mejor y que elementos definitivos tendra que usar, al principio pens en usar motores DC, para que as en vez de patas tenga ruedas (que en realidad hubiese sido mucho mas fcil) pero bueno, me complique la vida queriendo usar servomotores de los que se usan en aeromodelismo/automodelismo por lo cual tuve que investigar como funcionan. Al cabo de un tiempo encontr informacin muy til que me dio muchas ideas no solo para este robot si no para otro tipo de aplicaciones. Cabe mencionar que como el estilo araa seria su forma final, tuve que nada menos que capturar una araa y grabar con una cmara su movimiento y as poder llevar ese movimiento a los 3 servomotores que utilice (cada servomotor mueve 2 patas, 6 patas en total).POR QUE USAMOS SERVOMOTORES:Una de las ventaja de los servomotores es su fuerza y que si se le esta entregando seal adecuada quedan en una posicin fija, y si tratas de moverlo el servo hace fuerza contraria para mantener su posicin en que se dejo (gran ventaja en comparacin a los motores DC y Paso a Paso.) la nica desventaja es que originalmente solo trabajan de 0 a 180 pero se pueden modificar fcilmente para que giren 360 y as se pueden utilizar como motores y se les puede controlar la velocidad y el sentido de giro.LISTA DE COMPONENTES NECESARIOS: 3 Reostatos de 1k. 4 Resistencias de 10k. 3 Resistencias de 1k. 3 Resistencias de 220 ohmios. 1 Regulador de voltaje 78m05. 1 Cristal de 4mhz. 1 PIC 16f84a (micro-controlador 84). 1 Integrado lm324n. 3 Leds. 3 Foto-celdas. 3 Servos FT-S148 (u otro de marca FUTABA con un torque de unos 3Kg). 4 Pilas AA. 1 Pila de 9V. 2 Capacitadores Cermicos 33pf (33 pico faradios). 1 Capacitador Cermico de 104f (104 faradios).CONSTRUCCIN DEL CHASIS Y LAS PATAS:Si alguien se anima puede mejorarlo, no solo construirlo igual a este. Para comenzar ir explicando por la parte mecnica para dar lugar ms tarde a la parte electrnica analgica y digital. Lo primero de todo son las herramientas necesarias para la construccin del chasis y un instrumento para medir en el caso de la electrnica, algunos de ellos se muestran en la siguiente foto:

Para la base del robot utilice un tubo de PVC estirado, obviamente un terciado delgado servira tambin u otro tipo de plstico no tan grueso, para as no aadir demasiado peso adicional. Corte un pedazo de PVC en forma de rectngulo de 15cm su lado mayor y el menor de 9cm y puse los servos de tal forma que sus ejes de movimiento estuvieran en linea recta y en la mitad del rectngulo como se muestra en la foto de ms abajo, adems de los orificios que se marcan y distribuyen cuando estos estn listos para ser montados, el detalle de los orificios no esta detallado ya que tienen que posicionarlos de manera uniforme en el rectngulo para mantener un equilibrio y estabilidad a futuro (mas adelante vern como son posicionados dentro de este rectngulo).

Como se puede apreciar solo hay dos orificios para los servomotores, esto se debe a que uno de los servos tiene que ir en forma horizontal como lo veremos mas adelante. Tambin hay unos cachos de plstico que soportaran el servo a una altura adecuada de la placa para que todos queden al mismo nivel cuando estn montados, estos son un rectngulo de 2cm por 1cm y como se ve en la figura son 4, adems de 8 tornillos con dos tuercas por tornillo que nos fijaran dos de los servos, el tercero se fijara con un amarra cable ya que es mas practico por su posicin en horizontal. Los tornillos son de 1.5mm por 1 pulgada. A continuacin mostraremos el servo con su cabezal redondo y el alambre que nos servir de patas para la primera parte, lo podis ver en la siguiente foto:

Como podis ver tenemos un trozo de alambre de unos 25 cm de largo por 1.5mm cuadrado de seccin, por cada servo se necesitan 3 tiras de esa misma medida ya que por firmeza tuve que agregarle esa cantidad ya que por el peso de este cuando esta terminado no era capaz de mantener rgidas las patas. El cabezal del servo tiene tres orificios por cada 90 y cada alambre se inserta de la manera mostrada en la siguiente foto:

Como podis ver en la foto ya esta ensamblado en uno de los 3 orificios falta que pase por el segundo y curvar el alambre para que tenga nuestra forma deseada:

Aunque no se ve muy bien debo mencionar que el alambre pasa por los dos orificios y sale por la parte delantera del cabezal. En la siguiente foto ya se ve terminado con sus tres alambres por cabezal y envueltos con hincha aisladora para darle rigidez.

En la siguiente foto ya esta montado en el eje con una de sus dos patas terminadas, as deben quedar dos de los 3 servomotores:

El 3 servo los alambres y posicin de estos deben quedar como se muestra en la siguiente foto:

Si se fijan bien en la foto de arriba este es el servo que ira en la parte del medio y sus alambres estn en otra direccin, este servo es el que se encarga de inclinar todo el cuerpo de la araa mientras los otros dos hacen que se desplace. Sin este servo no existe movimiento alguno ya que para poder avanzar hay que inclinar el peso hacia un lado para mantener el equilibrio y as poder alanzar con el otro pie, en este caso pasa algo similar, necesito inclinar el eje de equilibrio para que los dos servos restantes puedan hacer que la base completa se desplace. Como se ve en la siguiente foto ya tenemos los tres servos con sus respectivas cabezas y patas terminadas lista para ser montadas al final del proyecto cuando todo este en su sitio:

COMENZAMOS EL MONTAJE:En la siguiente foto se puede ver el primer servo en su sitio con sus tornillos y soportes de plstico pequeos, fjense que el eje de giro se encuentra en la mitad de la base marcado con una lnea:

En la siguiente foto tenemos ya montado el segundo servo, que se monta de forma igual al anterior:

En la siguiente foto se ve la parte superior en donde esta anclado el servo con sus tuercas que mantendrn el servo en su posicin::En la siguiente foto se puede ver el 3 servo que va en forma horizontal con sus amarra cable como sujecin:

En la siguiente foto se observa con mas detalle el posicionamiento de los servos, observe que el servo que tiene el nmero 1 su cable de control ha sido pasado por el orificio que esta a un costado:

Aqu es importante que tengan cada servo enumerado como se puede ver en la foto de arriba, en una esquina el servo 0 en la otra el 2 y en el medio el 1 tambin se debe marcar el terminal de conexin del servo con el numero que corresponda, ya que esto nos servir para entender su conexionado posterior y para el que entienda de programacin sepa en el programa de movimiento que servo es el que se debe mover.LA ALIMENTACIN ELCTRICA:Para mover los servos usaremos 4 pilas AA de 1,5V. cada una y para la parte electrnica analgica y digital una pila de 9V. que limitaremos a 5V. con un regulador de voltaje.

Y no olvidis comprar tambin un porta-pilas para 4 pilas AA y un conector para la pila de 9V, como veis en al foto superior, as podremos posicionar dichos elementos ms fcilmente en nuestro robot, para sujetar la placa que contendr el circuito yo usar 2 gomas elsticas como podis ver en la foto:

EL CIRCUITO:Como podis ver ms abajo est el esquema electrnico que se encarga de verificar la fuente de luz, que en este caso usamos 3 sensores de luz para direcionar entre Izquierda, Centro y Derecha, y que son llevados al microcontrolador (16F84A) que se encargar de procesar y enviar las ordenes a los servomotores para poder hacer lo que se pretende, que es mover la araa en el sentido de la fuente de luz.DIBUJO DEL CIRCUITO AQU (Pulsa aqu para verlo)En el dibujo de arriba esta detallada cada seccin de todo el conjunto, la parte Analgica que se encarga de enviar la seal al microcontrolador (Control digital) su fuente de alimentacin y regulacin y finalmente la parte de potencia que son los servomotores. Voy a explicar cada una de ellas para que entiendan como funciona cada parte del circuito. Comenzando con la parte analgica vemos en el costado izquierdo superior que tenemos 3 LDRs que nos darn la posicin de la fuente de luz, y son puestos en un circuito integrado que esta configurado como comprobador de voltaje y que para un LDR entendemos que: Al aplicarle luz a la foto resistencia su valor disminuye ingresando por la entrada negativa del operacional un valor que se compara por el de la resistencia variable de 1k ohm cuando este valor es igual a la salida del operacional tenemos un alto (3,3V. aproximadamente) y cuando no existe luz este valor de voltaje es diferente por el cual la salida de ese operacional es de 0 Voltios. A la salida de cada operacional se conecta diodos LED que se encargan de avisarnos el estado de las entradas y as poder verificar y ajustar con las resistencias variables de 1k ohm el valor de luz o mejor dicho la sensibilidad a la luz que queremos que funcione nuestro robot, si se encuentra encendido algn led es por que esta llegando luz de alguna fuente del ambiente, para dejarlo apagado solo se tiene que ajustar la resistencia de 1k ohm hasta que se apague. Debo mencionar que estos indicadores deben estar apagados en un comienzo para as al aplicarles luz comience a funcionar el robot segn la direccin del rayo de luz. Aqu podemos sacar en conclusin que para los 3 LDRs tenemos 8 posibles combinaciones que nos darn los diferentes estados que sern procesados por el micro-controlador, esta tabla se muestra en la siguiente imagen:

Ya sabemos que el 0 corresponde a un 0 lgico y los 3,3V. a un 1 lgico por lo que tenemos una tabla con todas las posibles combinaciones y su respectivo movimiento que llevara a cabo finalmente. En la parte de control Digital se toman estos valores y segn nuestra tabla, se le enviaran las seales al servo que corresponda para hacer un movimiento en particular, y para entender que tipo de seal se le debe enviar, detallare a continuacin como funciona un servomotor:

Como se muestra en la figura y como mencion anteriormente el servo tiene una movilidad de 180 y funciona con lo que se conoce como modulacin por ancho de pulsos o PWM. Osea este servo que es de la marca FUTABA de Radio-Control, funciona a 50Hz, o sea en un segundo le son enviados 50 pulsos, y con un simple calculo se puede dividir 1/50 y nos dar 20miliseg el ancho de pulso se utilizara para el trabajo del movimiento de este: Osea trabajando en este pequeo intervalo, podemos poner en un ngulo a nuestro antojo el servomotor y que se quede all hasta que cambiemos ese pulso por otro. Para 0 tenemos que tener un pulso de 0,2 mili segundos y el resto un pulso bajo hasta los 20 mili-segundos, esto repetidamente 50 veces nos da los 50 Hz y por consecuencia el servo en la posicin 0 como se muestra en la figura. Para 90 tenemos que aplicar un pulso de 1,5 mili segundos y el resto en pulso bajo hasta los 20 mili-segundos, esto repetidamente por 50 Hz nos dar la posicin 90, tambin mostrado en la figura. Y para 180 tenemos que aplicar un pulso de 2,2 mili segundos y el resto en pulso bajo hasta los 20 mili-segundos, esto repetidamente por 50 Hz nos dar la posicin 180. Para este caso en particular se uso como centro 90 y se calcularon matemticamente los pulsos para 66,5 y 112,5 que sern los 3 ngulos usados para que camine nuestra araa.En el programa en ASM se detallan los tiempos de estos pulsos como asi las rutinas usadas para el movimiento podis verlos en este documento de texto:Programa Robot.txtDebo mencionar que para aumentar la rapidez entre servo y servo en vez de repetir 50 veces el movimiento por servo lo disminu a 8 y para centrarlo a 13 veces. No pretendo explicar el programa ya que seria muy largo, pero bien resumido el programa analiza los niveles lgicos de los sensores LDR que son 8 para as ejecutar una rutina de movimiento X y as poder llevar los 3 servos en una direccin X, este movimiento esta comprobado y posteriormente ser puesto un vdeo con su desempeo.

Aqu mostramos el ensamble de la parte analgica en un protoboard y que usa el circuito integrado para llevar la informacin de los LDR a niveles lgicos que el micro-controlador procesara a futuro, tambin estn las LDR los Diodos LED que indicaran cuando se este alumbrando cada LDR.

Aqu se encuentra ensamblado el circuito digital de proceso con su micro-controlador y sus accesorios como la pequea regleta de conexionado donde irn los servos conectados, y la fuente regulada que se encarga de pasar los 9 volt a los 5 volt de trabajo del Micro-controlador y que tambin ser usado para la parte analgica

Aqu ya esta ensamblado los dos protoboard y unidas las seales de control como las fuentes tal como salan en el esquema del circuito. solo queda ponerlo sobre la base y conectar los servos como se muestra en la siguiente Figura. Un de talle importante es que la parte que tiene los sensores (LDR), debe ir sobre el servo con la numeracin 0.

Aqu ya esta ensamblado casi por completo el circuito.

Solo nos queda colocar en su posicin cada pata de nuestra araa (Ver siguiente Figura.).

Y ya estamos listos

Ya esta terminada nuestra araa solo queda programar el Micro-controlador con un programador para PIC y ver si responde a nuestro mandato de luz.Espero la disfruten! Aqu tenis un vdeo en el que se puede ver como reacciona a la luz:Mostrando la parte analgica en funcionamiento.ACTUALIZACIN:Mejorando algunas rutinas, perfeccionando el movimiento y acelerando el tiempo de movilidad entre servo y servo, logre un mejor desempeo en cuanto a su movilidad. Con este nuevo programa mi robot quedo mas gil y gira con mayor facilidad, aqu lo tenis:Programa Robot2.txtY aqu un vdeo de la araa con el nuevo programa:El costo total de este bicho ha sido de unos 65 Euros.ACTUALIZACIN 01/07/2008:Para hacer ms fcil la tarea de subir el programa al PIC, aqu lo tenis en formato HEX, as no tenis ya que compilarlo:DESCARGAR HEX (zip)Son varios, cada uno hace que el robot se mueva a una velocidad,usad el que ms os guste!Tutorial y Fotos por: Jorge O. Lezana S, Valdivia (Chile).Muchas gracias a Jorge por ceder el tutorial aRobotic-Lab!PARA CUALQUIER DUDA USAD EL FORO:http://www.robotic-lab.com/foros/

;****************************************************************************************************;; PROGRAMA : ROBOT4.ASM AUTOR:JORGE LEZANAFECHA: 30/7/2004;;PROGRAMA PARA MOVER UNA ARAA SEGUN 3 POSICIONES DE LUZ, CON ESTO SE PUEDE HACER QUE CON ALGUNA;COMBINACION ABANCE, SE DETENGA, GIRE ALA IZQUIERDA, GIRE ALA DERECHA, CADA SERVO ES CONTROLADO ;INDEPENDIENTEMENTE CON PULSOS QUE LIMITAN SU RECORRIDO A UN ANGULO ESPECIFICO, POR EJEMPLO;PARA 90 SE LE ENVIA UN PULSO DE 1.5 MILISEGUNDOS, PARA 67 UN PULSO DE 1.2 MILISEGUNDOS;PARA 112 UN PULO DE 1.8 MILISEGUNDOS, TODOS EN UNA FRECUENCIA DE 50 HZ ;PARA ESTO SE CALCULAN 4 NUMEROS AUXILIARES PARA LLEGAR A DICHOS TIEMPOS (2 PULSOS ALTOS Y;2 PULSOS BAJOS) Y SE EMPLEAN RUTINAS.;; Revision : 1.0 Programa para : PIC16F84A; Velocidad del reloj : 4 MHz Reloj instruccin: 1 MHz = 1 us, T= 4 us; Perro Guardian : Deshabilitado Tipo de reloj : XT ; Proteccion del codigo : OFF;;;**************************************************************************************************** LIST P=16F84A ;EL PIC QUE VAMOS A UTILIZAR.

;****************************** IGUALIDADES *********************************************************

w EQU 0X00 ;DESTINO w (REGISTRO DE TRABAJO)f EQU 0X01 ;DESTINO f (REGISTRO A USADO) ESTADO EQU 0X03 ;ESTADO, ESTA EN LA DIRECCION 3RP0 EQU 0X05 ;RP0 EQUIVALE A 5. PCL EQU 0x02 ;DIRECCION DEL PCL (CONTADOR DEL PC)PUERTAA EQU 0X05 ;PUERTAA SE ENCUENTRA EN LA DIRECCION 5.PUERTAB EQU 0X06 ;PUERTAB SE ENCUENTRA EN LA DIRECCION 6.ALTO_1 EQU 0x0c ;DIRECCION DEL REGISTRO DEL PULSO ALTOALTO_2 EQU 0x0d ;DIRECCION DEL REGISTRO DEL PULSO ALTOBAJO_1 EQU 0X0e ;DIRECCION DEL REGISTRO DEL PULSO BAJOBAJO_2 EQU 0x0f ;DIRECCION DEL REGISTRO DEL PULSO ALTOHZ EQU 0x1c ;DIRECCION DEL REGISTRO HZ (50 VECES, PARA FORMAR 50HZ)

;***************** AQUI EMPIEZA EL PROGRAMA. ********************************************************

ORG 0 ;ORIGEN DEL PROGRAMA, AQUI EMPIEZA. goto INICIO ;VA A INICIO PARA SOBREPASAR ;EL VECTOR DE INTERRUPCION. ORG 5

INICIO bsf ESTADO,RP0 ;Cambio al banco 1 movlw b'00000111' ;2 bit de puerto A como entrada movwf PUERTAA clrf PUERTAB ;Puerta B como salida bcf ESTADO,RP0 ;Cambio al banco 0 clrf PUERTAA ;Borro puerta A clrf PUERTAB ;Borro puerta B

;******************** Leer las entrada para desplazar servo *****************************************

LEE_ENTRADA movf PUERTAA,0 ;Mueve el valor de la entrada al registro w (Lee entradas) addwf PCL,1 ;Sumo este valor al PCL goto QUIETO ;Si es 000 ejecuta QUIETO goto IZQUIERDA ;Si es 001 ejecuta IZQUIERDA goto ABANZA ;Si es 010 ejecuta ABANZA goto IZQUIERDA ;Si es 011 ejecuta IZQUIERDA goto DERECHA ;Si es 100 ejecuta DERECHA goto QUIETO ;Si es 101 ejecuta QUIETO goto DERECHA ;Si es 110 ejecuta DERECHA goto ABANZA ;Si es 111 ejecuta ABANZA

QUIETO call SV_1_90 call SV_0_90 call SV_2_90 goto LEE_ENTRADA

ABANZA call SV_1_67 call SV_0_112 call SV_1_112 call SV_2_67 call SV_1_112 call SV_0_67 call SV_1_67 call SV_2_112 goto LEE_ENTRADA

IZQUIERDA call SV_1_112 call SV_0_112 call SV_1_112 call SV_2_67 call SV_1_112 call SV_1_90 call SV_0_90 call SV_2_90 goto LEE_ENTRADA DERECHA call SV_1_67 call SV_0_67 call SV_1_67 call SV_2_112 call SV_1_67 call SV_1_90 call SV_0_90 call SV_2_90 goto LEE_ENTRADA

;************ Rutina para posicionar el servo en los 90 ********************************************

SV_0_90 movlw d'3' movwf HZALTO_90_0 bsf PUERTAB,0 ;Pone a 1 el bit 0 de la puerta A call AL90BAJO_90_0 bcf PUERTAB,0 ;Pone a 0 el bit 0 de la puerta A call BA90 decfsz HZ,1 goto ALTO_90_0 return SV_1_90 movlw d'3' movwf HZALTO_90_1 bsf PUERTAB,1 ;Pone a 1 el bit 0 de la puerta A call AL90BAJO_90_1 bcf PUERTAB,1 ;Pone a 0 el bit 0 de la puerta A call BA90 decfsz HZ,1 goto ALTO_90_1 return SV_2_90 movlw d'3' movwf HZALTO_90_2 bsf PUERTAB,2 ;Pone a 1 el bit 0 de la puerta A call AL90BAJO_90_2 bcf PUERTAB,2 ;Pone a 0 el bit 0 de la puerta A call BA90 decfsz HZ,1 goto ALTO_90_2 return

;************ Rutina para posicionar el servo en los 112.5 *****************************************

SV_0_112 movlw d'3' movwf HZALTO_112_0 bsf PUERTAB,0 ;Pone a 1 el bit 0 de la puerta A call AL112BAJO_112_0 bcf PUERTAB,0 ;Pone a 0 el bit 0 de la puerta A call BA112 decfsz HZ,1 goto ALTO_112_0 return

SV_1_112 movlw d'3' movwf HZALTO_112_1 bsf PUERTAB,1 ;Pone a 1 el bit 0 de la puerta A call AL112BAJO_112_1 bcf PUERTAB,1 ;Pone a 0 el bit 0 de la puerta A call BA112 decfsz HZ,1 goto ALTO_112_1 return

SV_2_112 movlw d'3' movwf HZALTO_112_2 bsf PUERTAB,2 ;Pone a 1 el bit 0 de la puerta A call AL112BAJO_112_2 bcf PUERTAB,2 ;Pone a 0 el bit 0 de la puerta A call BA112 decfsz HZ,1 goto ALTO_112_2 return

;************ Rutina para posicionar el servo en los 67.5 ******************************************

SV_0_67 movlw d'3' movwf HZALTO_67_0 bsf PUERTAB,0 ;Pone a 1 el bit 0 de la puerta A call AL67BAJO_67_0 bcf PUERTAB,0 ;Pone a 0 el bit 0 de la puerta A call BA67 decfsz HZ,1 goto ALTO_67_0 return

SV_1_67 movlw d'3' movwf HZALTO_67_1 bsf PUERTAB,1 ;Pone a 1 el bit 0 de la puerta A call AL67BAJO_67_1 bcf PUERTAB,1 ;Pone a 0 el bit 0 de la puerta A call BA67 decfsz HZ,1 goto ALTO_67_1 return

SV_2_67 movlw d'3' movwf HZALTO_67_2 bsf PUERTAB,2 ;Pone a 1 el bit 0 de la puerta A call AL67BAJO_67_2 bcf PUERTAB,2 ;Pone a 0 el bit 0 de la puerta A call BA67 decfsz HZ,1 goto ALTO_67_2 return

;*********** Pulso Alto a 90 1.568 miliseg. ********************************************************

AL90 movlw d'49' movwf ALTO_1A90 movlw d'8' movwf ALTO_2 DC1 decfsz ALTO_2,1 goto DC1 decfsz ALTO_1,1 goto A90 return ;*********** Pulso Bajo a 90 18.4 miliseg. ********************************************************* BA90 movlw d'50' movwf BAJO_1B90 movlw d'92' movwf BAJO_2 DC2 decfsz BAJO_2,1 goto DC2 decfsz BAJO_1,1 goto B90 return

;*********** Pulso Alto a 67.5 1.232 miliseg. ******************************************************

AL67 movlw d'44' movwf ALTO_1A67 movlw d'7' movwf ALTO_2 DC7 decfsz ALTO_2,1 goto DC7 decfsz ALTO_1,1 goto A67 return ;*********** Pulso Bajo a 67.5 18.656 miliseg. ***************************************************** BA67 movlw d'53' movwf BAJO_1B67 movlw d'88' movwf BAJO_2 DC8 decfsz BAJO_2,1 goto DC8 decfsz BAJO_1,1 goto B67 return

;*********** Pulso Alto a 112.5 1.872 miliseg. *****************************************************

AL112 movlw d'52' movwf ALTO_1A112 movlw d'9' movwf ALTO_2 DC9 decfsz ALTO_2,1 goto DC9 decfsz ALTO_1,1 goto A112 return ;*********** Pulso Bajo a 112.5 18.02 miliseg. ***************************************************** BA112 movlw d'53' movwf BAJO_1B112 movlw d'85' movwf BAJO_2 DC10 decfsz BAJO_2,1 goto DC10 decfsz BAJO_1,1 goto B112 return END

http://www.robotic-lab.com/proyectos/tutorial_robot_spider/robot2.txt

Controladora mixta JVM-Servo 28 USB/RS232En este reportaje vamos a hablar de sin duda, una de las mejores controladoras de Servos, su nombre es JVM-Servo, y es capaz de controlar 28 servos desde un ordenador con conexin USB o RS232, y por si fuera poco, adems se puede hacer de forma inalmbrica con un modulo xBee.

Esta controladora es capaz de comunicarse por ambos puertos y reconoce por cual de ellos le llegan los datos.El rango de trabajo de los servos es de 400 a 2400us a 50Hz de forma que se le puede conectar cualquier servo estndar con conexin Futaba.CARACTERSTICAS: No requiere alimentacin en la parte lgica (electrnica) cuando esta conectada al USB. Circuito de alimentacin externo protegido contra inversiones de polaridad (para la conexin RS232). Alimentacion externa a de 7,5v. a 30v. Velocidad RS232 configurable por software. Velocidades soportadas: 9600 (defecto) 19200, 38400, 57600 y 115200 baudios. Librerias de desarrollo en Visual basic 6 y Visual basic 2005.DOCUMENTACIN:- Documento del controlador ESP- Documento del controlador INGLIBRERIAS DE DESARROLLO:- Libreria de ejemplos en Vb6- Libreria de ejemplos en Vb 2005En el siguiente vdeo, podis ver el robot Robby, un pequeo humanoide equipado por esta controladora y un mdulo xBee: