You are on page 1of 27

SERVOMOTORES Y

SINCROMECANISMOS
Robot Araa





Instituto Tecnolgico Superior
Carlos Cisneros


Elaborado por:
Moyn Llamuca Jhonny Fernando
Valdivieso Cristian
DOCENTE
Ing. Mara Fernanda Mrquez

Riobamba Ecuador

2013

Tema: Robot Araa Seguidor de luz
Objetivos:
General:
Aplicar los conocimientos adquiridos sobre servomotores y sincromecanismos.
Especficos:
Conocer el funcionamiento de servomotores de 3kg.
Programar un microcontrolador para controlar los servomotores
Identificar la utilizacin de un lazo cerrado y un lazo abierto.
Elaborar el circuito impreso previamente diseado en el Eagle
Materiales:
3 Trimer de 1k.
4 Resistencias de 10k.
3 Resistencias de 1k.
3 Resistencias de 220 ohmios.
1 Regulador de voltaje 7805.
1 Regulador de voltaje 7806.
1 Cristal de 4mhz.
1 PIC 16f84a (micro-controlador 84).
1 Integrado lm324n.
3 Leds.
3 Foto-celdas.
3 Servos de 3kg.
1 Pila de 9V.
2 Capacitadores Cermicos 33pf (33 pico faradios).
2 Capacitadores Cermico de 104f (104 faradios).
2 Capacitadores electrolticos de 1000uf a 16v
Marco terico
SERVOMOTOR









Un Servo es un dispositivo pequeo que tiene un eje de rendimiento controlado. Este
puede ser llevado a posiciones angulares especficas al enviar una seal codificada. Con
tal de que una seal codificada exista en la lnea de entrada, el servo mantendr la
posicin angular del engranaje. Cuando la seala codificada cambia, la posicin angular
de los piones cambia. En la prctica, se usan servos para posicionar superficies de
control como el movimiento de palancas, pequeos ascensores y timones. Ellos
tambin se usan en radio control, tteres, y por supuesto, en robots.
Los Servos son sumamente tiles en robtica. Los motores son pequeos, tiene
internamente una circuitera de control interna y es sumamente poderoso para su
tamao. Un servo normal o Standard como el HS-300 de Hitec tiene 42 onzas por
pulgada o mejor 3kg por cm. De torque que es bastante fuerte para su tamao.
Tambin potencia proporcional para cargas mecnicas. Un servo, por consiguiente, no
consume mucha energa. Se muestra la composicin interna de un servo motor en el
cuadro de abajo. Podr observar la circuitera de control, el motor, un juego de
piones, y la caja. Tambin puede ver los 3 alambres de conexin externa. Uno es para
alimentacin Vcc (+5volts), conexin a tierra GND y el alambre blanco es el alambre de
control.
FUNCIONAMIENTO
El motor del servo tiene algunos circuitos de control y un potencimetro (una
resistencia variable) esta es conectada al eje central del servo motor. En la figura se
puede observar al lado derecho del circuito. Este potencimetro permite a la
circuitera de control, supervisar el ngulo actual del servo motor. Si el eje est en el
ngulo correcto, entonces el motor est apagado. Si el circuito chequea que el ngulo
no es el correcto, el motor girar en la direccin adecuada hasta llegar al ngulo
correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente,
en algunos llega a los 210 grados, pero vara segn el fabricante. Un servo normal se
usa para controlar un movimiento angular de entre 0 y 180.
La cantidad de voltaje aplicado al motor es proporcional a la distancia que ste
necesita viajar. As, si el eje necesita regresar una distancia grande, el motor regresar
a toda velocidad. Si este necesita regresar slo una pequea cantidad, el motor correr
a una velocidad ms lenta. A esto se le llama control proporcional.






PIC 16F628




El pic16f628a es un microcontrolador de 8 bit, posee una arquitectura RISC avanzada
as como un juego reducido de 35 instrucciones. Este microcontrolador es el remplazo
del obsoleto pic16f84a, los pines del pic16f628a son compatibles con el pic16f84a, as
se podran actualizar proyectos que hemos utilizado con el pic16f84a.

Un microcontrolador es como un ordenador en pequeo: dispone de una memoria
donde se guardan los programas, una memoria para almacenar datos, dispone de
puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232),
conversores analgico/digital, generadores de pulsos PWM para el control de motores,
bus I2C, y muchas cosas ms. Por supuesto, no tienen ni teclado ni monitor, aunque
podemos ver el estado de teclas individuales o utilizar pantallas LCD o LED para
mostrar informacin.

PIC 16F84



El " PIC 16F84 " es un MICROCONTROLADOR con memoria de programa tipo FLASH, lo
que representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que
no se requiere de borrado con luz ultravioleta como las versiones EPROM sino, permite
reprogramarlo nuevamente sin ser borrado con anterioridad. Por esta razn, lo
usaremos en la mayora de aplicaciones que se desarrollan a lo largo del estudio.
El PIC 16C84 es un microcontrolador de la familia MICROCHIP, totalmente compatible
con el PIC 16F84. Su principal caracterstica es que posee memoria "EEPROM" en lugar
de memoria Flash, pero su manejo es igual. Con respecto al PIC16F84, este
microcontrolador presenta dos diferencias:
La memoria de datos tiene menor tamao, aqu se tienen 32 registros de propsito
general (el mapa de memoria de datos llega hasta 2Fh).
En el momento de programar el microcontrolador, el fusible de seleccin del
temporizador de arranque (Power Up Timer) trabaja de forma inversa, es decir, si en el
PIC 16F84 se selecciona la opcin "Low" para activarlo, en el PIC 16C84 se debe
seleccionar "High".
Este microcontrolador ha sido reemplazado de forma gradual por el PIC 16F84, por lo
tanto, los diseos que lo utilicen como elemento de control deben ser actualizados.
Aunque, como se ve, es un proceso casi transparente.

LCD 16X2


La pantalla de cristal lquido o LCD (Liquid Crystal Display) es un dispositivo o
Controlado de visualizacin grafico para la presentacin de caracteres, smbolos o
incluso dibujos (en algunos modelos), es este caso dispone de 2 filas de 16 caracteres
cada una y cada carcter dispone de una matriz de 5x7 puntos (pixeles), aunque los
hay de otro nmero de filas y caracteres. Este dispositivo est gobernado
internamente por un microcontrolador y regula todos los parmetros de presentacin,
este modelo es el ms comnmente usado y esta informacin se basar en el manejo
de este u otro LCD compatible.

FOTOCELDAS



Los fotoceldas convierten la luz del sol en energa elctrica, esta es conducida a travs
de un alambre hacia las bateras donde es almacenada hasta que se necesita, en el
camino hacia las bateras la corriente pasa a travs de un controlador, el cual corta el
flujo de corriente cuando las bateras estn completamente cargadas. Para algunos
aparatos la electricidad puede ser usada directamente de las bateras. A esta corriente
se le llama " corriente directa " o "DC" y puede encender aparatos como las luces delos
automviles, radios, televisiones porttiles, luces intermitentes, etc. Para poder operar
la mayora de los aparatos que encontramos en una casa es necesaria la " corriente
alterna " o "AC. Esta la podemos producir utilizando un invertidor, el cual transforma la
corriente directa "DC" en corriente alterna "AC".


REGULADOR 7805




La familia 78xx y 79xx son una gama de integrados dedicados a la regulacin de voltaje,
hay muchas variables: regulables, fijos, de tensin positiva o negativa...
Pero el ms comn, y el que mayormente usaremos en el mundo de los PICs, es el
famoso 7805, que es un regulador de tensin positiva de 5 Volts a 1A, la tensin justa y
mucho ms corriente de la que necesitan nuestros PICs para funcionar. Se sabe que el
buen funcionamiento del firmware que grabemos en el PIC est sujeto, no slo a la
buena programacin que hayamos hecho a la hora de disearlo, sino que tambin a
una alimentacin fija, constante y regulada a la hora de ejecutarlo. Entonces la manera
ms segura, econmica y sencilla de obtener ese voltaje, es la utilizacin de un
integrado regulador de voltaje, y el 7805 es uno de los mas indicados ya que
mantendr fija la tensin en 5V, siempre y cuando en su entrada reciba al menos 6V.
Por lo tanto a la entrada podremos despreocuparnos de la alimentacin superando por
mucho el voltaje de trabajo del PIC.
Para trabajar con bateras slo basta con conectar la entrada del IC (PIN 1) al terminal
positivo de la misma y el comn (PIN 2) al negativo, a la salida tenemos 5V que es la
tensin de trabajo del microcontrolador, podremos aadir un capacitor entre GND y la
salida, como se aprecia en la Figura 1, para eliminar cualquier fluctuacin de voltaje
que pueda ocurrir, pero esto es siempre recomendable hacerlo con el
microcontrolador independientemente del origen que tenga la alimentacin.

El amplificador operacional (AO), es un amplificador que posee, dos entradas activas
referidas a masa (entrada diferencial); la entrada inversora (-), y la no inversora (+). Tiene
una salida y se alimenta con tensin simtrica (dos fuentes de tensin).

AMPLIFICADOR OPERACIONAL LM324




El amplificador operacional (AO), es un amplificador que posee, dos entradas activas
referidas a masa (entrada diferencial); la entrada inversora (-), y la no inversora (+).
Tiene una salida y se alimenta con tensin simtrica (dos fuentes de tensin).

CAPACITORES


Los capacitores como todos sabemos son elementos encargados de almacenar
energa, y como tales si por una lnea les llegara un pico o baja de tensin generado
por una interferencia estos tratarn de contrarrestar ese efecto oponindose al
cambio, si es un pico lo absorbern y si es una baja de tensin, otorgarn a la lnea
parte de la energa almacenada por ellos, tratando siempre que la lnea se encuentre a
la misma tensin.



RESISTENCIAS

Se le llama resistencia elctrica a la igualdad de oposicin que tienen los electrones
para desplazarse a travs de un conductor. La unidad de resistencia en el Sistema
Internacional es el ohmio, que se representa con la letra griega omega (), en honor al
fsico alemn George Ohm, quien descubri el principio que ahora lleva su nombre. La
resistencia est dada por la siguiente frmula:

En donde es el coeficiente de proporcionalidad o la resistividad del material.
La resistencia de un material depende directamente de dicho coeficiente, adems es
directamente proporcional a su longitud (aumenta conforme es mayor su longitud) y
es inversamente proporcional a su seccin transversal (disminuye conforme aumenta
su grosor o seccin transversal)


LEDS



Los leds se usan como indicadores en muchos dispositivos y en iluminacin. Los
primeros leds emitan luz roja de baja intensidad, pero los dispositivos actuales emiten
luz de alto brillo en el espectro infrarrojo, visible y ultravioleta.
Debido a sus altas frecuencias de operacin son tambin tiles en tecnologas
avanzadas de comunicaciones. Los leds infrarrojos tambin se usan en unidades de
control remoto de muchos productos comerciales incluyendo televisores e infinidad de
aplicaciones de hogar y consumo domstico.




BATERIA 9V


Una pila elctrica es un dispositivo que convierte energa qumica en energa elctrica
por un proceso qumico transitorio, tras lo cual cesa su actividad y han de renovarse
sus elementos constituyentes, puesto que sus caractersticas resultan alteradas
durante el mismo. Se trata de un generador primario. Esta energa resulta accesible
mediante dos terminales que tiene la pila, llamados polos, electrodos o bornes. Uno de
ellos es el polo negativo o nodo y el otro es el polo positivo o ctodo.
La estructura fundamental de una pila consiste en dos electrodos, metlicos en
muchos casos, introducidos en una disolucin conductora de la electricidad o
electrolito.
CRYSTAL




Es un circuito externo que le indica al micro la velocidad a la que debe trabajar. Este
circuito, que se conoce como oscilador o reloj, es muy simple pero de vital importancia
para el buen funcionamiento del sistema. El P1C16C84/F84 puede utilizar cuatro tipos
de reloj diferentes. Estos tipos son:
RC. Oscilador con resistencia y condensador.
XT. Cristal.
HS. Cristal de alta velocidad.
LP. Cristal para baja frecuencia y bajo consumo de potencia.
En el momento de programar o "quemar" el microcontrolador se debe especificar qu
tipo de oscilador se usa. Esto se hace a travs de unos fusibles llamados "fusibles de
configuracin" o fuses.

Aqu utilizaremos el cristal de 4 MHz, porque garantiza mayor precisin y un buen
arranque del microcontrolador. Internamente esta frecuencia es dividida por cuatro, lo
que hace que la frecuencia efectiva de trabajo sea de 1 MHz, por lo que cada
instruccin se ejecuta en un microsegundo.


Procedimiento:
Primero que nada como tener un poco de herramientas necesarias para la
construccin y un instrumento para medir en el caso de la electrnica.




Para la base del robot utilice una placa de baquelita, 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 posiciones los servos de tal manera que sus ejes de movimiento estuvieran
en lnea recta y en la mitad del rectngulo, adems de los orificios que se marcan y
distribuyen cuando estos estn listos para ser montados, el detalle de los orificios no
est detallado ya que tienen que posicionarlos de manera uniforme en el rectngulo
para mantener un equilibrio y estabilidad a futuro (ms 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 ms
adelante, esto debido a que este se encargara de inclinar el horizonte de la araa
para poder desplazar, ms adelante detallare un poco ms esto.
Tambin hay unos pedacillos 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 ms 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.



Como se ve tenemos u 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 por que por el peso de este cuando
est 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.

Como se ve en la figura ya est 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.



Aqu ya se ve terminado con sus tres alambres por cabezal y envueltos con hincha
aisladora para darle rigidez.



Aqu ya est ensamblado en el eje para ver ya una de sus dos patas terminadas, as
devn quedar dos de los 3 servomotores, el 3 servo los alambres y posicin de estos
devn quedar como se muestra en la siguiente figura.



Si se fijan bien 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 si se ponen a pensar un poco 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 figura ya tenemos los tres servos con sus respectivas cabezas y
patas terminadas lista para ser montadas al final de proyecto cuando todo est en su
sitio.



Comenzamos a poner el primer servo en su sitio con sus tornillos y soporte de
plstico pequeos, fjense que el eje de giro se encuentra en la mitad de la base
marcado con una lnea en la figura...



Aqu ya lo tenemos montado y para el segundo servo es exactamente el mismo
procedimiento.



En esta figura se ve la parte superior en donde est anclado el servo con sus tuercas
que mantendrn el servo en su posicin.



En esta figura se muestra el servo que va en forma horizontal con sus amarras cable
como sujecin, su eje de movimiento en el centro de la base como se ve en la
siguiente figura.



En esta figura se observa con ms detalle el posicionamiento de los servo en la parte
que mirara hacia el piso, observe que el servo que tiene numero 1 su cable de
control es pasado por el orificio que est a un costado.
Aqu es importante que tengan cada servo enumerado de la siguiente manera 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 nmero 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 cual servo es el que se debe
mover.


Como debemos alimentar nuestra parte de potencia con una alimentacin que
pueda manejar los servos se usa una fuente de PC de 5vcc para la parte anloga y
digital una batera de 9 volt que posteriormente se regulara para 5 Volt con un
regulador de voltaje, ya que los circuitos de proceso requieren ducho voltaje para un
buen funcionamiento.

Es hora de comenzar el diseo Electrnico y de proceso digital. Esta el esquema
electrnico que se encarga de verificar la fuente de luz que en este caso usamos 3
sensores de luz para direccionar entre Izquierda, Centro y Derecha, y que son
llevados al micro controlador (16F84A) que se encargara de procesar y enviar las
ordenes a los servo motores para poder hacer lo que se pretende, que es mover la
araa en el sentido de la fuente de luz.




En esta figura esta detallada cada seccin de todo el conjunto, Ya sea la parte
Anloga que se encarga de enviar la seal al micro controlador (Control digital) su
fuente de alimentacin y regulacin y finalmente la parte de potencia que son los

servomotores.
Aqu me detendr a explicar cada una de ellas para que se hagan la idea de cmo
funciona cada parte del circuito.
Comenzando con la parte analgica vemos en el costado izquierdo superior que
tenemos las 3 LDR que nos darn la posicin de la fuente de luz, y son ingresadas a
un circuito integrado que est configurado como comprador de voltaje y que para
un LDR tenemos 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
1 kohm cuando este valor es igual a la salida del operacional tenemos un alto (3.3
Volt aproximadamente) y cuando no existe luz este valor de voltaje es diferente por
el cual la salida de ese operacional es de 0 Volt.
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 1 k 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 porque est 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.
Para el diseo de la placa se utiliz el software Eagle 5.0, para obtener el siguiente
diseo:


El PIC 16f628 fue una tentativa de un indicador, pero genera conflictos con el
funcionamiento del 16f84, por lo que no se lo coloc.
Programa de PIC 16F84
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 3
RP0 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 ALTO
ALTO_2 EQU 0x0d ;DIRECCION DEL REGISTRO DEL PULSO ALTO
BAJO_1 EQU 0X0e ;DIRECCION DEL REGISTRO DEL PULSO
BAJO
BAJO_2 EQU 0x0f ;DIRECCION DEL REGISTRO DEL PULSO ALTO
HZ 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 HZ
ALTO_90_0 bsf PUERTAB,0 ;Pone a 1 el bit 0 de la puerta A
call AL90
BAJO_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 HZ
ALTO_90_1 bsf PUERTAB,1 ;Pone a 1 el bit 0 de la puerta A
call AL90
BAJO_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 HZ
ALTO_90_2 bsf PUERTAB,2 ;Pone a 1 el bit 0 de la puerta A
call AL90
BAJO_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 HZ
ALTO_112_0 bsf PUERTAB,0 ;Pone a 1 el bit 0 de la puerta A
call AL112
BAJO_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 HZ
ALTO_112_1 bsf PUERTAB,1 ;Pone a 1 el bit 0 de la puerta A
call AL112
BAJO_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 HZ
ALTO_112_2 bsf PUERTAB,2 ;Pone a 1 el bit 0 de la puerta A
call AL112
BAJO_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 HZ
ALTO_67_0 bsf PUERTAB,0 ;Pone a 1 el bit 0 de la puerta A
call AL67
BAJO_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 HZ
ALTO_67_1 bsf PUERTAB,1 ;Pone a 1 el bit 0 de la puerta A
call AL67
BAJO_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 HZ
ALTO_67_2 bsf PUERTAB,2 ;Pone a 1 el bit 0 de la puerta A
call AL67
BAJO_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_1
A90 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_1
B90 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_1
A67 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_1
B67 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_1
A112 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_1
B112 movlw d'85'
movwf BAJO_2
DC10 decfsz BAJO_2,1
goto DC10
decfsz BAJO_1,1
goto B112
return


END

Costos
3 Trimer de 1k.
4 Resistencias de 10k.
3 Resistencias de 1k.
3 Resistencias de 220 ohmios.
1 Regulador de voltaje 7805.
1 Regulador de voltaje 7806.
1 Cristal de 4mhz.
1 PIC 16f84a (micro-controlador 84).
1 Integrado lm324n.
3 Leds.
3 Foto-celdas.
3 Servos de 3kg.
1 batera de 9V.
2 Capacitadores Cermicos 33pf (33 pico faradios).
2 Capacitadores Cermico de 104f (104 faradios).
2 Capacitadores electrolticos de 1000uf a 16v

Total 80,00
Conclusiones:
1. El control de servomotores es de gran utilidad cuando queremos aplicarlos en
movimientos con determinados grados.
2. Al realizar este circuito se pudo observar que los servomotores tienen un tope
mecnico que solo les permite girar 180 grados.
3. En el interior de un servomotor encontramos un pequeo circuito impreso el
cual nos controla el motor mediante la frecuencia de pulsos que este reciba.
4. Este circuito posee un sistema de control cerrado el cual permite que el circuito
funcione con la presencia de luz.
5. La complejidad del circuito no es tanta a comparacin del programa del PIC
16F84.
Recomendaciones:
1. Para alimentar los servomotores debemos utilizar una fuente que soporte el
amperaje requerido.
2. Al intentar utilizar el PIC 16F628 creaba conflicto con el 16F84, por lo que es
necesario utilizarlo aparte.
Fuente de consulta
http://www.robotic-lab.com/blog/tutoriales/como-construir-paso-a-paso-un-robot-arana/