Lectura de voltaje negativo de Arduino con tierra positiva

2

Estoy tratando de medir el voltaje & corriente de un controlador de carga solar del panel, batería y amp; Carga simultaneamente con mi arduino. Logré lograr esto al unir todos los negativos y usarlos como GND, sin embargo, cuando hago eso, el controlador de carga no funciona correctamente y cuando cambio al modo apagado, las cargas aún funcionan. Después de revisar el manual de instrucciones, descubrí que los aspectos positivos se comparten entre Pan, Bat, Load. Esto fue confirmado con un multímetro.

Ahora, lo que estoy pensando hacer es usar el positivo de la batería como referencia de GND y luego medir todos los demás voltajes (a través de los divisores de voltaje con respecto a la GND). Los voltajes deben oscilar entre -17V y 0V.

Sin embargo, he leído que los pines de entrada analógica no pueden leer voltajes negativos, y con respecto a la GND positiva, todas las entradas analógicas serán negativas.

EDITAR: Estaba pensando en usar un amplificador para invertir tierra positiva en una tierra negativa, lo que significa que podría medir todos los lados positivos de los voltajes. Pero después de recibir respuestas de ustedes, parece que no tengo que usar un amplificador y que un divisor de voltaje puede ser suficiente. Actualmente he incluido un divisor de voltaje de 2 resistencias entre cada entrada analógica, fuente de + 5V, Vmeasure que puede ver en el diagrama a continuación.

Según mis cálculos, si esto funciona, @ -17V debería ver 0.6V @ entrada analógica. @ 0V Debería ver 4V en la entrada analógica.

Apreciaría los comentarios sobre este circuito, y más abajo en la segunda imagen también incluí una parte de otro método sugerido por @jonk (gracias), y me interesaría saber cuáles son los beneficios del método B) sobre el método A)

¡Gracias!

Ps. los ameters están allí en lugar de los sensores de corriente ACS712 que también entran en los pines de entrada analógica.

Método A)

simular este circuito : esquema creado usando CircuitLab

Método B (EDITAR: este método ha funcionado, todavía estoy por probar el método A) gracias @Jonk))

simular este circuito

    
pregunta Ken H

1 respuesta

1

Si desea medir voltajes de entrada que pueden ser tanto negativos como positivos, utilizando un ADC Arduino donde los pines de entrada analógica no pueden leer voltajes negativos, entonces podría considerar el siguiente estilo del divisor de tres resistencias que se muestra en el lado izquierdo (En el lado derecho nos dirigiremos hacia):

simular este circuito : esquema creado usando CircuitLab

El terminal \ $ V_i \ $ va a lo que desea medir y el pin \ $ V_o \ $ va a su entrada ADC (o a un amplificador de búfer, si lo prefiere)

Su Arduino ADC necesita ver una impedancia de entrada que sea menor que \ $ 10 \: \ textrm {k} \ Omega \ $, total. Con el arreglo de divisor anterior, esto es \ $ R_ {IN} = R_i + R_p \ vert \ vert R_g \ $. En términos generales, dado que \ $ R_p \ $ o \ $ R_g \ $ será más grande que \ $ R_p \ vert \ vert R vert \ $, solo necesitamos hacer \ $ R_i + R_p \ lt 10 \: \ textrm {k} \ Omega \ $.

Pero teniendo en cuenta su peor caso \ $ V_i = -17 \: \ textrm {V} \ $ y la fuente de alimentación de \ $ V_ {CC} = 5 \: \ textrm {V} \ $, también debe sea el caso de que \ $ R_p \ lt \ tfrac {5} {17} R_i \ $. Otra consideración que proviene de una ecuación separada que resuelve para \ $ R_g \ $ sugiere que \ $ R_p \ lt \ tfrac {2} {9} R_i \ $. Entonces \ $ R_i \ lt \ tfrac {10 \: \ textrm {k} \ Omega} {1+ \ tfrac {2} {9}} \ $. Así que esa es nuestra restricción más importante. \ $ R_i \ le 8.2 \: \ textrm {k} \ Omega \ $. Ese es un valor estándar de \ $ R_i = 8.2 \: \ textrm {k} \ Omega \ $ y luego seleccioné \ $ R_p = 1.8 \: \ textrm {k} \ Omega \ $ como un valor estándar apropiado, también .

A partir de esto, puede calcular \ $ R_g = V_o \ frac {R_i R_p} {\ left (V_ {CC} -V_o \ right) R_i - \ left (17 + V_o \ right) R_p} \ $, donde puedes elegir \ $ V_o \ $ cuando \ $ V_i = -17 \: \ textrm {V} \ $. Aunque no es lineal. Mirando la curva, creo que \ $ R_g = 2.7 \: \ textrm {k} \ Omega \ $ se ve bien.

La impedancia de entrada es ahora \ $ 9.3 \: \ textrm {k} \ Omega \ $, que cumple con los criterios necesarios para el ADC. Y en \ $ V_i = -17 \: \ textrm {V} \ $ obtendrá \ $ V_o = 670 \: \ textrm {mV} \ $ y en \ $ V_i = -10 \: \ textrm {V} \ $ obtendrá \ $ V_o = 1490 \: \ textrm {mV} \ $ y en \ $ V_i = 0 \: \ textrm {V} \ $ obtendrá \ $ V_o = 2650 \: \ textrm {mV} \ $.

En el caso anterior, supongo que puedes compartir motivos, por supuesto.

    
respondido por el jonk

Lea otras preguntas en las etiquetas