Hola de nuevo, ya estoy aquí dandole al CAD...
Lo de la justificación no tengo ni idea...sólo se que me dá valores entre 0 y 65472 al poner un long con un CAD de 16 bits, lo del valor del int era para ver que me daba y me da un rango entre 0 y 255 que son 8 bits por ser int.
La tensión del PIC es la del USB, es decir me da 5.05V por tanto el CAD está por debajo de la alimentación (Vmax CAD = 4.2V)
Leo dos veces, una para el int y otra para el long...era sólo una prueba para ver que sacaba...
Lo de dejar tiempo entre dos adquisiciones de datos...pues tienes razón...pero de todas maneras funciona.
El código no es el problema pues este código (lo simplifico para no confindir) funciona perfectamente...lo que no funciona "bien" es el fondo de escala de CAD que debería de ser el de alimentación y no caer de los supuestos 5V a los 4.2 que dá como máximo.
#include <18F4550.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=12000000)
#define use_portb_lcd TRUE
#include <lcd.c>
void main(void) {
long value2=0;
lcd_init();
///////////////////////ADC//////////////////////////////////////////////////////////////
#if defined(AN1)
setup_adc_ports(AN1);
#endif
setup_adc( ADC_CLOCK_INTERNAL );
set_adc_channel(1);
while (TRUE)
{
value2= Read_ADC();
delay_ms(5);
printf(lcd_putc,"\f%LX",value2);
}
}
Por lo que veo el fondo de escala no tiene solución...pues la Vref no puede ser mayor que la alimentación del pic pues por defecto coje como Vref la misma que la de la alimentación, así que hay que acondicionar la señal...
Con el divisor de tensión funciona a la perfección ajustando al máximo la señal...es decir, la señal max del CAD es de 4.2V y la max del encoder es de 4.7V pues decimos que sí:
Ventrada= 4.7V Vsalida=4.2V Vsalida = Ventrada (R2/R1+R2)...hechando cálculos uno de los posibles valores de las resistencias comerciales son R1=1K2 y R2=10K con lo que haciendo esto equiparamos la max tensión del encoder a la max tensión del CAD, con lo que en teoría es perfecto y en la práctica sale bien pero con un pequeño error pues las resistencias tienen un pequeño error
Otra posibilidad es poner un AO de ganancia menor que 1 pero como tambien jugamos con las resistencias...pues más sencillo hacer el divisor de tensión.
P.D: Mi pregunta en general era si existía alguna forma de subir el fondo de escala del CAD del micro...pero creo que no la hay...a no ser que alimentemos el micro a 6V...lo cual no es bueno

P.D2: Ya de paso con la duda queda hecho un programita de un CAD de 16 bits que saca por el LCD dicha conversión.
Un saluedete