Pues ya esta arreglado....
NO ES PROBLEMA DE CÓDIGO..
el problema esta en el divisor de tensión que he usado para leer la pila.... he usado un divisor al 50% con dos resistencias de 10k, pero habéis visto el resultado,,,
Lo he cambiado por un divisor 10 a 1... una resistencia de 100k y una de 10k, y ahora parece que va bien....
he cambiado el valor de R1 en el código por 100000.0