Buenas Tardes,
Es una lástima que mi primer mensaje en el foro sea para pedir ayuda, pero estoy un poco perdido.
La idea es controlar mediante servos la posición de una cámara usando pulsadores (izquierda, derecha, arriba y abajo... lo más general posible), para ello estoy usando el PIC 16F628A que me pareció de las mejores alternativas tanto en costo como en capacidades.
Lo primero fue crear el programa completo, el cual funciona perfecto en proteus, pero cuando lo quemo en el PIC ambos servos giran a la posición mínima. Supuse que puede ser un problema con el oscilador, al principio use el oscilador interno del PIC, después probé con otros desde 4 hasta 20 mhz.
Hice más sencillo el programa y solo usé el bloque de programación para girar hacia los lados y sigo teniendo el mismo problema, lo curioso es que ahora cuando se está moviendo si toco el pin de salida de señal desde el micro al servo se mueve en sentido contrario. Sigo creyendo que es un problema con el oscilador, pero estoy bastante perdido.
Aquí dejo el programa, es bastante sencillo y basado en uno que encontre aquí mismo. (pero no recuerdo de quien)
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : Cristián *
'* Notice : Copyright (c) 2010 *
'* : All Rights Reserved *
'* Date : 27-07-2010 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
cmcon=7
p_izq var portb.3
p_der var portb.4
sal var portb.0
ang var byte
TRISB=%00011000
PORTB.0=0
ang=150
inicio:
pulsout sal, ang
if p_izq=0 then
pause 10
ang=ang-1
if ang<100 then ang=100
endif
if p_der=0 then
pause 10
ang=ang+1
if ang>200 then ang=200
endif
goto inicio
end
Para quemar el PIC uso el IC-Prog, y dentro de las opciones me permite configurar el PIC, su oscilador, WDT, MCLR, etc. aquí pongo la interfaz.
He estado buscando información y he encontrado mucha, he probado casi todas las cosas que tienen algo de lógica para hacerlo funcionar pero llevo casi 2 semanas pegado.
Gracias por la ayuda y cuando lo termine espero poder ayudar en algo.