| Ваш IP: 18.207.102.38 | Online(23) - гости: 17, боты: 6 | Загрузка сервера: 1.82 ::::::::::::


ШИМ регулятор напряжения 0…25 В 2,5 А(Arduino)

На рисунке показана схема простого ШИМ регулятора напряжения. Выходное напряжение ШИМ регулятора может меняться от 0 до 25 В, при максимальном токе нагрузки 2,5 А (при выходном напряжении 25 В). Схема ШИМ регулятора разделена на две части, первая часть силовая, в которой основными компонентами являются два транзистора и дроссель. Вторая часть схемы это плата Arduino Nano, которая отвечает за работу силовой части, управление и индикацию.

Управление ШИМ регулятором очень простое, регулировка выходного напряжения осуществляется при помощи энкодера KY-040, а информация об установленном напряжении выводится на семисегментный четырех разрядный индикатор на базе TM1637.

  1. ШИМ регулятор имеет три режима работы:
    Основной режим — на выходе присутствует напряжение установленное при помощи энкодера, напряжение отображается на индикаторе TM1637 как U10.0
  2. Режим изменения выходного напряжения —  для перехода в этот режим необходимо нажать кнопку энкодера, на индикаторе будет отображено r10.0, поворотом ручки энкодера можно изменить выходное напряжение. Напряжение на выходе в этом режиме равно 0 В. При повторном нажатии кнопки энкодера, ШИМ регулятор переходит в режим работы №1 (на выходе появляется установленное напряжение).
  3. Режим КЗ — при коротком замыкании или при токе потребления ШИМ регулятора больше 2,7 А, выходное напряжение пропадает, на 2 секунды выводится сообщение Err0, далее ШИМ регулятор переходит в режим №2.

Сборка:

Транзистор КТ818Б необходимо установить на теплоотвод.

Дроссель — намотан на ферритовом кольце диаметром 25 мм, проводом 0,8-1 мм, намотка в один слой до заполнения.

Настройка:

  1. Установить значение 20 В, подключить к выходу вольтметр, подобрать значение переменной float pop (вольтметр должен показывать 20+/-0,1 В)
  2. При выходном напряжении 20 В, подключить нагрузку 10 Ом, подобрать значение переменной float pop1 (вольтметр должен показывать 20+/-0,1 В).
  3. Выходное напряжение во всем диапазоне выходных напряжений должен иметь погрешность +/-0,2В  с подключенной нагрузкой и без нее.
#include <STM32_TM1637.h> // https://rcl-radio.ru/wp-content/uploads/2020/02/STM32_TM1637_V1_3.zip
#include <Encoder.h>  // https://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip
#include <MsTimer2.h> // https://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip
#include <EEPROM.h>
  STM32_TM1637 tm(2,3);// CLK, DIO
  Encoder myEnc(11, 12);//CLK, DT
 
int u_dig;
float u_ust=0;
int h,reg=0;
const float pop = 5.39; // поправочный коэффициент калибровки напряжения без нагрузки
const float pop1=1.75; // поправочный коэффициент калибровки напряжения под нагрузкой
long oldPosition  = -999,newPosition;
 
void setup() { 
 MsTimer2::set(1, to_Timer);MsTimer2::start(); 
  // 31 250 Гц 9 бит
  TCCR1A = TCCR1A & 0xe0 | 2;
  TCCR1B = TCCR1B & 0xe0 | 0x09;
 pinMode(9,OUTPUT);  
 pinMode(A0,INPUT);
 pinMode(4,INPUT);
 
 u_ust = float(EEPROM.read(0))/10;
 analogWrite(9,h);
  tm.brig(7); // ЯРКОСТЬ 0...7
  newPosition=0;tm.print_float(u_ust,1, 0b00111110,0,0,0);
}
 
void loop() {
  if(digitalRead(4)==LOW&&reg==0){analogWrite(9, 0);reg=1;MsTimer2::start();tm.print_float(u_ust,1,0b01010000,0,0,0);delay(300);}
  if(digitalRead(4)==LOW&&reg==1){reg=0;MsTimer2::stop();tm.print_float(u_ust,1,0b00111110,0,0,0);delay(300);EEPROM.update(0,round(u_ust*10));}
 
 
  if(reg==0){
  while(5.00/1023*analogRead(A0)*pop>u_ust+float(h*pop1)/1000){
    if(5.00/1023*analogRead(A0)*pop > u_ust*1.2){h=h-20;}
    h--;if(h<0){h=0;}analogWrite(9,h);}
 
  while(5.00/1023*analogRead(A0)*pop<u_ust+float(h*pop1)/1000){h++;if(h>511){h=511;}analogWrite(9,h);delayMicroseconds(100);
        if(h>450){h=0; tm.print_float(0,0, 0b01111001,0b01010000,0b01010000,0);
        analogWrite(9,h);MsTimer2::start();newPosition=0;delay(2000);reg=1;}
        }
  }
 
if(reg==1){analogWrite(9, 0);tm.print_float(u_ust,1, 0b01010000,0,0,0);
if (newPosition != oldPosition) {
      oldPosition = newPosition;
      u_ust=u_ust+float(newPosition)/10;
      if(u_ust<0){u_ust=0;}if(u_ust>25){u_ust=25;}
      newPosition=0;myEnc.write(0);}
}
 
}// loop
 
void to_Timer(){newPosition = myEnc.read()/4;}

Форум — http://forum.rcl-radio.ru/viewtopic.php?id=150

Тестирование

Установленное напряжение Без нагрузки Ток нагрузки  С нагрузкой

 

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Сигнализатор жидкости

    Сигнализатор жидкости

    Сигнализатор жидкости (воды) основан на ИМС NE555 и содержит датчик (зонды) выполненный в виде двух медных оголенных проводов. Расстояние между контактами датчика не должно превышать 10 мм. Применение сигнализатора жидкости разнообразное — датчик уровня воды, датчик наполнения емкости, индикатор утечки воды и др. Схема работает от любого источника питания с …Подробнее...
  • Музыкальный звонок на УМС-7

    На рисунке изображена схема звонка основанного на микросхеме — музыкального синтезатора УМС-7 и при нажатии на кнопку SK1 вырабатывает законченный фрагмент музыкального произведения. Литература — Радиоконструктор 1999-11 Автор: Каравкин В.Подробнее...
  • Блоки переключателей

    На рисунке представлена схема блока переключателей с взаимным выключением. При нажатии на кнопку SB1 на выходах 2и 3 появится лог. единица, а на выходе 1 появится логический ноль. И соответственно при нажатии SB2 или SB3 на аналогичном выходе появится лог. ноль. Переключение сигналов происходит без дребезга. При одновременном нажатии 2-х …Подробнее...
  • Радиомикрофон с питанием от КРОНЫ

    На рисунке показана схема радиомикрофона которая питается от напряжения 9 В. Радиомикрофон обладает большой чувствительностью и способен воспринимать не громкую речь на значительном расстоянии, это достигнуто благодаря применению однокаскадного усилителя ЗЧ. Радиомикрофон работает в диапазоне УКВ ЧМ 64-75МГц или 88-108 МГц. Монтаж выполнен объемным способом, в качестве источника питания используется …Подробнее...
  • ADM8828/ADM8829 — инверторы напряжения

    ADM8828/ADM8829 — инверторы напряжения

    ИМС ADM8828 / ADM8829 предназначены для построения инвертора постоянного напряжения с минимальным количеством навесных компонентов. Входное напряжение может быть в пределах от +1,5 до 5,5 В, выходное отрицательное от -1,5 до -5 В. Выходной ток инвертора 25 мА, КПД достигает 99%. В ИМС ADM8828 имеется режим отключения (перевод в режим с …Подробнее...