Buck converter control using arduino PWM

Status
Not open for further replies.

Swagata Dutta

Junior Member level 1
Joined
Feb 27, 2014
Messages
15
Helped
1
Reputation
2
Reaction score
1
Trophy points
3
Visit site
Activity points
104
I am trying to implement a buck converter using an arduino PWM. My intention being to measure the output and compare to Vref and automatically adjust the duty cycle.I need some help as to how to use low side driver circuits. Since high side driving is complicated and requires extra peripherals.

- - - Updated - - -

Also if I am connecting the output of the arduino. Directly to the mosfet and not use any other driver circuitry is it all right since source is ground referenced in case of low side drive.

- - - Updated - - -

Please help
 

I think this is an interesting project. I haven't used Arduino, but this document from Microchip has some useful tips that would apply to any microcontroller (MCU): Intelligent Power Supply Design Tips 'n Tricks.

They make reference to designing a PID controller to properly handle the sensed voltage and I think that would be the most interesting part to get right.

Google searches seem to produce a lot of information on using MCU-based PWMs for switch-mode power supplies, so please post back any good information you find as I would be interested to read it.
 

If you're using a power MOSFET, you should still use a low-side MOSFET driver. Take a look here:

Low-Side MOSFET Drive Circuits and Techniques - 7 Practical Circuits
https://tahmidmc.blogspot.com/2012/12/low-side-mosfet-drive-circuits-and_23.html

If you're using a logic level MOSFET, you may get away without using a dedicated driver (by dedicated driver I don't mean just a dedicated driver chip, but any sort - even with just transistors) because of the voltage drive requirements. However, depending on the frequency you choose to use, you may need to use a low-side driver just for current drive requirements.

A simple totem-pole driver may suffice if you're using a logic level MOSFET.

Hope that helps.
Tahmid.
 
Thanks a lot guys. You were indeed very helpful.I am pretty much an layman as to reading data sheets.I am using a mosfet IRF540. Is that a logic level mosfet or not.The specifications are pretty confusing.

- - - Updated - - -

Could anyone please look it up.Thanks in advance.

- - - Updated - - -

ok kind of have figured it out,its not a logic level mosfet.It needs a driver circuit.So I should feed the output of my arduino(pwm) to one of the low side driver circuits as mentioned in Tahmid's blog.Right?

- - - Updated - - -

Also a final doubt.The grounds.There is an arduino ground.There is a power supply ground and in case of a driver circuit there is a third ground.How should the grounds be connected.
 

Attachments

  • IRF540.pdf
    53.6 KB · Views: 164

A buck converter requires a high side switch in some form, even if you use a P-FET. But if you use a P-FET then the extra circuitry can be as simple as a few passive components. Here's a simple but effective level shifter for a buck converter using a P-FET:


You can connect the arduino pin directly to the base of Q2 through a current limiting resistor.
 
Tahmid followed up your blog about low side driver circuit.I am thinking of using circuit 7 (TC427).I have a problem.I never understand the ground connections.The output of microcontroller is fed to TC427 as input.Should the ground of micro controller be shorted with the ground of the chip,TC427.
 

The TC427 is a non-isolated non-inverting driver chip. This means that there is no isolation between the input "logic" drive side and the output MOSFET drive side. So, the two grounds must be common. So, the microcontroller ground and the TC427 ground must both be connected.

Hope this helps.
Tahmid.
 
It does help.A final question if my supply for the the buck converter circuit and the driver IC are different the two grounds again should be shorted right?Since its a low side driver and the source of mosfet is grounded.My doubts are pretty stupid.I just want to be a cent percent sure
 
Last edited:

You have two grounds from two supplies. However, since you're using a non-isolated driver, the driver output side (which has the MOSFETs) should have the same ground as the driver input side (the microcontroller side). So, yes, the grounds should be shorted.

Hope this helps.
Tahmid.
 
I was trying a basic circuit with a supply connected to the load and then a mosfet and then negative of supply.I was using tc4427 as low side mosfet driver.I had a separate power supply for the driver circuit and main supply for the load.Now the grounds of the arduino and power supply for main circuit and power supply for tc 4427 are shorted.That is all three grounds were shorted.My arduino IC got heated.Is there by any chance a problem with the the shorting of the grounds.The main supply is 12 V and load is 35V.What could be the problem

- - - Updated - - -

Is there need for an opto isolator beteween micro controller and the driver circuit.
Please help
 

this is the circuit we tried please have a look.All three grounds shorted
 

Attachments

  • Capture.PNG
    17.8 KB · Views: 137

I am implementing this circuit for buck conveter low side mosfet drive.Please check
 

Looks as though your schematic will work.

If you wish you can put the inductor in the other wire. Then your output section will be referenced to a supply rail (in other words, positive ground).



My simulation uses a transistor instead of a mosfet, but to represent using a mosfet as the switch, I installed a 10k resistor from the gate to ground (a tip recommended in Tahmid's blog).
 
Thanks a lot BradtheRad.Have successfully implemented the buck converter circuit with feedback for auto regulation.Now even if we vary the input voltage pwm auto adjusts and maintans constant output.
 
I saw your question about Buck PWM converter control using arduino in the forum link: https://www.edaboard.com/threads/310767/. I saw the messages you could do the Buck converter, have a university work and need to perform the same project. I intend to use the Arduino until I started researching and I pwn. I saw that also used Matlab to do the schematic. Could you send me the schematic of the circuit and values ​​you used? From the script to the arduino connection of components and protection circuits if you have. I appreciate if you can help me as staff helped you. My teacher said to use a LM3524 IC for PWM, but I'm wanting to do with my Arduino UNO. I hope the friend replies. Hugs.

Sorry for English, I am Brazilian and I speak Portuguese.

I sent the above message to Swagata Dutta, but if others can help me I appreciate it.
 
Last edited by a moderator:

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…