DC-DC преобразователь на основе чипа XL4015 представляет собой бюджетный и мощный модуль с высокой эффективностью (до 96%). XL4015 обладает защитой от короткого замыкания и перегрева, что позволяет автоматически отключать выход в случае превышения рабочей температуры.
Входное напряжение XL4015 составляет от 8 до 36 вольт, максимальный ток нагрузки может достигать 5 А.
Основные параметры:
- Эффективность преобразования (КПД): до 96%
- Частота переключения: 180 кГц
- Входное напряжение: от 8 до 40 В
- Выходное напряжение: от 1.25 до 32 В (регулируемое)
- Защита: от короткого замыкания, от перегрева, ограничение выходного тока
- Защита от переполюсовки: нет
Ниже показана схема источника питания с выходным регулируемым выходным напряжением от 0 до 25 В с функцией стабилизации тока.
XL4015 необходимо установить на небольшой теплоотвод. Дроссель — намотан на ферритовом кольце диаметром 25-30 мм, проводом 0,8-1 мм, намотка в один слой до заполнения.
Блок измерения тока и напряжения выполнен на платформе Arduino, плата контроллера основана на микроконтроллере LGT8F328 (LGT8F328P-LQFP32 MiniEVB). Этот микроконтроллер имеет 12-й битный АЦП, что дает возможность достаточно точно измерять ток и напряжение.
- Плата разработчика LGT8F328P-LQFP32 MiniEVB, как использовать плату в среде программирования Arduino IDE рассказано в — http://rcl-radio.ru/?p=129966
Информация об установленном выходном напряжении, ток нагрузки и режимы работы будут выводиться на дисплей OLED 1.3 128×64 (чип драйвера — SH1106 I2C).
Напряжения управления уровнем тока стабилизации и выходным напряжением, а так же усиленное напряжение шунта и напряжение на делителе напряжения R6 R7 находится в пределах 5 В, для совместимости с микроконтроллером. При применении шунта с сопротивлением отличным от указанного на схеме, подберите коэффициент усиления ОУ LM358 таким образом, что бы выходное напряжение ОУ не превышало 5 В.
После сборки ШИМ регулятора необходимо настроить коэффициенты измерителей тока и напряжения:
#define KALL_I_IZ 1.200 #define KALL_U_IZ 0.730
Для настройки в выходу ШИМ регулятора подключите вольтметр, установите напряжение на выходе ШИМ регулятора 20 В, подстройкой коэффициента KALL_U_IZ добейтесь одинаковых показаний вольтметра и и измерителя напряжения.
Для настройки измерителя тока к выходу ШИМ регулятора подключите нагрузку. Ток нагрузки должен быть в пределах 70-90% от максимального тока ШИМ регулятора. Измерьте ток нагрузки амперметром, коэффициентом KALL_I_IZ добейтесь одинаковых показаний амперметра и измерителя тока.
Скетч
#define KALL_I_IZ 1.200 #define KALL_U_IZ 0.730 #include <Wire.h> #include <U8glib.h> // https://github.com/olikraus/u8glib/ U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); int n,m,m1; float i_dig,u_dig,i_dig1; float u_iz,i_iz,i_iz1; long i_sum,u_sum,i_sum1; bool w=1; void setup(){ delay(200); Wire.begin(); analogReadResolution(12);// АЦП 12 БИТ analogReference(DEFAULT); pinMode(A0,INPUT); pinMode(A1,INPUT); pinMode(A2,INPUT); pinMode(13,OUTPUT); u8g.firstPage(); do { u8g.setFont(u8g_font_profont12r); u8g.drawStr(30,10,"POWER SUPPLY"); u8g.drawStr(30,25,"0-30V 0-3A"); u8g.drawStr(30,55,"rcl-radio.ru"); } while( u8g.nextPage() ); delay(2000); } void loop(){ i_dig = analogRead(A0); i_sum = i_sum+i_dig; n++;if(n>9){n=0;i_iz=i_sum/10;i_sum=0;} u_dig = analogRead(A1); u_sum = u_sum+u_dig; m++;if(m>9){m=0;u_iz=u_sum/10;u_sum=0;w=1;} i_dig1 = analogRead(A2); i_sum1 = i_sum1+i_dig1; m1++;if(m1>9){m1=0;i_iz1=i_sum1/10;i_sum1=0;} if(i_iz*1.05>=i_iz1){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);} if(w==1){ u8g.firstPage(); do { u8g.drawLine(0, 26, 128, 26);u8g.drawLine(0, 53, 128, 53); u8g.setFont(u8g_font_profont29r); u8g.drawStr(0,22,"U");u8g.setPrintPos(35, 22);u8g.print(u_iz*KALL_U_IZ/100.0,1);u8g.drawStr(110,22,"V"); u8g.drawStr(0,50,"I");u8g.setPrintPos(35, 50);u8g.print(i_iz*KALL_I_IZ/1000.0,2);u8g.drawStr(110,50,"A"); u8g.setFont(u8g_font_profont12r); u8g.setPrintPos(75, 64);u8g.print(i_iz1*KALL_I_IZ/1000.0,2); u8g.drawStr(15,64,"I stab = ");u8g.drawStr(105,64,"A"); } while( u8g.nextPage() ); } }