Índice:
- Suprimentos
- Etapa 1: Etapa 1: os esquemas
- Etapa 2: Etapa 2: o código e os cálculos do resistor
- Etapa 3: Etapa 3: Vamos fazer um teste
Vídeo: Medidor de volt Arduino (0-100 V DC) - Versão 2 (melhor): 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Neste instrutível, construí um voltímetro para medir altas tensões DC (0-100v) com relativa precisão e exatidão usando um Arduino Nano e um ADS 1115 ADC.
Esta é uma segunda versão do voltímetro usado meu instrutível anterior aqui:
As medições de teste que fiz foram precisas, principalmente dentro de 0,1v da tensão real medida com um voltímetro padrão (usei um Astro AI DM6000AR).
Isso é muito melhor e mais fácil na minha opinião do que usar uma referência de tensão externa no Arduino.
Suprimentos
1 x Arduino Nano - Link
1 x Display Oled (SSD 1306) - Link
1 x ADS 1115 - ADC de 16 bits - Link
1 x 1 / 4W (eu sugiro usar resistores de 1W embora) Resistores de 1% - 220k ohm - Link
1 x 1 / 4W (eu sugiro usar resistores de 1W embora) Resistores de 1% - 10k ohm - Link
Placa de ensaio e fios - Link
Astro AI DM6000AR - Link
USB Power Bank - Link
Baterias 9V - Link
CanadianWinters é um participante do Programa de Associados da Amazon Services LLC, um programa de publicidade de afiliados desenvolvido para fornecer um meio para os sites ganharem taxas vinculando-se à Amazon.com e sites afiliados. Ao usar esses links, como associado da Amazon, ganho com compras qualificadas, mesmo se você comprar outra coisa - e isso não custará nada.
Etapa 1: Etapa 1: os esquemas
Eu conectei todas as peças de acordo com o esquema acima.
Amarrei o pino ADDR do ADC1115 ao aterramento. Isso define o endereço do ADC para 0x48.
Etapa 2: Etapa 2: o código e os cálculos do resistor
Como no instrutível anterior, a ideia do circuito é que a tensão DC a ser medida passe por um resistor de tensão. A tensão escalonada chega ao pino analógico do conversor ADC para ser lida, depois é passada para o Arduino via I2C e depois redimensionada e exibida no display OLed.
Eu não usei nenhuma média ou suavização no código neste caso, pois as leituras parecem bastante precisas e precisas. Para reduzir o ruído, você pode querer adicionar um pequeno capacitor entre A0 (no ADC) e o terra. No entanto, não foi necessário para o meu teste.
Uma coisa que notei foi um pouco de ruído quando não havia bateria instalada (0 volts). Usei o monitor serial do Arduino para mostrar o valor do ADC e corrigir / ajustar via código.
Como no instrutível anterior, fiz uma planilha que automatiza os cálculos caso você queira usar diferentes valores de resistor no divisor de tensão: Link para a Planilha Google
Aqui está o código que usei para este projeto:
#incluir
#include #include #include Adafruit_ADS1115 ads (0x48); // Endereço do ADC U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (rotação, [redefinir]) int calib = 7; // Valor de calibração do ADS1115 para reduzir o erro float voltage = 0; // usado para armazenar o valor de tensão float Radjust = 0.043421905; // Fator divisor de tensão (R2 / R1 + R2) float vbat = 0; // tensão final após cálculos - tensão da bateria // variáveis para atualizar a tela sem usar atraso unsigned long previousMillis = 0; // armazenará a última vez que a tela foi atualizada // constantes não mudam: const long interval = 250; // intervalo para atualizar a tela (milissegundos) void setup (void) {Serial.begin (9600); u8g2.begin (); ads.begin (); } loop vazio (vazio) {int16_t adc0; // Leitura de ADC de 16 bits de entrada A0 adc0 = ads.readADC_SingleEnded (0); voltagem = ((adc0 + calib) * 0,1875) / 1000; currentMillis longo sem sinal = millis (); vbat = tensão / Radjust; // Evita a exibição de tensão negativa quando a bateria é desconectada if (vbat = intervalo) {previousMillis = currentMillis; u8g2.clearBuffer (); // limpar o menu interno // Exibição da tensão do pacote - Fontes nesta página: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // Fonte 20px u8g2.setFont (u8g2_font_fub35_tr); // Fonte de 35px u8g2.setCursor (1, 42); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // Fonte de 10 px u8g2.setCursor (1, 60); u8g2.print ("Volts"); } u8g2.sendBuffer (); // transfere a memória interna para o display delay (1); }
Etapa 3: Etapa 3: Vamos fazer um teste
Para testar este voltímetro, usei baterias 10x 9v que comprei em uma loja local. Desta vez, consegui medir até 97 volts! Estou planejando usar este voltímetro para medir a voltagem nas baterias das minhas bicicletas elétricas (elas têm voltagens que variam de 24-60v com as ocasionais de 72v).
Uma vez que os componentes eletrônicos são embalados em uma pcb e uma pequena caixa, isso fará um medidor de bateria portátil e agradável. Os gráficos e fontes no OLED podem ser personalizados para atender às suas necessidades (por exemplo, fonte maior para facilitar a leitura). Meu objetivo era ter uma leitura de tensão no medidor Oled / Arduino não muito longe do meu multímetro digital. Eu estava apontando para +/- 0, delta máximo de 3v.
Como você pode ver no vídeo no início do Instructable, consegui arquivar isso! A maioria das leituras acertou no ponto!
Espero que tenha gostado deste Instructable e deixe-me saber a sua opinião!
Recomendado:
Luzes DIY de longa distância do melhor amigo: 4 etapas (com fotos)
Luzes DIY de Longa Distância Melhor Amigo: Eu fiz luzes sincronizadas de longa distância conhecidas como " Melhor Amigo " lâmpadas. Isso significa apenas que eles são mantidos em sincronia com a cor atual da outra lâmpada. Então, se você mudasse uma lâmpada para verde, logo depois que a outra lâmpada mudaria para verde
Sourino - o melhor brinquedo para gatos e crianças: 14 etapas (com fotos)
Sourino - o Melhor Brinquedo para Gatos e Crianças: Imagine longas festas com crianças e gatos brincando de Sourino. Este brinquedo vai surpreender tanto gatos quanto crianças. Você vai gostar de jogar no modo de controle remoto e deixar seu gato louco. No modo autônomo, você vai gostar de deixar Sourino mexer em seu gato
Google Cardboard 1.5 - Melhor de 1.0 + 2.0: 10 etapas (com imagens)
Google Cardboard 1.5 - Melhor de 1.0 + 2.0: O Google Cardboard é uma maneira barata de experimentar a realidade virtual (VR) em seu celular Apple ou Android. Você faz o download de aplicativos (muitos gratuitos - veja gravações no final), coloca-os no visualizador semelhante ao ViewMaster e move sua cabeça para ver 360 graus de realidade ou
Como fazer e testar um DAC melhor com ESP32: 5 etapas
Como fazer e testar um DAC melhor com ESP32: O ESP32 tem 2 conversores digital para analógico (DACs) de 8 bits. Esses DACs nos permitem produzir tensões arbitrárias dentro de uma certa faixa (0-3,3 V) com 8 bits de resolução. Neste Instructable, vou mostrar a você como construir um DAC e caracterizar seu p
Volt versátil, ampere e medidor de energia: 6 etapas (com imagens)
Medidor versátil de volt, ampere e potência: Os multímetros são adequados para muitas finalidades. Mas geralmente, eles medem apenas um valor de cada vez. Se lidamos com medições de potência, precisamos de dois multímetros, um para tensão e o segundo para ampere. E se quisermos medir a eficiência, precisamos