Tabla de contenido:
- Suministros
- Paso 1: Paso 1: los esquemas
- Paso 2: Paso 2: Cálculos de código y resistencia
- Paso 3: Paso 3: ¡Probémoslo
Video: Voltímetro Arduino (0-100V DC) - Versión 2 (mejor): 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
En este instructivo, construí un voltímetro para medir altos voltajes DC (0-100v) con relativa precisión y exactitud usando un Arduino Nano y un ADS 1115 ADC.
Esta es una segunda versión del voltímetro que usé mi instructable anterior aquí:
Las mediciones de prueba que tomé fueron precisas, en su mayoría dentro de 0.1v del voltaje real medido con un voltímetro estándar (usé un Astro AI DM6000AR).
En mi opinión, esto es mucho mejor y más fácil que usar una referencia de voltaje externa en el Arduino.
Suministros
1 x Arduino Nano - Enlace
1 x pantalla Oled (SSD 1306) - Enlace
1 x ADS 1115 - ADC de 16 bits - Enlace
1 x 1 / 4W (aunque sugiero usar resistencias de 1W) Resistencias al 1% - 220k ohmios - Enlace
1 x 1 / 4W (aunque sugiero usar resistencias de 1W) Resistencias al 1% - 10k ohmios - Enlace
Protoboard y cables - Enlace
Astro AI DM6000AR - Enlace
Banco de energía USB - Enlace
Baterías de 9V - Enlace
CanadianWinters participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad afiliado diseñado para proporcionar un medio para que los sitios ganen tarifas mediante enlaces a Amazon.com y sitios afiliados. Al usar estos enlaces, como Asociado de Amazon, gano con las compras que califican, incluso si compras algo más, y no te costará nada.
Paso 1: Paso 1: los esquemas
Conecté todas las partes según los esquemas anteriores.
Até el pin ADDR del ADC1115 a tierra. Esto establece la dirección del ADC en 0x48.
Paso 2: Paso 2: Cálculos de código y resistencia
Como en el instructable anterior, la idea del circuito es que el voltaje de CC que se va a medir pasa a través de una resistencia de voltaje. El voltaje escalado y luego ingresa al pin analógico del convertidor ADC para ser leído, luego se pasa al Arduino a través de I2C y luego se vuelve a escalar y se muestra en la pantalla OLed.
No utilicé ningún promedio o suavizado en el código en este caso, ya que las lecturas parecen bastante precisas. Para reducir el ruido, es posible que desee agregar un pequeño condensador entre A0 (en el ADC) y tierra. Sin embargo, no fue necesario para mi prueba.
Una cosa que noté fue un poco de ruido cuando no había batería conectada (0 voltios). Usé el monitor serial del Arduino para mostrar el valor ADC y corregirlo / ajustarlo mediante código.
Como en el instructivo anterior, hice una hoja de cálculo que automatiza los cálculos en caso de que desee utilizar diferentes valores de resistencia en el divisor de voltaje: Enlace a la hoja de Google
Aquí está el código que usé para este proyecto:
#incluir
#include #include #include Adafruit_ADS1115 ads (0x48); // Dirección del ADC U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (rotación, [reset]) int calib = 7; // Valor de calibración de ADS1115 para reducir error flotante voltaje = 0; // utilizado para almacenar el valor de voltaje float Radjust = 0.043421905; // Factor divisor de voltaje (R2 / R1 + R2) float vbat = 0; // voltaje final después de calcs- voltaje de la batería // variables para refrescar la pantalla sin usar delay unsigned long previousMillis = 0; // se almacenará la última vez que se actualizó la pantalla // las constantes no cambiarán: const long interval = 250; // intervalo en el que se actualiza la pantalla (milisegundos) void setup (void) {Serial.begin (9600); u8g2.begin (); ads.begin (); } bucle vacío (vacío) {int16_t adc0; // Lectura ADC de 16 bits de la entrada A0 adc0 = ads.readADC_SingleEnded (0); voltaje = ((adc0 + calib) * 0.1875) / 1000; currentMillis largo sin firmar = millis (); vbat = voltaje / Radjust; // Evita mostrar voltaje negativo cuando la batería está desconectada if (vbat = interval) {previousMillis = currentMillis; u8g2.clearBuffer (); // borra el menú interno // Pantalla de voltaje del paquete - Fuentes en esta página: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // Fuente de 20px u8g2.setFont (u8g2_font_fub35_tr); // Fuente de 35px u8g2.setCursor (1, 42); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // Fuente de 10 px u8g2.setCursor (1, 60); u8g2.print ("Voltios"); } u8g2.sendBuffer (); // transferir la memoria interna a la pantalla delay (1); }
Paso 3: Paso 3: ¡Probémoslo
Para probar este voltímetro usé baterías de 10x 9v que compré en una tienda local. ¡Esta vez pude medir hasta 97 voltios! Estoy planeando usar este voltímetro para medir el voltaje en los paquetes de baterías de mis bicicletas eléctricas (tienen voltajes que van desde 24-60v con los ocasionales de 72v).
Una vez que los componentes electrónicos estén empaquetados en una placa de circuito impreso y una pequeña caja, esto será un medidor de batería portátil y agradable. Los gráficos y las fuentes del OLED pueden personalizarse para adaptarse a sus necesidades (por ejemplo, una fuente más grande para facilitar la lectura). Mi objetivo era tener una lectura de voltaje en el medidor Oled / Arduino no muy lejos de mi multímetro digital. Apuntaba a +/- 0, delta máximo de 3v.
Como puede ver en el video al comienzo del Instructable, ¡pude archivar esto! ¡La mayoría de las lecturas fueron acertadas!
Espero que hayas disfrutado de este Instructable y déjame saber lo que piensas.
Recomendado:
Voltímetro preciso con pantalla de tinta electrónica Waveshare (0-90v CC) con Arduino Nano: 3 pasos
Voltímetro preciso de pantalla de tinta electrónica Waveshare (0-90v CC) con Arduino Nano: en este Instructable, uso una pantalla de papel electrónico Waveshare de 2.9 '' con un Arduino Nano, un divisor de voltaje y un ADS1115 para mostrar voltajes precisos de hasta 90 voltios DC en el E-Paper Display. Este instructable combina estos dos proyectos anteriores: - Ardui
Voltímetro preciso y exacto de Arduino (0-90 V CC): 3 pasos
Voltímetro preciso y exacto de Arduino (0-90V DC): en este instructable, he construido un voltímetro para medir altos voltajes DC (0-90v) con relativa precisión y exactitud usando un Arduino Nano. Las medidas de prueba que tomé fueron lo suficientemente precisas, en su mayoría dentro de 0.3v del voltaje real medido con un
Voltímetro de CA con Arduino: 3 pasos (con imágenes)
Voltímetro de CA usando Arduino: ¡Este es un circuito simple para determinar el voltaje de CA usando el Arduino UNO sin ningún voltímetro de CA! ¡¡DISFRUTAR
Escudo para Arduino de viejos tubos VFD rusos: reloj, termómetro, voltímetro : 21 pasos (con imágenes)
Escudo para Arduino de los viejos tubos VFD rusos: reloj, termómetro, voltímetro …: Este proyecto tardó casi medio año en completarse. No puedo describir cuánto trabajo se dedicó a este proyecto. Hacer este proyecto solo me llevaría una eternidad, así que tuve la ayuda de mis amigos. Aquí puede ver nuestro trabajo compilado en una instrucción muy larga
Voltímetro digital Arduino: 3 pasos
Voltímetro digital Arduino: un voltímetro o un medidor de voltaje es un instrumento de medición que se utiliza para medir voltaje