Categories
Statistics
Flag Counter
Since 08.08.2014
Counts only, if "DNT = disabled".

Your IP is 44.213.60.33
ec2-44-213-60-33.compute-1.a
Info
Valid HTML 4.01 Transitional Creative Commons Lizenzvertrag
rss
เราจะทำแบบวิศวกรผู้ยิ่งใหญ่
We love the King
23. July 2024
Your valuable opinion :
5 stars

Avg. 6.00 from 4 votes.



PETH-8093.php    11285 Bytes    13-01-2022 20:10:17


PETH-8093 Power Supply


A compact quadruple Power Supply




PETH-8093





✈ The building Blocks • Functional Description




Arduino Project PETH-8093 (Block Diagram)

This Power Supply was mainly designed to recycle a bunch of toroid transformers, having worked hard in their previous life in AOM-Controllers. On the bottom board, we therefore find three times a bridge rectifier with a storage capacitor. The only "easy" way to get to "reasonable" voltages was the use of step down converters. We used : TSR 2-2450, TSN 1-24150A and P78E15-1000 or similiar.

On the top board, again, a bridge rectifier with some storage capacitors are placed. As we wanted an adjusteable output voltage, the regulation is a cascade of a step down converter (LM5005MH) which can handle input voltages up to 75 V, followed by a linear regulator (LT3081). The output voltage of the later controls the feedback loop of the step down regulator. By that, the input of the linear regulator is always approx. 2 V above the output voltage. The setpoint is defined by a 20 kΩ Potentiometer, sitting on the bottom board.

Finally, an arduino nano is used to monitor the temperature as well as the output voltage. It is displayed with 5 led's, indicating the voltage in a binary fashion.




✈ Downloads








✈ Arduino Sketch - The Code



Double click on code to select ...


/* //////////////////////////////////////////////////////////////////

  ARDUINO/Genuino Project "PETH-8093", yet another Power Supply
  https://www.changpuak.ch/electronics/PETH-8093.php
  Software Version 1.0
  26.12.2021 by ALEXANDER SSE FRANK
  USES ARDUINO NANO EVERY

////////////////////////////////////////////////////////////////// */



// /////////////////////////////////////////////////////////////
// T E M P E R A T U R E,  1 µA/°C * 5k1 = 5.1 mV/°C
// /////////////////////////////////////////////////////////////

float Temperature = 0.0 ;
const int TempPin = A6 ;
const int TempLEDPin = A4 ;
int Tempomat = 0 ;

void UpdateTemperature()
{
  Temperature = 0.5 * (Temperature + analogRead(TempPin) * 0.9583501) ;
}

// /////////////////////////////////////////////////////////////
// C U R R E N T
// /////////////////////////////////////////////////////////////

float Current = 0.0 ;
const int CurrentPin = A5 ; 

void UpdateCurrent()
{
  Current = 0.5 * (Current + analogRead(CurrentPin) * 0.4887585) ;
}

// /////////////////////////////////////////////////////////////
// P R I M A R Y   V O L T A G E
// /////////////////////////////////////////////////////////////

float Primary = 0.0 ;
const int PrimVoltPin = A7 ;

void UpdatePrimary()
{
  Primary = 0.5 * (Primary + analogRead(PrimVoltPin) * 0.0782014) ;
}

// /////////////////////////////////////////////////////////////
// S E C O N D A R Y   V O L T A G E
// /////////////////////////////////////////////////////////////

float Output = 0.0 ;
const int OutVoltPin = A0 ;

const int LED1Pin = 6 ;
const int LED2Pin = 5 ;
const int LED3Pin = 4 ;
const int LED4Pin = 3 ;
const int LED5Pin = 2 ;
int Ganz = 0 ;

void UpdateOutput()
{
  Output = 0.5 * (Output + analogRead(OutVoltPin) * 0.0293255) ;

  Ganz = (int)(Output + 0.5) ;
  if((Ganz & 0x01) > 0) digitalWrite (LED1Pin, HIGH ) ;
  else digitalWrite (LED1Pin, LOW ) ;  
  if((Ganz & 0x02) > 0) digitalWrite (LED2Pin, HIGH ) ;
  else digitalWrite (LED2Pin, LOW ) ;  
  if((Ganz & 0x04) > 0) digitalWrite (LED3Pin, HIGH ) ;
  else digitalWrite (LED3Pin, LOW ) ;
  if((Ganz & 0x08) > 0) digitalWrite (LED4Pin, HIGH ) ;
  else digitalWrite (LED4Pin, LOW ) ;
  if((Ganz & 0x10) > 0) digitalWrite (LED5Pin, HIGH ) ;
  else digitalWrite (LED5Pin, LOW ) ;    
}

// /////////////////////////////////////////////////////////////
// S E T U P
// /////////////////////////////////////////////////////////////

void setup()
{
  Serial.begin(115200) ;

  // INPUTS
  pinMode( CurrentPin , INPUT ) ;
  pinMode( PrimVoltPin, INPUT ) ;
  pinMode( OutVoltPin, INPUT ) ;
  // OUTPUTS
  pinMode( LED1Pin, OUTPUT ) ;
  pinMode( LED2Pin, OUTPUT ) ;
  pinMode( LED3Pin, OUTPUT ) ;
  pinMode( LED4Pin, OUTPUT ) ;
  pinMode( LED5Pin, OUTPUT ) ;
  pinMode( TempLEDPin, OUTPUT ) ;
  digitalWrite (LED1Pin, HIGH ) ;
  digitalWrite (LED2Pin, HIGH ) ;
  digitalWrite (LED3Pin, HIGH ) ;
  digitalWrite (LED4Pin, HIGH ) ;
  digitalWrite (LED5Pin, HIGH ) ;
  digitalWrite (TempLEDPin, HIGH ) ;
  delay(3000) ;
  digitalWrite (LED1Pin, LOW ) ;
  digitalWrite (LED2Pin, LOW ) ;
  digitalWrite (LED3Pin, LOW ) ;
  digitalWrite (LED4Pin, LOW ) ;
  digitalWrite (LED5Pin, LOW ) ;
  digitalWrite (TempLEDPin, LOW ) ;
  
  
 }

// /////////////////////////////////////////////////////////////
// M A I N L O O P
// /////////////////////////////////////////////////////////////

void loop()
{
  UpdatePrimary() ; Serial.print(Primary,3) ;
  Serial.print(",") ;
  UpdateOutput() ; Serial.print(Output,3) ;
  Serial.print(",") ;
  UpdateCurrent() ; Serial.print(Current,3) ;
  Serial.print(",") ;
  UpdateTemperature() ; Serial.println(Temperature,3) ;
  
  Tempomat = millis() % 10000 ; // PWM, F = 0.1 Hz
  if((100*Temperature) > Tempomat) digitalWrite (TempLEDPin, HIGH ) ;
  else digitalWrite (TempLEDPin, LOW ) ;
  delay(50) ;
}

// /////////////////////////////////////////////////////////////
// END OF FILE.
// /////////////////////////////////////////////////////////////




Arduino Project PETH-8093

The Bottom Board. Keep it simple was the order of the day ...


Arduino Project PETH-8093

The Top Board. A cascaded approach for the adjusteable voltage is used.





✈ Share your thoughts



The webmaster does not read these comments regularely. Urgent questions should be send via email. Ads or links to completely uncorrelated things will be removed.


Your Browser says that you allow tracking. Mayst we suggest that you check that DNT thing ?

 
t1 = 6585 d

t2 = 229 ms

★ ★ ★  Copyright © 2006 - 2024 by changpuak.ch  ★ ★ ★

Impressum