Close

Bad Ideas

A project log for $1/W True MPPT

Build a $1 per Watt parallelizable MPPT controller, without cutting corners.

jonathan-bruneauJonathan Bruneau 01/29/2016 at 07:125 Comments

So I've been fretting over saving money on this project to get the Bill-of-materials (BOM) cost down.

I've had a fair share of ideas cross my mind. Many I'm too ashamed to post on this blog, but three stuck out as being somewhat plausible.

  1. Getting rid of the MCU altogether and replacing it with a 555 timer and a clever solar open-voltage (Voc) sampling circuit. Not only are 555 timer extremely cheap, but they can operate up to really high VDD voltages, thus dispensing the need for the LDO.
  2. Replacing the DAC with a PWM and a low-pass filter (LPF).
  3. Simulating the OpAmp in software.

I ran some numbers on option 1 (MCU swapped for a 555), and it turns out that after I re-add all the parts offered by the MCU (OpAmp, comparator (or crappy OpAmp based comparator), Voc sampling circuit), the cost difference is pretty small. It's about 20cents cheaper than the PIC12 + External OpAmp solution (which was already cheaper than the PIC16 + internal OpAmp solution).

There's another catch on option 1. The cheap 555 timers have an astonishing 10mA of quiescent current (Iq). Yikes! A more reasonable 555 timer (Iq = 65uA) costs about 22cents. Once you add this to the cost for the external comparator and Voc sampling circuit, the difference between a 555 and a PIC12 + LDO is pretty small: less than 10cents.

So the 555 timer isn't the best of ideas.

Option 2 is somewhat promising. If I could find a way to eliminate the need for a DAC by replacing it with a PWM + LPF, then a new set of cheaper MCUs can be used to run the MPPT algorithm.

How much money could I save? Well, compared to the PIC12F1571, about 8cents... tops. Not much of an improvement.

Option 3 was a stretch, but the idea was that if I could directly tie the output of the DAC to the FB pin of the RT8299 and emulate the OpAmp in software, I wouldn't need the OpAmp, saving me a whole 10-20cents.

Well, I tried it. I had the calculations all precomputed in a giant lookup table to make the code run as fast as possible, set the sampling rate of the ADC to the highest value possible, and let her rip.

Boy did that not work... at all. I figured I needed to run the simulated OpAmp at 500kHz, the same speed at the RT8299, but I got closer to 10Hz.

In hindsight, this makes sense. The fastest the PIC will go is 32MHz, but it actually executes instructions at 1/4 of that, so 8MHz. To get 500kHz, that leaves me with 16 instruction cycles to fetch the ADC value, lookup the corresponding "OpAmp" value in the lookup table, write it to the DAC, and let the DAC settle to it's new value.

Basically, not nearly enough time, especially since the PIC needs to run the actual MPPT algorithm proper, which eats away at my precious 16 instruction window.

By far, option 3 was the worst idea of them all. I wouldn't be surprised if, as you were reading this project log, you thought of something along these lines.



Discussions

Evan Allen wrote 02/02/2016 at 18:08 point

I'm very interested int the modularity of this design, I like how low it goes even though my solar projects tend to be ~60VOC

  Are you sure? yes | no

Jonathan Bruneau wrote 02/02/2016 at 18:48 point

Thanks!  I'm trying to cover the range of solar panels readily available on Sparkfun and Adafruit, so it has to include 5V solar panels.  Thus far it works just fine with Sparkfun's 5V 0.5W cell, so results are promising.

  Are you sure? yes | no

mr.jb wrote 01/29/2016 at 11:12 point

I think you should also focus on keeping quality.

A true mppt charger with a wide input range is nice !! 

My guess is , if  it has a cpu you can remove the load easily when the step down "breaks down"  ( gets stuck in a kind of overloaded state ..that undervoltage cut out should have prevented )

or you will end up with something almost useful like this one

http://www.ebay.com/itm/5A-MPPT-Solar-Panel-Controller-Voltage-Step-down-Module-Constant-Current-/201507339191?hash=item2eeac5fbb7:g:mq0AAOSwo0JWJg4v

  Are you sure? yes | no

Jonathan Bruneau wrote 02/01/2016 at 21:41 point

That board... the trimpots... there are so many of them.

You're right, I slipped a little too far to the dark side of cost reduction.  There's a balance to be had, and the more I look at it, the more my current functional solution seems to be the best match.  I can reduce the cost in smarter ways than this (finding a better price for the PCBs, etc), and I shouldn't do it at the expense of the quality of the MPPT.

  Are you sure? yes | no

mr.jb wrote 02/02/2016 at 06:52 point

So far I have not seen a good Mppt with cpu like yours anywhere.

Please keep the feature that allows for paralleling the charger !

It is almost impossible to find one that can charge single cell 3.6v LiFePO4 with 5V solar panels. Above 12V there are plenty of solutions...

If I were you, I would go for "lean and mean" ... aiming for a VERY ROBUST product that also allows for simpler customization.

*  charge voltage  

*  parallelism

Extra bonus :

leave some options on the circuit board, like the possibility to easily add measuring shunt resistor  ( 0.01 Ohm ). And why not have a plan for different CPU's.. Since a watt-meter could easily be added. I prefer some kind of watt-meter in order to see what is going on.  

Dual card with display ( watt-meter ) with a target price 15$ could be something on kickstarter !!  

  Are you sure? yes | no