TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: ra2ven en 02 de Abril de 2009, 07:51:38

Título: Problema comando POT (medir potenciometro)
Publicado por: ra2ven en 02 de Abril de 2009, 07:51:38
Hola, tengo un problema con este comando.

Estoy intentando leer el potenciometro como dice el manual y los ejemplos que he visto por internet pero no consigo nada. Solo me sale el valor 255 continuamente aunque cambie de posicion el potenciometro (5k-50k como dice el manual).

Aunque cambie el valor de escala (por ejemplo a 127) sale 255 siempre. Aqui esta mi esquema:

(http://img10.imageshack.us/img10/3269/pot.png) (http://img10.imageshack.us/my.php?image=pot.png)
(http://img10.imageshack.us/img10/pot.png/1/w822.png) (http://g.imageshack.us/img10/pot.png/1/)

Un saludo

Título: Re: Problema comando POT (medir potenciometro)
Publicado por: xocas en 02 de Abril de 2009, 10:06:57
hola

tienes un pequeño error de conexionado del potenciómetro. entre sus extremos la resistencia no cambiará aunque muevas su eje, de manera que la conexión que va al pin de PIC la has de tomar del punto central.

no sé si el programa está bien pero en principio cambia esto y si tienes alguna dificultad consulta de nuevo.

un saludo
Título: Re: Problema comando POT (medir potenciometro)
Publicado por: ra2ven en 02 de Abril de 2009, 11:59:41
Hola, gracias por aclararme lo del potenciómetro, yo pensaba que funcionaba variando la resistencia entre sus extremos pero es cierto que tiene más lógica así.

Por otra parte parece que entiendo que tiene que tantearse primero un valor de escala (constante RC) de 0 a 255 hasta que se ajuste a la resistencia a medir (0 al mínimo y 255 al maximo) pero yo solo consigo aproximarme con el valor 42 que me da 255 para 50k (máximo) y 28 para 5k (mínimo).

Un saludo
Título: Re: Problema comando POT (medir potenciometro)
Publicado por: xocas en 02 de Abril de 2009, 14:10:17
Hace mucho tiempo que no uso PBP y no lo tengo instalado, así como tampoco tengo Proteus para ofrecerte un ejemplo, de manera que tiraré de manual...

POT Pin,Scale,Var
Lee un potenciómetro (u otro dispositivo resistivo) en Pin. Pin puede ser una constante, 0 - 15, o una variable que contenga un número de 0-15 (p.ej. B0) o un número de Pin (p.ej. PORTA.0) La resistencia se mide tomando el tiempo de descarga de un capacitor a través de un resistor ( 5K a 50K ).
Scale se usa para ajustar distintas constantes RC. Para constantes RC grandes, Scale debe ser baja (valor mínimo 1 ). Para constantes RC pequeñas, Scale debe ser máxima (255). Si el valor de Scale es correcto, Var debe ser cero para mínima resistencia y 255 para máxima resistencia .
Desafortunadamente, Scale debe ser determinada en forma experimental. Para esto, coloque el dispositivo a medir en máxima resistencia y mídalo con Scale=255. En estas condiciones, Var tendrá un valor apropiado de Scale.

Ejemplo:
POT portd.1,255,B0                ´ lee el potenciómetro en pin 1 para determinar Scale
Serout portb.0,N2400,[#B0]    ´ envía el valor del potenciómetro en forma serial al pin 0

un saludo