Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

Hace 1 Semana #1

Avatar de Scooter

Medir la tensión al revés
Tengo la idea de hacer un pequeño montaje con un "arduino" basado en el Attiny85 http://digistump.com/products/1 y pensaba alimentarlo directamente de una batería de litio.
Lo que pasa es que si lo alimento directamente no puedo medir el valor de la tensión ya que el ADC da sus valores entre 0 y Vcc así que al medir siempre va a dar 255 o 1023 si es de 10bits.
Se me ha ocurrido hacerlo al revés; medir en el ADC una referencia fija, lease un zener, un led o algo así y de ahí interpolar el valor de Vcc
¿Estoy muy loco u os parece buena idea?

Si, podría quitar el regulador de 5V y poner uno de 3V3 pero eso sería quemar energía tontemente; el Attiny funciona bien en los valores en los que se va a mover una batería de litio y le sobra.
Me interesa saber el estado de la batería porque entre otras cosas el sistema controlaría la carga y la descarga de esta.
Hace 1 Semana #2

Avatar de cosmefulanito04

Es bastante lógico tú planteo, usar una referencia fija y compararla contra VCC.

Solo será cuestión de saber el rango de conversión aceptable que deberá tener esa referencia fija y ya, ni siquiera tenés que calcular. Por decir algo, si el ADC es de 256 niveles, tú referencia 1V y la batería de 3V, sabés que si el valor de conversión es mucho mayor a 85 algo anda mal con la batería.

PD: podrías usar un LM336Z-2.5 que son zeners de 2,5v de referencia bastante comunes y te acercás bastante al fondo de escala.
Hace 1 Semana #3

Avatar de Scooter

Si, tengo que hacer unos números a ver como queda el rango útil de las medidas, al dejar de ser lineal pueden haber sorpresas.
Hace 1 Semana #4

Avatar de Gudino Roberto duberlin

Hola Scooter, creo entender lo que preguntas.
Puedes hacer un divisor resistivo, para tomar muestra de la tensión de batería, digamos al 10℅ respecto a GND, en la otra rama caería el 90℅ restante.
Entonces inyectas ese 10℅ a un op-amp con ganancia suficiente cómo para que cuando la batería esté al 100℅ entregue el max valor, debería ser rail-to-rail, dicho op-amp. Y cuando la batería alcance el valor crítico de descarga, la salida del op-amp entregará un bajo valor(prueba y error), mediante la inyección de una tensión de offset estabilizada. Siendo así, se podrá aprovechar casi todo el rango del ADC.
Hace 1 Semana #5

Avatar de cosmefulanito04

Scooter dijo: Ver Mensaje
Si, tengo que hacer unos números a ver como queda el rango útil de las medidas, al dejar de ser lineal pueden haber sorpresas.
En realidad lo único que tenés que hacer es ir viendo que tan alejado está esa tensión fija del fondo de escala, a medida que esa tensión se acerca al fondo de escala entonces la batería implica que se está muriendo.

Ejemplo usando el LM336Z-2.5:

- Batería en buen estado => 3v=255 versus 2,5v=213
- Batería en no tan buen estado => 2,95v=255 versus 2,5v=216
- Batería en mal estado => 2,9v=255 versus 2,5v=219

Lo malo de este método, es que la variación es demasiado pequeña a pesar de estar cerca del fondo de escala, solo 6 niveles .

A la larga vas a tener que usar un operacional y hacer un diferencial entre la tensión de alimentación y la referencia fija para inyectarlo en un ADC. Algo similar a lo que menciona el amigo Gudino arriba.
Hace 1 Semana #6

Avatar de Scooter

Números gordos:
Supongamos una variación entre 3,2V y 4,2V y una referencia fijada en 2V
Eso nos da una lectura del ADC:
para 4,2V de 487
para 3,2V de 640
son 153 saltos para 1V
Eso da una resolución de 6,5mV si fuera lineal, que no lo es.
Pero bueno, me parece aceptable.
Hace 1 Semana #7

Avatar de cosmefulanito04

Scooter dijo: Ver Mensaje
Números gordos:
Supongamos una variación entre 3,2V y 4,2V y una referencia fijada en 2V
Eso nos da una lectura del ADC:
para 4,2V de 487
para 3,2V de 640
son 153 saltos para 1V
Eso da una resolución de 6,5mV si fuera lineal, que no lo es.
Pero bueno, me parece aceptable.
No entendí bien esos números, hasta el ADC de bits y la variación de fuente entre 4,2 y 3,2v vamos.
Hace 1 Semana #8

Avatar de pandacba

Aqui has referencias interesantes http://www.ti.com/lit/ds/symlink/lm4040c20.pdf
Hace 1 Semana #9

Avatar de Scooter

A ver.
Supongamos que admitimos que la batería de litio funciona bien entre 4,2V y 3,2V. Mas o menos.
Eso sería siempre una lectura de 1023 en el ADC ya que mediría Vcc
Con un zener, led amarillo o como sea fijamos una referencia constante de 2V y eso es lo que medimos con el ADC
Cuando la alimentación sea de 4,2V la lectura del ADC será...
4,2--->1023
2------>X
X=2x1023/4,2=487

Cuando la tensión de alimentación sea de 3,2V la lectura será:
3,2--->1023
2------>X
X=2x1023/3.2=639

Osea que para una variación de 1V tenemos 639-487=152 saltos del ADC
Eso da 1/152=6,57mV por salto

No es lineal porque ahora estamos haciendo el inverso pero a bulto parece una precisión razonable.

Eso si es de 10 bits, si es de 8 tiene cuatro veces menos resolución lo que daría saltos de 26mV que supongo que también valdrán. No hay que ser tan finolis.
Hace 1 Semana #10

Avatar de cosmefulanito04

Ahora sí, eran los 2V a los que te referías.

Otra alternativa, es usar los 2V como referencia del ADC (AVCC o AVREF, una de dos es) y en base a eso medir la tensión de fuente, es decir que en 2V vas a tener el fondo de escala y por ende la medición será mejor:

2V --> Tensión de referencia del ADC --> 1024
4,2V --> Divisor resistivo --> Tensión cercana a los 2V --> ADC --> Nivel 1 (cerca de los 1024)
3,2V --> Divisor resistivo (obviamente el mismo que antes) --> ADC --> Nivel 2 (más bajo que el nivel 1).

En ambos casos la medición es lineal (tanto el que mencionastes, como este), pero en el 2do caso estás midiendo a fondo de escala.
Hace 1 Semana #11

Avatar de Scooter

No se si este microcontrolador tiene esos pines, pero es que además no me interesa usarlos porque es un encapsulado de 8 pines y si empiezo a poner aref y a agnd me queda sin nada.
Además todas las entradas toman esa referencia y ya no puedo poner un potenciometro entre gnd y vcc, por ejemplo.

Edito, aref si que está pero pierdo un pin.
Hace 1 Semana #12

Avatar de cosmefulanito04

Scooter dijo: Ver Mensaje
No se si este microcontrolador tiene esos pines, pero es que además no me interesa usarlos porque es un encapsulado de 8 pines y si empiezo a poner aref y a agnd me queda sin nada.
En los AVR que usé esos pines nada más se pueden usar para eso, o sea que a la larga no perdés nada.

Edito: si, en ese Attiny perdés el pin. buu!
Hace 1 Semana #13

Avatar de Scooter

En este aref tiene una lista larga de funciones


Enviado desde mi 5056D mediante Tapatalk
Hace 1 Semana #14

Avatar de cosmefulanito04

Si, ví la hoja de datos y es como decís.

Descartando Aref, Lo que podés hacer es conseguir una referencia lo más cercana a la tensión inferior que pensás conseguir, en este caso 3,2v, de esa forma te acercás al fondo de escala.
Hace 1 Semana #15

Avatar de Scooter

mmm, pues si, cuanto mas alta sea la referencia mas preciso será.

Edito,
Tomando 3V de referencia salen 228 pasos que son 4,3mV por salto
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Arduino y Raspberry Pi

Cerrar
Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.