DC-DC boost converter boosts the DC input voltage to higher DC voltages according to the duty cycle of PWM applied to the mosfet used to charge the inductor.While the mosfet state is on the inductor gets charged, than when the mosfet turns off the voltage stored in inductor and input voltage gets added and appears in the output. But if only these components are used output Voltage will be pulsating and have a frequency similar to that of mosfet switching. So we need to put a capacitor in output in order to oscillating output to smoother output. Still the stored voltage in capacitor will backflow through the mosfet when it is on, So we need to place a diode in between mosfet and capacitor in order to prevent backflow of stored charge in capacitor.After these circuit requirements are completed the boost converter will be boost low voltage DC input to higher DC voltages.The circuit should look like as shown below:-
Hardware
three inductors were connected in series in order to achieve total inductor size of 2200 uH, one capacitor of 470 uf and 220V, irf540 mosfet is used along with heat sink I was able to get maximum stable output voltage of 97V With the load of 270 ohm connected in output. that is 34.84 Watt at 97 volts.
following Arduino code was used to stabilize output voltage
int voltage = 0;
int Pwm = 100;
void setup()
{
pinMode(9,OUTPUT);
pinMode(A0,INPUT);
}
void loop()
{
{
voltage = analogRead(A0);
voltage = map(voltage, 0, 1023, 0, 250);
if (Bus_voltage <= 97)
{
Pwm = Pwm + 1;
}
else if (Bus_voltage >= 97 )
{
Pwm = Pwm - 1;
}
voltage = map(voltage, 0, 1023, 0, 250);
if (Bus_voltage <= 97)
{
Pwm = Pwm + 1;
}
else if (Bus_voltage >= 97 )
{
Pwm = Pwm - 1;
}
// too high duty cycle can heat the mosfet too much and damage it so limiting the PWM output
if (Pwm >= 200)
{
Pwm = 200;
}
if (Pwm >= 200)
{
Pwm = 200;
}
analogWrite(9,Pwm);
delay(10);
}