Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

How To Make 1.

2-24V | 0-9A Power Supply


Variable Voltage, Current. DIY Laboratory
Adjustable PS 120W
07/25/2019
Variable voltage and current power supply circuit. How to regulate amps and
voltage.

This power supply has the ability to adjust 1.2 – 24 volts voltage, 0.2 – 9 Amps
current. Maximum power 120W. The power supply also features a 5V constant
current 75W power module and a maximum current rating of 5A.
I used 2 fans for cooling. One is for cooling the XL4016 module, which I use as
the main regulator. When the temperature in the box exceeds 60 ° C, the first
fan will work. If the temperature rises above 65 degrees, the second fan will be
activated. The temperature measurument and fan control circuit with the
Arduino Pro Mini . The temperature values can be changed via the code. I
used an 0.91-inch Oled display with this circuit. This display shows the
temperature inside the box and indicates which fan is active. The fans operate
with 12V. Arduino control circuit, OLED display operate with 5V. To supply
them, I built a small power circuit that provides a constant voltage of 5V and
12V. The power supply consists of 4 circuits. 2 of them are ready regulator
module and the other two are 5V & 12V power circuit and fan control circuit.

Max. Current calculation: A=W/V (Current=Watt/Voltage)

MUSTOOL MT8206 2 in 1 Intelligent Digital Oscilloscope


Multimeter: https://ban.ggood.vip/RvRx
DANIU PX-988 90W Digital Thermostat Adjustable Iron
Soldering: https://ban.ggood.vip/RvRz

5V & 12V Regulator Circuit Required materials:

1 x 7805 Integrated
Regulator: https://www.banggood.com/custlink/3mK3adIGQ2
1 x 7812 Integrated
Regulator: https://www.banggood.com/custlink/vGDDjYSGAu

2 x 0.33uF Capacitor
2 x 0.1uF Capacitor: https://www.banggood.com/custlink/mDKGOYZmM3

Two Level Fan Control Circuit Required Materials: 1 x Arduino Pro


Mini https://www.banggood.com/custlink/vmDGoYZKSt

1 x 18B20 Temperature
Sensor: https://www.banggood.com/custlink/G33KjhZD2J

2 x S8050 NPN Transistor: https://www.banggood.com/custlink/3KGGLySvqi

2 x 270R Resistor: https://www.banggood.com/custlink/GGKDoYZG2w

1 x 0.91 inc Oled Display: https://www.banggood.com/custlink/K33Gjd8Gjk

1 x 8cm Fan 12V: https://www.banggood.com/custlink/K3mGly9mb0

1 x 5-6cm Fan 12V: https://www.banggood.com/custlink/mvGvldIDbA

Other Materials Required for Power Supply: 1 x Laboratory type power supply
box – https://bit.ly/30TKE3Z

1 x Min. 24V 120W SMPS metal case


adapter: https://www.banggood.com/custlink/KvDKOEIDld

1 x XL4016 300W Adjustable Regulator


Module: https://www.banggood.com/custlink/K3vGoyZKls

1 x XL4005 75W Regulator


Module https://www.banggood.com/custlink/Gv3Dah8DZa

1 x 100V & 10A Voltmeter: https://www.banggood.com/custlink/GKmvOYSmig


2 x 10K multi-turn
potentiometer: https://www.banggood.com/custlink/GDGDly9KB8

4 x 4mm Banana type female


socket: https://www.banggood.com/custlink/D3KmoY9K6m
CODE:
#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#include <DallasTemperature.h>

#define BUS 2

OneWire oneWire(BUS);

DallasTemperature sensor(&oneWire);

Adafruit_SSD1306 display;

String Durum;

void setup ()

pinMode(8, OUTPUT); // S8050 Transistor Port (Fan 1)

pinMode(6, OUTPUT); // S8050 Transistor Port (Fan 2)

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

display.clearDisplay();

display.display();

void loop ()
{

float temp;

sensor.requestTemperatures();

temp = sensor.getTempCByIndex(0);

display.setTextColor(WHITE);

if (temp > 60){ // Kutu içerisi 60 °C üzerine çıkınca 1. Fan soğutması aktif olacak

Durum = " FAN 1 "; // When the inside of the box exceeds 60 degrees, the fan number 1 will operate.

digitalWrite(8, HIGH);

else {

Durum = " NORMAL";

digitalWrite(8, LOW);

if (temp > 65){ // Sıcaklık seviyesi 65 °C de 2 . Fan soğutması aktif olacak

digitalWrite(6, HIGH); // When the temperature exceeds 65 degrees, fan 2 will also operate.

Durum = " FAN 2";

}
else {

digitalWrite(6, LOW);

if (temp > 29) Durum = " FAN 1"; else Durum = " NORMAL" ;

display.setTextSize(2);

display.drawRect(84, 0, 5, 5, WHITE);

display.setCursor(91,0);

display.print("C");

display.setTextSize(2);

display.setCursor(20,0);

display.print(temp);

display.setCursor(1,19);

display.setTextSize(2);

display.print(Durum);

display.display();

display.clearDisplay();

delay (1000);

You might also like