Posibles Duplicados:
¿Cómo puedo usar una de 12 V entrada digital pin de Arduino?Quiero medir la batería de un coche de voltaje en un rango de entre 10-13v). Pero mi AVR acepta entradas analógicas de 0-5v. Cómo puedo hacer que el voltaje de entrada inferior, con lo que puedo medir la diferencia de voltaje 3v (10-13v) en alrededor de 1024 pasos (0-5v del arduino).
Básicamente necesito una etapa de tensión convertidor reductor de que las obras lineales, de los que sólo saben dar un voltaje fijo (5-20v convierte a 5v siempre, como el 7805).
No quiero usar un divisor de tensión, porque entonces nunca puedo conseguir que 3v resolución creo.
Respuestas
¿Demasiados anuncios?Usted puede utilizar un simple divisor de resistencia a escala del 0..13 V a 0..5 V.
\$V_{out} = \dfrac{R_2}{R_1 + R_2} \cdot V_{in}\$
así que para \$R_1\$ = 16 kΩ y \$R_2\$ = 10 kΩ recibe 0..5 V de 0..13 V en.
Esa es la solución más simple, pero va a asignar el 10..13 V a 3.85..5 V en lugar de a 0..5 V. La pregunta es: ¿realmente necesita el ADC del rango completo? 10-bit ADC le da una resolución de 13 mV para un 13 V rango de entrada. ¿De verdad quieres saber el voltaje de la batería a 3 mV precisa?
De todos modos, si usted desea utilizar el ADC del rango completo de la solución es un amplificador de diferencia, lo que resta un 10 V desplazamiento de la tensión de entrada:
si \ $R_1 = R_2\$ \ $R_f = R_g\$
\$ V_{out} = \dfrac{R_f}{R_1} \cdot (V_2 -V_1) \$
Se aplicará un 10 V tensión de referencia para \$V_1\$ y conecte la batería a \$V_2\$. Seleccione 25 kΩ para \$R_f\$\$R_g\$, y 15 kΩ para \$R_1\$\$R_2\$, y obtendrá 0..5 V de 10..13 V en.
El uso de la gama completa de hasta 0 V necesitará un RRIO (Rail-to-Rail e/s) del amplificador operacional.
Nota:
Usted no puede usar el acoplador óptico de la solución de la cuestión de la que me refiero aquí, ya que es sólo digital. Satura la salida si la tensión de entrada está presente, y es no lineal. Si desea que la entrada a estar aislado de la salida se puede utilizar un lineal de un optoacoplador, como el IL300 me refiero en esta respuesta.
Si su requerimiento podría ser relajado un poco, para traducir el rango completo de ADC lectura para 9-13 voltios en lugar de 10-13, donde usted sabe que su batería no caer por debajo de 10V, esto funcionaría mejor: El ADC por debajo de 10V ser utilizados, pero la diferencia aplicaciones sugerido por @stevenvh funcionan de forma fiable hasta el 10 voltios de la línea.
Una referencia de voltaje de IC o de la combinación de los zeners podría ser utilizado para la 9v (o 9.5 v si insisten) de referencia, como una 10V referencia alimentado por la batería es probable que obtener inestable o fallar cuando el carril de energía realidad golpea a 10v.
Del mismo modo, podría ser prudente para permitir un rango ligeramente más allá de 13 voltios (asignada a 0-5V para el ADC): Durante la carga o los cambios de temperatura, la batería puede golpear a un voltaje más alto que el de sus nominal número superior.
¿Necesita una resolución de 10 bits o de 10 bits acuracy?
Para obtener 10 bits de precisión de la 10V caída tiene que ser >> 0.1% de precisión, la cual es difícil de lograr. 0.1% resistencias no son tan difíciles de conseguir, pero una vez que se calcula la precisión de un TL431 o los diversos errores de un op-amp (y la 10V referencia) en la ecuación que probablemente va a terminar con 1% en lugar de 0.1%. Y no olvide que usted probablemente medición en contra de su 5V de alimentación como referencia, que es probablemente un 7805 que es sólo el 5% de precisión.
Si OTOH usted necesita sólo 10 bits de resolución de un TL431 'programables' zener podría ser utilizado para restar 10V a partir de su entrada. O ir con steven opamp verano, pero para eso, se necesita un estable 10V referencia.