Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] MPPT Design using spice

Status
Not open for further replies.

NewBuilder

Junior Member level 1
Joined
Dec 9, 2016
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
215
I am trying to design a buck converter for a PV panel. I know that I can purchase a commercial MPPT or even find a chip that offers MPPT. I am planning to build one using a microcontroller, temperature sensors, etc. for a project. I would like to simulate a basic boost converter with the model I have for my PV panel in LTspice. Are there any clever ways to implement MPPT in LTspice on a simple buck converter? Attached is an image of my schematic. Schematic.PNG

Also, I cannot get my high side switch to fully turn on. I'm using a PMOS for the high side switch because the full implementation will be high voltage. I'm using an NMOS to pull down the gate voltage so the NMOS is actually the one being controlled and I can do it with a small driver.
 

PV panel voltage goes down as you draw more Amperes from it. Maximum A is at 0V. Max V is at 0A. You need to model a power source that behaves the same way. Somewhere in the middle is maximum power (V x A). It is not easy to make a circuit which is intelligent enough to vary Amperes drawn, in order to arrive at maximum A.

As for problems how to bias mosfets, see instead if you can substitute some other easiest possible switching method while you're at this experimental stage making a buck converter. Does LTSpice contain an ordinary switch or relay, or a theoretical cheat, etc? Later you can put in transistors or mosfets.
 

A PV panel characteristic can be well modeled by current biased silicon diodes, or any behavioral model of your choice.

As for the title question, do you understand how MPPT works? If so you'll know that it involves some kind of intentional modulation of the PV panel load, measurement of the differential I/V characteristic in this point and respective correction of converter duty cycle.

It's surely possible to implement it in a Spice circuit.
 

LT Spice can do the circuit aspect but will be less efficient for testing the control aspect that FvM mentions.

Specifically you should be able to use a BV source to implement an arbitrary algebraic function which will let you model the V/I curve of the panel.

To Brads question LTSpice does have ideal switches but they can be a pain to use. Often people use a mosfet with a voltage source gate driver. So I'd skip the double fets shown and have one NFET with a voltage source as a gate driver. The real design will need a high side driver solution. If needed the gate drive voltage source can reference any other voltage for control.

Alternatively LTSpice has a large selection power control ICs which may be worth using both for simulation and for real life.


Personally I'd use LTSpice for the boost converter modeling but I'd probably avoid trying to model the panel or the control there. For another good option that crosses over very well into control (while sacrificing circuit details) look at PSIM which has built in symbols for solar panels (though I've never used them). The full version supports C code blocks which would let you test your micro code but the free version I believe still has a good suite of digital control modules that may let you implement some logic.
 
Thanks everyone.

I do know how MPPT works. I'm actually planning to impliment P&O so it's not quite the differential. That would be incremental conductance though. As asdf44 mentioned, a PV panel can be modeled using a diode and an antiparallel voltage controlled current source. The voltage being your irradiance. Of course, you can also add a parallel and series resistor to model your shunt and series resistance. I have the PV model down, I was hoping someone knew a way to implement an MPPT algorithm to vary the duty cycle and find the MPP. This is mainly about the circuit modeling, not the controls, but I will keep PSIM in mind for future needs. I've never used that so that's good info. I guess I'm going to have to figure out a clever way to use the algebraic functions as asdf44 mentioned.

I don't understand how I will be able to use a NMOS for the high side switch if Vds is so large (hundreds of volts). Vgs > Vds +Vth to turn on, correct?
 

I don't understand how I will be able to use a NMOS for the high side switch if Vds is so large (hundreds of volts). Vgs > Vds +Vth to turn on, correct?
That is the main limitation of your chosen circuit. It can only safely work with 12v solar panels where the open circuit solar panel voltage can only reach about 20v absolute maximum.

If you want to be able to operate with series strings of panels up to much higher input voltages, it will require a completely (optically) isolated gate driver for your switching mosfet.
 
If you want to be able to operate with series strings of panels up to much higher input voltages, it will require a completely (optically) isolated gate driver for your switching mosfet.

If I use a PMOS rated for 1200 then I should be fine. I just need to figure out a way to drive it. I started this post mainly for the MPPT and mentioned the PMOS switching since it is in my circuit design for the MPPT but I actually have a more appropriate thread. The link is below. I think I can use the switching circuit that I have since I can drive the NMOS at a low voltage. The trick will be getting Vgs of the PMOS to a point where I can drive it. It was suggested to do a voltage divider so that Vg is 4.5 V or less than the source pin. I don't know exactly how to do that but I'll update it here if I get it to work.

https://www.edaboard.com/threads/362143/#post1550951
 

I very strongly suggest you look into using something like an HCPL3120 optically isolated gate driver.
https://pdf1.alldatasheet.com/datasheet-pdf/view/64629/HP/HCPL-3120.html

And to power that, a small dc to dc isolated power module.
**broken link removed**

That will also allow you to use a far superior N channel mosfet switch.
It will solve ALL your buck regulator gate driving problems.
 
Thanks Tony. At the end of the day, my goal is to use a SiC MOSFET. N channel is definitely better. I'll read through the documents and set up. I found a Spice model for the HCPL-3120 so that's even better news.
 

There are many clever ways to power the HCPL chip, but they can have some nasty hidden traps when specifically used in a buck regulator.

The best and completely bug free way to power the HCPL is with its own independent fully floating and regulated dc supply. The HCPL chip also has built in under voltage shutdown which can solve a few other potential nasties as your main control system power supply comes to life and gradually turns off.

The only other potential trap is to make sure the HCPL light emitting diode is turned off while your microprocessor starts up and initialises.

If you do all of that, you will have escaped about 99% of the potential problems that most people have when doing all this for the very first time.
 
Warpspeed,

I've included the HCPL and a SiC N-Channel FET for the high-side switch. I still cannot get it to switch. I'm sure it is something simple and I will keep trying. I'm a beginner at this so I apologize. Do you know what it may be? Below is a screenshot of what I have now.

schematic1.PNG
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top