Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Собственный регулируемый источник питания на Arduino UNO: схема и код

Как сделать регулируемый блок питания на Arduino UNO (0–5 В)

Разные электронные модули (Wi-Fi, реле, моторы) требуют разные напряжения. Батареи быстро сажаются, не выдают большой ток, греются. Решение — регулируемый источник питания на Arduino с ШИМ (PWM) и транзисторным ключом.

Компоненты

Принцип работы

  1. Arduino генерирует ШИМ на пине 3 (D3, ~490 Гц, 8 бит: 0–255).
  2. ШИМ через резистор на базу 2N2222 → транзистор работает как ключ/усилитель.
  3. На эмиттере получается усредненное напряжение, пропорциональное скважности (duty cycle).
  4. Конденсаторы 100 мкФ сглаживают пульсации.
  5. Выходное напряжение снимается с эмиттера и через делитель (или прямо, если <5В) подается на АЦП A0 для обратной связи.
  6. Arduino измеряет АЦП (10 бит, 0–1023 ≡ 0–5 В, шаг ~4,9 мВ), показывает на LCD.
  7. Кнопки на D4/D5 меняют duty cycle (ref_volt 0–255) → меняется выходное напряжение.

Важные нюансы

Ключевые фрагменты кода

#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
int ref_volt = 125;  // 50% duty = ~2.5V старт
float flag = 0;

void setup() {
  pinMode(3, OUTPUT);   // PWM
  pinMode(4, INPUT);    // кнопка +
  pinMode(5, INPUT);    // кнопка -
  lcd.begin(16,2);
  lcd.print("Variable Voltage");
  delay(1000);
  lcd.clear();
}

void loop() {
  float value = analogRead(A0);
  value = (value * 5.0) / 1024.0;  // Вольты
  analogWrite(3, ref_volt);        // PWM на D3

  // Кнопка увеличения (активный LOW с подтяжкой)
  if (digitalRead(4) == LOW) {
    if (ref_volt < 250) { ref_volt++; delay(100); }
  }
  // Кнопка уменьшения
  if (digitalRead(5) == LOW) {
    if (ref_volt > 0) { ref_volt--; delay(100); }
  }

  lcd.setCursor(0,0);
  lcd.print("Vout: ");
  lcd.print(value);
  lcd.print(" V  ");
  delay(100);
}

ADC и PWM на Arduino Uno — справочно

LCD 16×2 (4-битный режим)

Подключение: RS, EN, D4–D7 → цифровые пины Arduino. Библиотека LiquidCrystal упрощает работу: lcd.begin(16,2), lcd.print(), lcd.setCursor().

Применение и развитие

Простой, дешевый и наглядный способ получить 0–5 В переменного напряжения без батареек. Идеален для обучения ШИМ, ADC, транзисторным ключам и обратной связи.

Промышленные технологии

  1. ИИ обнаруживает торговлю людьми и дикой природой в глобальных цепях поставок
  2. Создание DTMF-декодера на Arduino без внешних микросхем
  3. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  4. Веб-сервер на Arduino Uno WiFi: управление LED через браузер
  5. Управление Arduino Uno из Python 3: команды через последовательный порт и демонстрация с LED
  6. Сборка компактного FM-радио на Arduino Nano и RDA5807M
  7. Робот-машина под управлением G-сенсора смартфона через Bluetooth и Arduino
  8. Освоение тока, мощности и момента в приводах переменной скорости
  9. Двухполярный источник питания ±12 ВDC от 230 ВAC — схема и руководство
  10. Бе스트рансформаторные блоки питания: проверенное решение для снижения стоимости и размера