# Ayuda en Ensamblador para un Servomotor



## Alhayn21 (Feb 20, 2012)

Hola, primero que nada un saludo a todos los del foro y tambien gracias por todo lo que e aprendido aqui, en esta ocacion abro este nuevo hilo con la intencion de ver si pueden ayudarme a controlar un Servomotor, el servo funciona asi: 1ms 0º, 1.5ms 90º y 2ms 180º. he estado tratando de enviarle una señal para que se mueva pero no logro hacerlo, es la primera vez que trabajo con un servo y no estoy muy familiarizado con esto jeje... 

He leido un poco acerca del tema y pues tengo la idea de como funciona, aqui pongo una parte del codigo donde segun yo, deberia funcionar el servo a 90º pero el problema es que nose como detenerlo, es decir, quiero que envie la señal durante un segundo y despues pare, o por .5 segundos, etc... segun sea la aplicacion del servo, tengo algunos conocimientos en ensamblador pero nose como hacer el equivalente al ciclo "for" para asi enviar la señal n numero de veces al servo, el pic que uso es el 16F84a y el servo es un Servomotor Tower Pro SG-90, aqui el codigo:



> Principal
> btfsc   inter
> call    Semaforo
> goto 	Principal
> ...



Espero me puedan ayudar, o si tienen alguna otra forma de hacer que funcione, estoy abierto a nuevas ideas jeje... solo no cambiar de lenguaje o de servo, ya que debo hacerlo con esto jeje, de antemano gracias


----------



## krl1 (Feb 27, 2012)

consulta: tu dices al principio que no te funciona, entonces para que quieres detenerlo si no te funciona ahun?
veo tu codigo y creo que estas tratando de simular una PWM, si es eso creo que necesitas solo un retardo por grado de movimiento, es decir, un retardo para el 1 o otro para el 0, ademas revisa la coneccion con el motor, debes utilizar un amplificador adecuado como el TIP122.
suerte en tu proyecto


----------



## Alhayn21 (Feb 27, 2012)

esque ap principio le meti un .hex para un servo futaba, y solo hacia algunos ruiditos yse movia pero de forma irregular, entonces comence a fabricar mi propio condigo con señales adecuadas a mi tipo de servo  pero como nose como detenerlo pues no quiero probarlo con el servo ya que soy algo novato aun y nose si le ara daño enviarle señales en un ciclo infinito como lo esta ahorita jeje... 

y si, en efecto estoy tratando de hacer mi equivalente a PWM jeje... por ahora solo simulo en proteus pero debido a que nose detener el ciclo pues se queda trabado el servo(segun la simulacion), gracias por la respuesta y espero aya quedado mas claro mi problema por si alguien pudiera ayudarme  salu2


----------



## ivmeame (May 13, 2013)

estoy haciendo un programa en ensamblador para controlar dos posiciones de un servomotor 
tower pro sg90 , segun es con pwm, pero habia escuchado que se podia con timer0 o retardos solo que no se como iria la estructura de cada metodo, ¿cual convendria mas?


----------

