🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

🔋 Проект: цифровой вольтметр для настройки понижающего DC-DC преобразователя LM2596

Понижающий преобразователь LM2596 регулируется резистором, но у базовой версии нет дисплея — приходится проверять напряжение мультиметром. Arduino измеряет выходное напряжение через делитель и показывает точное число на TM1637.

Как это работает

Аналоговый вход Arduino измеряет только 0-5V, а LM2596 на выходе выдаёт больше. Делитель напряжения из двух резисторов снижает реальное напряжение до безопасного диапазона для аналогового пина.

Зная коэффициент деления, прочитанное `analogRead()` пересчитывается обратно в реальное напряжение умножением. Делитель 10 кОм/2.2 кОм уменьшает напряжение примерно в 5.5 раза, позволяя измерять до ~27В с опорным 5V.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Делитель: R1 (10 кОм) от выхода LM2596 (+) к точке измерения, R2 (2.2 кОм) от этой точки к GND. Точка между R1/R2 → A0.
  2. Обязательно проверьте напряжение в точке измерения мультиметром ДО подключения к Arduino.
  3. TM1637: CLK → D9, DIO → D10, VCC → 5V, GND → GND.
  4. GND преобразователя и GND Arduino должны быть соединены вместе.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить. ОБЯЗАТЕЛЬНО
// перепроверьте расчёт делителя мультиметром перед подключением.

#include <TM1637Display.h>

TM1637Display display(9, 10);
const int SENSOR_PIN = A0;
const float R1 = 10000.0;
const float R2 = 2200.0;
const float VREF = 5.0;

void setup() {
  Serial.begin(9600);
  display.setBrightness(5);
}

void loop() {
  int raw = analogRead(SENSOR_PIN);
  float voltageAtPin = (raw / 1023.0) * VREF;
  float realVoltage = voltageAtPin * (R1 + R2) / R2;
  display.showNumberDecEx((int)(realVoltage * 100), 0b01000000, false);
  delay(300);
}
                

Библиотека TM1637Display ставится через Менеджер библиотек. Для точности подстройте `R1`/`R2` под реально измеренные мультиметром номиналы резисторов.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔗 собственный транзисторный драй…⚠️ сигнализация превышения безопа… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 211 ₽ 190 ₽ (экономия 21 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA