Lectura de voltaje positivo y negativo en Arduino

6

Es una larga historia, pero desarmé un RC y quise que Arduino usara analogRead() para obtener los valores de mis motores y mi dirección. He medido con mi multímetro que el voltaje en mi automóvil con control remoto varía de -6v a 6v.

Sin embargo, el Arduino solo admite la lectura de 0v a 5v como máximo. ¿Hay una manera de convertir el -6v y + 6v a 0v y 5v? He oído que podría hacerse usando un amplificador operacional. Algunas personas también me han dicho que use un divisor de voltaje. En otras palabras, si no estaba controlando el auto RC, el Arduino debería ver 2.5 voltios.

De todos modos, no estoy exactamente claro acerca de cómo haría esto. ¿Alguien puede recomendarme un amplificador operacional apropiado con un circuito para este escenario específico?

O, si es posible, ¿alguien me puede mostrar cómo leer el voltaje negativo y positivo usando dos pines Arduino? Por ejemplo, si se da -6v, entonces el Pin analógico 0 devolverá 1023. Si se da 0v, entonces los pines analógicos 0 y 1 dirían 0. Y si hay + 6v dado, entonces el Pin analógico 1 devolvería 1023 . ¿Cómo puedo hacer un circuito que funcione así?

Te lo agradezco si tienes un diagrama de circuito para esto. Gracias!

    
pregunta solutionhacker

4 respuestas

9

Tres resistencias estándar hacen el trabajo, siempre que el motor vea -6 V con referencia a tierra y no con referencia al otro terminal del motor.

simular este circuito : esquema creado usando CircuitLab

Al variar Vm de -6 a 6V, la salida variará de 0 a 4.9V.

    
respondido por el jippie
3

Cuando el motor se maneja desde un puente H completo y desea que su Arduino esté en la misma referencia de tierra que el resto del automóvil, puede usar lo siguiente:

simular este circuito : esquema creado usando CircuitLab

Ambas salidas tienen un rango de 0 .. 2V4, y debe configurar el voltaje de referencia interno de Arduino en 2V56. Al conectar ambas salidas a su propia entrada analógica, puede calcular la tensión del motor restándolas. Los condensadores están ahí para promediar las señales PWM, de modo que el ADC pueda medirlas.

    
respondido por el jippie
0

El propio Arduino puede medir tanto 2.5V positivo como negativo 2.5V si tira el Voltaje de referencia analógico a la mitad del voltaje de suministro. Use un par de resistencias 4.7K emparejadas y omita el pin con 47 mfd a +5 y 47 mfd a tierra.
Para 6 voltios, use un divisor de voltaje en la entrada ADC para obtener un rango de 10 voltios.

No estoy seguro de qué hablan todos los demás porque el procesador AVR en un Arduino tiene capacidad interna para hacer lo que necesita.

    
respondido por el waleed-II
-1

Aquí hay una solución sin op-amp. Necesitará un pin de entrada adicional en el Arduino para este.

Si el pin de entrada lee 0, entonces el voltaje del ADC es positivo. De lo contrario, el voltaje es negativo.

Debido a la caída de voltaje en el puente rectificador, resolvió el problema de reducir 6V a 5V. Ahora tendrá 6 - 2 * 0.7 = 4.6 V máximo. D5 es opcional, y existe solo por razones de seguridad.

La desventaja es que el voltaje debe ser mayor que + 1.4V o menor que -1.4V para ser medido.

simular este circuito : esquema creado usando href="https://www.circuitlab.com/"> CircuitLab

    
respondido por el Cornelius

Lea otras preguntas en las etiquetas