Professional Documents
Culture Documents
Power adjustable
Power adjustable
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.
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
1 x 18B20 Temperature
Sensor: https://www.banggood.com/custlink/G33KjhZD2J
Other Materials Required for Power Supply: 1 x Laboratory type power supply
box – https://bit.ly/30TKE3Z
#include <Adafruit_SSD1306.h>
#include <DallasTemperature.h>
#define BUS 2
OneWire oneWire(BUS);
DallasTemperature sensor(&oneWire);
Adafruit_SSD1306 display;
String Durum;
void setup ()
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 {
digitalWrite(8, LOW);
digitalWrite(6, HIGH); // When the temperature exceeds 65 degrees, fan 2 will also operate.
}
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);