Leer Voltaje Positivo y Negativo en Arduino [cerrado]

11

Es una larga historia, pero desarmé un automóvil RC y quería que el Arduino lo usara analogRead()para obtener los valores de mis motores y 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, Arduino solo admite la lectura de 0v a 5v como máximo. ¿Hay alguna manera de convertir el -6v y + 6v a 0v y 5v? He oído que se puede hacer usando un amplificador operacional. Algunas personas también me han dicho que use un divisor de voltaje. En otras palabras, si no estuviera 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. ¿Puede alguien recomendarme un amplificador operacional apropiado con un circuito para este escenario específico?

O, si es posible, ¿alguien puede mostrarme 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ía 1023. Si se da 0v, entonces los Pines analógicos 0 y 1 dirían 0. Y si se da + 6v, entonces el Pin analógico 1 devolverá 1023 ¿Cómo puedo hacer un circuito que funcione así?

Le agradezco si tiene un diagrama de circuito para esto. ¡Gracias!

solucionador
fuente
1
Cuando dice que la señal de salida del automóvil RC varía de +6 a -6 voltios, ¿a qué se refiere esta lectura? ¿En qué punto está aplicando la sonda de tierra del multímetro?
Anindo Ghosh
@AnindoGhosh Acabo de tomar las dos puntas del multímetro y toqué una sonda a cada cable del motor.
solutionhacker
2
Votar para cerrar ya que la premisa misma de esta pregunta es fundamentalmente errónea. Lo que hay que leer no es análogo; en el mejor de los casos, podría ser digital de ancho de pulso, pero en realidad no tiene mucho sentido usar un Arduino para leer un sistema RC heredado cuando se puede hacer tan fácilmente uno digital moderno usando módulos de tipo nRF24L01 de $ 1.
Chris Stratton
¡Bienvenido a EESE! Esto parece ser una pregunta de ingeniería inversa, modificación o reparación. Tenga en cuenta que dichas preguntas deben incluir pasos específicos de solución de problemas y demostrar una buena comprensión del diseño subyacente del dispositivo que se está discutiendo, de modo que pueda hacer preguntas específicas y específicas que puedan responderse de manera concisa. De lo contrario, la pregunta es demasiado amplia. Puede encontrar más información aquí: ¿Se pregunta cómo solucionar un circuito defectuoso en el tema? .
Dave Tweed

Respuestas:

18

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

esquemático

simular este circuito : esquema creado con CircuitLab

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

jippie
fuente
@AnindoGhosh oh, y no me sorprendería si el voltaje del motor se mide a través del motor en lugar de referirse a tierra, por lo que eso también te deja una buena respuesta. Además, no tenía en cuenta PWM ...
jippie
¿Cómo puedo calcular los valores de resistencia, dada una tensión de entrada conocida? Por ejemplo, tengo una situación similar, pero mi señal de entrada es de -2 a +2 voltios. Esta es una topología interesante, pero me gustaría entender la teoría detrás de ella para poder modificarla, no solo copiarla.
robar el
@robm Primero establecí las relaciones para las resistencias, luego usé algunos cálculos en una tabla de hoja de cálculo grande para seleccionar las resistencias más cercanas. Fue el uso de las fórmulas en la hoja de cálculo por lo que no desarrollé el método exacto que probablemente debería tener. Supongo que vale la pena una pregunta por sí sola: Método estándar para elegir valores de resistencia para este caso de uso específico.
jippie
¿Supongo que analizó el circuito y seleccionó valores como este? electronics.stackexchange.com/a/252473/36877 Aún no entiendo cómo se analiza el circuito cuando la entrada es de 6V para obtener 4.887V como salida.
genericpurpleturtle
4

Cuando el motor se conduce 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:

esquemático

simular este circuito : esquema creado con CircuitLab

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

jippie
fuente
-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 a través del puente rectificador, resolvió el problema de bajar 6V a 5V. Ahora tendrá 6 - 2 * 0.7 = 4.6 V máximo. D5 es opcional y solo existe por razones de seguridad.

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

esquemático

simular este circuito : esquema creado con CircuitLab

Cornelio
fuente
2
También necesitarás aislar la tierra del Arduino del circuito RC. Esto significa que necesitarán fuentes de alimentación separadas.
DoxyLover