![Точный и точный вольтметр Arduino (0-90 В постоянного тока): 3 шага Точный и точный вольтметр Arduino (0-90 В постоянного тока): 3 шага](https://i.howwhatproduce.com/images/002/image-5057-j.webp)
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04
В этом руководстве я построил вольтметр для измерения высокого напряжения постоянного тока (0-90 В) с относительной точностью и точностью с помощью Arduino Nano.
Проведенные мной тестовые измерения были достаточно точными, в основном в пределах 0,3 В от фактического напряжения, измеренного стандартным вольтметром (я использовал Astro AI DM6000AR). Это достаточно близко для предполагаемого использования устройства.
Чтобы заархивировать это, я использовал источник опорного напряжения (4,096 В) и делитель напряжения.
Что касается кода, я, конечно, использовал параметр «внешняя ссылка» для Arduino Nano и пример «Сглаживание» в руководствах по Arduino.
Запасы
1 x Arduino Nano - ссылка
1 x Oled Display (SSD 1306) - Ссылка
Резисторы 1 x 1/4 Вт, 1% - 1 кОм - Ссылка
Резисторы 1 x 1/4 Вт, 1% - 220 кОм - Ссылка
Резисторы 1 x 1/4 Вт, 1% - 10 кОм - Ссылка
1 x 4,096 В опорное напряжение LM4040DIZ-4.1 - ссылка
Макетная плата и провода - Ссылка
Astro AI DM6000AR - Ссылка
USB Power Bank - Ссылка
Батареи 9 В - Ссылка
CanadianWinters является участником программы Amazon Services LLC Associates, партнерской рекламной программы, предназначенной для предоставления сайтам средств для получения комиссионных путем ссылки на Amazon.com и аффилированные сайты. Используя эти ссылки, я как партнер Amazon зарабатываю на соответствующих покупках, даже если вы покупаете что-то другое - и это вам ничего не будет стоить.
Шаг 1: Схема
![Схема Схема](https://i.howwhatproduce.com/images/002/image-5057-1-j.webp)
![Схема Схема](https://i.howwhatproduce.com/images/002/image-5057-2-j.webp)
Я соединил все части согласно схемам выше. В частности, я выбрал опорное напряжение 4,096, чтобы оставаться как можно ближе к отметке 5 В, чтобы избежать потери разрешения.
Следуя таблице данных, я выбрал резистор 1 кОм в качестве источника опорного напряжения, хотя можно было использовать другое значение. Напряжение для опорного сигнала подается с вывода Nano 5v.
Идея схемы заключается в том, что измеряемое постоянное напряжение проходит через резистор напряжения. Масштабированное напряжение затем поступает на аналоговый вывод Arduino для выборки, сглаживания, масштабирования и отображения на OLed-дисплее.
Я старался не усложнять:)
Шаг 2: Расчет кода и резистора
Значения резисторов были выбраны так, как рекомендуется (если я не ошибаюсь, это указано в таблице данных Arduino / Atmega), чтобы поддерживать импеданс ниже 10 кОм.
Чтобы упростить задачу, я сделал электронную таблицу, которая автоматизирует вычисления на случай, если вы хотите использовать разные значения резисторов: Ссылка на Google Sheet
Вот код, который я использовал для этого проекта:
#включают
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (вращение, [сброс]) float Voltage = 0; // используется для хранения значения напряжения float Radjust = 0.043459459; // Коэффициент делителя напряжения (R2 / R1 + R2) float vbat = 0; // конечное напряжение после расчета - напряжение поплавка аккумулятора Vref = 4.113; // Опорное напряжение - измеренное действительное значение. Номинальное значение 4.096v const int numReadings = 50; // количество отсчетов чтения - увеличивайте для большего сглаживания. Уменьшение для более быстрого чтения. int чтения [numReadings]; // показания с аналогового входа int readIndex = 0; // индекс текущего чтения unsigned long total = 0; // промежуточная сумма int average = 0; // переменные для обновления экрана без использования задержки unsigned long previousMillis = 0; // сохранит время последнего обновления экрана // константы не изменятся: const long interval = 50; // интервал обновления экрана (миллисекунды) void setup (void) {analogReference (EXTERNAL); // используйте AREF для опорного напряжения 4.096. Мое референсное реальное напряжение - 4,113 В u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {//… переход к началу: readIndex = 0; } // вычисляем среднее значение: average = (total / numReadings); напряжение = среднее * (Vref / 1023.0); // 4.113 - это Vref vbat = Voltage / Radjust; // Установка задержки обновления экрана с помощью Millis if (currentMillis - previousMillis> = interval) {// сохраняем время последнего обновления экрана previousMillis = currentMillis; u8g2.clearBuffer (); // очищаем внутреннюю память // Отображение напряжения упаковки u8g2.setFont (u8g2_font_fub20_tr); // шрифт 20px u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // шрифт 10 пикселей u8g2.setCursor (76, 20); u8g2.print («Вольт»); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters"); u8g2.setCursor (1, 60); u8g2.print («Точное напряжение»); } u8g2.sendBuffer (); // переносим внутреннюю память на дисплей delay (1); }
Обратите внимание, что я немного устарел с кодированием Arduino, поэтому, если вы обнаружите какую-либо ошибку или способ улучшить код, я открыт для предложений:)
Шаг 3: Давайте проверим
![Давайте проверим! Давайте проверим!](https://i.howwhatproduce.com/images/002/image-5057-3-j.webp)
![Давайте проверим! Давайте проверим!](https://i.howwhatproduce.com/images/002/image-5057-4-j.webp)
![Давайте проверим! Давайте проверим!](https://i.howwhatproduce.com/images/002/image-5057-5-j.webp)
Чтобы проверить этот вольтметр, я использовал 8 батарей по 9 В, которые я купил в местном магазине. Я планирую использовать этот вольтметр для измерения напряжения на аккумуляторных батареях моих электрических велосипедов (они имеют напряжение в диапазоне от 24 до 60 В, иногда с 72 В).
Как только электроника будет упакована в печатную плату и небольшую коробку, получится красивый и портативный измеритель батарейного блока. Графика и шрифты на OLED-экране могут быть настроены в соответствии с вашими потребностями (например, более крупный шрифт для удобства чтения).
Моей целью было получить показания напряжения на измерителе Oled / Arduino недалеко от моего цифрового мультиметра. Я стремился к дельте +/- 0,3В макс. Как вы можете видеть из видео, мне удалось заархивировать это, за исключением верхней части измерений.
Надеюсь, вам понравилось это руководство, и поделитесь со мной своими мыслями!
Рекомендуемые:
Точный вольтметр Waveshare E-ink Display (0-90 В постоянного тока) с Arduino Nano: 3 шага
![Точный вольтметр Waveshare E-ink Display (0-90 В постоянного тока) с Arduino Nano: 3 шага Точный вольтметр Waveshare E-ink Display (0-90 В постоянного тока) с Arduino Nano: 3 шага](https://i.howwhatproduce.com/images/002/image-3652-j.webp)
Точный вольтметр Waveshare E-ink Display (0-90 В постоянного тока) с Arduino Nano: в этой инструкции я использую 2,9-дюймовый дисплей Waveshare E-Paper с Arduino Nano, делителем напряжения и ADS1115 для отображения точных напряжений до 90 вольт постоянного тока на дисплее электронной бумаги. Это руководство объединяет эти два предыдущих проекта: - Ardui
Преобразование 35 В постоянного тока в 9 В постоянного тока с помощью регулятора напряжения 7809: 7 шагов
![Преобразование 35 В постоянного тока в 9 В постоянного тока с помощью регулятора напряжения 7809: 7 шагов Преобразование 35 В постоянного тока в 9 В постоянного тока с помощью регулятора напряжения 7809: 7 шагов](https://i.howwhatproduce.com/images/012/image-33381-j.webp)
Преобразование 35 В постоянного тока в 9 В постоянного тока с помощью регулятора напряжения 7809: Привет друг, сегодня я собираюсь сделать схему контроллера напряжения. С помощью этой схемы мы можем преобразовать до 35 В постоянного тока в постоянное 9 В постоянного тока. В этой схеме мы будем использовать только напряжение 7809. регулятор. Приступим
Преобразование 12 В постоянного тока в 5 В постоянного тока: 5 шагов
![Преобразование 12 В постоянного тока в 5 В постоянного тока: 5 шагов Преобразование 12 В постоянного тока в 5 В постоянного тока: 5 шагов](https://i.howwhatproduce.com/images/003/image-7612-8-j.webp)
Преобразование 12 В постоянного тока в 5 В постоянного тока: Привет друг, сегодня я расскажу вам, как преобразовать постоянное напряжение до 24 В в постоянное 5 В. Приступим
Сделай сам понижающий преобразователь постоянного тока в постоянный -- Как легко снизить напряжение постоянного тока: 3 шага
![Сделай сам понижающий преобразователь постоянного тока в постоянный -- Как легко снизить напряжение постоянного тока: 3 шага Сделай сам понижающий преобразователь постоянного тока в постоянный -- Как легко снизить напряжение постоянного тока: 3 шага](https://i.howwhatproduce.com/images/002/image-3628-32-j.webp)
Сделай сам понижающий преобразователь постоянного тока в постоянный || Как легко снизить напряжение постоянного тока: понижающий преобразователь (понижающий преобразователь) - это преобразователь постоянного тока в постоянный, который понижает напряжение (при повышении тока) от входа (источника питания) к выходу (нагрузки). Это класс импульсных источников питания (SMPS), обычно содержащий не менее
ШИМ-управление скоростью двигателя постоянного тока и освещением - Диммер постоянного тока: 7 ступеней
![ШИМ-управление скоростью двигателя постоянного тока и освещением - Диммер постоянного тока: 7 ступеней ШИМ-управление скоростью двигателя постоянного тока и освещением - Диммер постоянного тока: 7 ступеней](https://i.howwhatproduce.com/images/002/image-3248-40-j.webp)
ШИМ-управление скоростью двигателя постоянного тока и освещением | Диммер постоянного тока: сегодня в этом видео я собираюсь показать вам, как приглушить свет, контролировать скорость двигателя в постоянном или постоянном токе, так что давайте начнем