First, this boost converter uses open-loop control.

Second, the gate driver for the MOSFET IRF540, TLP250 IGBT driver as a high side MOSFET/IGBT driver is isolated.

Third, the specifications of the boost converter that I use are, Cin 1200 µF, Cout 1800 µF, Inductor 0.5 mH, and diode MUR1520.

Vin maximum 18 V, and Vout maximum 18 V, while Vin minimum 2 V. for I maximum 3A. switch frequency 25 kHz.

The problem is that when I give any value of Vin, the Vout is only worth 0.5 less than Vin. For example, when 12 Vin then this boost converter produces 11.5 Vout. And whatever duty cycle I use, they remain the same result? Approximately where does the error lie and how to solve it?

Edit Thank you for answering. For the inductor I used I used a used inductor and I don't know the datasheet. but for the size I have calculated using an LCR multimeter. Here's the schematic I designed with Proteus

Here's the schematic I designed with proteus

  • 2
    \$\begingroup\$ In order to get responses, it will help to add a schematic and links to the datasheets of your parts. Especially the inductor. It's also tricky to run a boost converter open-loop, so you might want to consider a closed-loop solution at some point. \$\endgroup\$
    – John D
    Sep 12, 2023 at 16:24
  • 2
    \$\begingroup\$ Why is the load R1 ridiculously "low" (0.94 Ohm) ? \$\endgroup\$
    – Antonio51
    Sep 12, 2023 at 18:53
  • \$\begingroup\$ What’s the inductor saturation current? \$\endgroup\$
    – winny
    Sep 12, 2023 at 19:21
  • 1
    \$\begingroup\$ What's the point of U1 and U8? They're definitely not doing anything useful. \$\endgroup\$
    – Hearth
    Sep 12, 2023 at 19:48
  • \$\begingroup\$ You also need a resistor in series with your TLP250's input, or you'll fry it. \$\endgroup\$
    – Hearth
    Sep 12, 2023 at 19:49

3 Answers 3


There may be other problems, but one more or less fatal problem for your design is:

U1 is a 7809. U8 is a 7812. You are feeding the output of a 7809 (i.e. 9 V assuming it is supplied with sufficient input) into the 7812, which expects an input voltage of 14 V.

If your 7812 has little or no output current, you will never drive your MOSFET. Hence, the boost converter switch has 0 duty ratio. Your output is simply your input minus the voltage drop across D1.

Edit: When looking at how you are driving U6, the TLP250, I notice that you have no current limiting resistor. The A and K inputs to the TLP250 connect internally to an IR LED. Without a current limiting resistor, it is possible that you have either damaged the TLP250 or your Arduino.

Further, when looking at how the Arduino drives U6, I notice that it appears that pins 6,7,8,9 are all shorted together. That may be mere appearance in the diagram, but if they are shorted, that will not work (unless all the pins happen to be toggled simultaneously).

Edit2: Since you seemed to have used an inductor whose datasheet you do not have, it is quite possible that the inductor is not rated for the current in your converter. My suggestion is that you obtain an inductor with a datasheet, and ensure that the rated saturation current is greater than the maximum current that might go through the inductor.

An alternative is to test the inductor for its saturation current, if you have the knowledge and equipment to do that.

A third alternative is to test the inductor using your DC-DC converter, by removing your very low resistance load, and replacing it with a much higher resistance, say 1 k\$\Omega\$ to begin with, and seeing whether you get boosted output. Then gradually reduce the load resistance until your converter output seems to no longer be boosting sufficiently. Note that using a high resistance for a load will (probably) cause the converter to operate in Discontinuous Conduction Mode (DCM). In DCM, the output voltage is not controlled simply by the duty ratio and the input voltage, but depends also on the output current. The output voltage might seem abnormally high given the duty ratio. However, as you reduce the load resistance, the converter will (hopefully) enter Continuous Conduction Mode (CCM) where you will get an approximately constant output voltage dependent upon the input voltage and duty ratio.

  • \$\begingroup\$ hallo thanks for answering, so what should I do for the gate driver so that the mosfet can do the switching. about U1 and U8 I followed the design of my friend. I thought U1 and U8 only supply voltage for the gate driver. and as you said I have done simulation tests on proteus 8 it turns out that the resulting current is 0. so what should I do so that this boost converter system runs. thanks. \$\endgroup\$
    – Handpras
    Sep 13, 2023 at 2:59
  • \$\begingroup\$ @Handpras as others have suggested, remove U1 and U8 entirely. Also, as I have mentioned in my edit to my answer, you should have a current limiting resistor between the Arduino and the TLP250 to prevent overcurrent. Also, is appears, but the reality may be different, that pins 6,7,8,9 on the Arduino are shorted together. I hope that is not really the case. \$\endgroup\$ Sep 13, 2023 at 13:04
  • \$\begingroup\$ @Handpras, I have added a second edit to address the inductor, whose saturation current, at this point, is unknown. \$\endgroup\$ Sep 13, 2023 at 13:23

Your output is pinned at 11.5V because the transistor never turns on no matter what you do. The 11.5V comes from the 12V input minus a diode drop.

This circuit is a mess. But easy to fix. Remove the U1 and U8 regulators - they are not needed as your gate driver is good up to 35V and you have a max supply of 18V. The max Vgs voltage of the MOSFET is +/-20V so your still good there. Your power stage doesn't have a ground reference. It's effectively floating with the control stage - tie the V- of the gate driver to the source of the MOSFET. For 18V output and 3A load, change R1 to 6ohms. Now, you should see some life if you send some PWM signals to the gate driver.

This is not a good power supply - there's is no regulation so this converter operates open-loop (no feedback). The implication here is, it will work fine, in theory, if the input voltage never changes, the load never changes, and the pulse width never changes. This might still be acceptable for your application - you're input power is well regulated and the load can tolerate variation or if you just need to modulate relative power.

A minor upgrade to this circuit would be to sample the output voltage with a voltage divider, feed that signal back into and ADC pin on the Arduino, and correct the pulse width in firmware. Now, you have a low-bandwidth regulated power supply that can compensate for (slow) changes in supply voltage (slow) changes in load, hence low bandwidth.

  • \$\begingroup\$ hay, thanks for answering, You can see my 2nd edit to respond to your answer. I hope you can help me more. \$\endgroup\$
    – Handpras
    Sep 13, 2023 at 12:19

If your output voltage is only circa 0.5-0.7V below the input voltage, this is a sign that your MOSFET may not be switching, and only the diode is conducting (hence the voltage drop). On your schematic, I could not find a return path for the gate driver. Maybe you just forgot to connect the source of the MOSFET to the same GND of the driver.

P.S.: If your gate driver is isolated, the connections made on the schematics are breaking this isolation, since you have the same ground on the side of the Arduino and on the side of the voltage regulator. Also, you have a 9V regulator as input to a 12V regulator, where you usually would need a voltage higher than 12V. This may be the reason why you don't get enough voltage to drive the MOSFET gate too.

Edit: To keep the isolation, you have to connect the cathode of the isolated gate driver (pin K) to the same ground of the Arduino. I would recommend to add a current-limiting resistor in series with the GPIO, to limit the current (perhaps 1k works).

On the other side of the isolation, you have to connect pin V- of U6 to the source of your MOSFET, otherwise there is no return path for the gate driver current. As for pin V+, you probably can connect that directly to your 12V battery, as the voltage regulators U1 and U8 are not helping with anything.

To verify if the gate driver at least is working, you can connect it to an LED (with a current-limiting resistor) to see if the LED blinks. If yes, your gate driver is probably working, and the issue is on the boost itself.

  • \$\begingroup\$ so this gate driver is not working correctly? then what can I do to fix the error?thanks. \$\endgroup\$
    – Handpras
    Sep 13, 2023 at 3:14
  • \$\begingroup\$ I just added some tips on the answer under "Edit". I hope that can help! \$\endgroup\$ Sep 14, 2023 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.