divisor de voltaje para detectar voltaje en arduino

3

Estoy trabajando en un voltímetro de CC para monitorear mis paneles solares. El voltaje total de mis paneles puede llegar hasta un máximo de 50 voltios. Diseñé un divisor de voltaje con resistencias de 100k y 10k. Para plena tensión da 4,54 voltios en el pin arduino.

El problema que estoy enfrentando es que el comportamiento del voltaje no es lineal. Da un valor perfecto para un voltaje de entrada, pero cambia drásticamente para otros voltajes de entrada. He visto algunas páginas de instructables que sugieren que estoy descuidando algo relacionado con los problemas de impedancia de los pines de arduino, pero no pude obtenerlo. Mi simulación en proteus funciona perfectamente pero en diseño práctico no pude llegar a ningún punto. Por favor ayúdenme con respecto a la lectura de voltaje de alta impedancia en los pines de arduino.

    
pregunta Saqib Ahmed

2 respuestas

5

Las placas Arduino basadas en ATmega (ATmega328P por ejemplo) utilizan un circuito de retención y muestreo capacitivo para las entradas de ADC. Esto tiene dos implicaciones para sus aplicaciones:

  • Hay un retraso entre la inicialización del ADC y la disponibilidad de un dato analógico estable
  • Mientras que la impedancia de entrada general del ATmega328P se indica en la hoja de datos como 100 MOhms, la corriente real extraída para cargar el condensador de muestreo requiere una impedancia de salida del orden de 10 kOhms desde su fuente de señal, para una lectura analógica estable y rápida. / li>

Para abordar el primer problema, pruebe AnalogRead () 3 o 4 veces seguidas y vea si el valor final se estabiliza en el rango que espera. Simplemente descartar las primeras lecturas cada vez.

Para el segundo problema, un divisor de voltaje de 10 k / 1 k debería funcionar mejor: Sin embargo, esto consumirá más corriente (4.545 mA) y, por lo tanto, la resistencia de 10 kOhm debe tener una capacidad nominal de más de 207 mW. Así que una resistencia de medio vatio sería mi elección. Después de hacer esto, puede obtener resultados estables de AnalogRead () sin tener que retrasar la lectura, por lo que el punto anterior se anula.

Un tercer tema a considerar: ¿hay algún capacitor en el divisor de voltaje que estropee las obras, por casualidad? Si es así, retire ese condensador.

    
respondido por el Anindo Ghosh
0

El voltaje de circuito abierto de un divisor de voltaje será lineal con el voltaje de entrada.

Cuando se ejecuta directamente en la entrada A / D de la mayoría de los procesadores CMOS, debería funcionar bien. Puede ser que tu cosa arduino tenga algunas cosas en ese pin. Esta es realmente una pregunta del usuario arduino. Ve a revisar el esquema de arduino.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas