TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: puchy en 22 de Abril de 2006, 12:50:51
-
hola a todos
weno, la cosa es que quiero controlar un servo (sin trucar) con este pic a 4 mzs
este es el program que utilizo:
inicio
high porta.1
pause 1
low porta.1
pause 19
goto inicio
envia pulsos de un milisegundo a 50zs
pero se puede enviar pulsos de menos de 1 milisegundo con 4 mzs?
por si acaso le puse un crista de 20mzs(es el 16f84A) y este programa:
inicio
high porta.1
pause 5
low porta.1
pause 95
goto inicio
que tendria que hacer lo mismo , enviar un pulso de 1 milisegundo , pero no lo hace, se vuelve loco
¿teneis alguna idea?
saludos y graciasss
-
Hola:
Puchy, la funcion Pause genera un retardo de X milisegundos con cualquier cristal que utilices, si se vuelve loco como dices es porque al momento de cambiar el cristal, no estas definiendo la nueva frecuanca a utilizar, para eso te sirve la linea:
define OSC 20 por ejemplo.
de tal manera que si pruebas esto:
inicio
high porta.1
pause 1
low porta.1
pause 19
goto inicio
con un cristal de 4 mhz, y esto:
DEFINE OSC 20
inicio
high porta.1
pause 1
low porta.1
pause 19
goto inicio
con un cristal de 20Mhz, los resultados deben ser los mismos.
Suerte...!!! :mrgreen:
-
wenas
weno, hice lo que me has dicho y nada, por si acaso mañana voy a probar con otro cristal de cuarzo de 20.
De todas formas.Con la función de PAUSE como minimo solo de puede hacer un intervalo de 1 milisegungo,
y para controlar un servo esto es mucho, ya que el giro total es de 2 milisegundos mas o menos. y con esta funcion solo tendria 3 posiciones el servo.
Hay alguna forma de hacer intervalo más pequeños, para controlar el servo mejor.
saludoss
-
Hola:
Puedes hacer pausas mas pequeñas, en microsegundos con PAUSEUS.
-
Perdon Lordlafebre:Yo pensaba que PAUSEUS era solo para segundos, ¿Cual sería la sentencia para usar micro segundos?
-
Hola:
Pause espera un retardo en milisegundos, y pauseus en microsegundos.
-
Ok:Yo estaba equivocado.