Noise in the current measurements has been eliminated. Movement of the Watts bargraph is now silky smooth. Closing the loop is imminent.

By Julian

Youtuber, shed dweller, solar charge controller aficionado

13 thoughts on “Arduino mppt solar charge controller #14 – stable current measurements”
  1. Avataaar/Circle Created with python_avatars donepearce says:

    PWM doesn't give you MPPT operation. You need a linear circuit for that. PWM just switches you rapidly between two non-optimum power states.

  2. Avataaar/Circle Created with python_avatars californiakayaker N6GRG says:

    This seems to be the most stable design. Everything after this had problems. Would love to see a problem free version better than this one.

  3. Avataaar/Circle Created with python_avatars BlasterArtz Props & Cosplay says:

    Hi I hope you can help I've built a portable solar system in an old ammo box my solar controller seems to have a mind of its own and when the panel is connected it charges but no out put so when I disconnect the panel I have to remove the positive connectors to reset the controller to get load to work for USB 12v out volt meter

  4. Avataaar/Circle Created with python_avatars beforebefore says:

    High-side Driver IC's are a lifesaver.. super simple to drive directly by 5v logic, solves all these problems.  Also, reverse polarity protection – try an N-ch MOSFET in the (-) battery output line, only turned ON by a (+) coming 'in' on the (+) battery output (through a diode to the Gate, but have a resistor from Gate to Drain to make sure it gets turned OFF otherwise). Similar to using an output relay that only gets its coil energized (through a diode to + battery connection) by the correct polarity connected battery.

  5. Avataaar/Circle Created with python_avatars beforebefore says:

    I don't think you need to use the Arduino PWM mode… how about just use a timer with ON/OFF variables… so you're not slaved to any Arduino PWM limitations?  With 62.5ns resolution, you can seemingly do quite a bit.

  6. Avataaar/Circle Created with python_avatars Joop Media says:

    Great job Julian, nice work 🙂

  7. Avataaar/Circle Created with python_avatars Julian Ilett says:

    Some MOSFETs are called 'logic level', but I'd be surprised if the very lowest on-resistance figures could be achieved with only 5 volts on the gate. I may be wrong!

  8. Avataaar/Circle Created with python_avatars il51diablo says:

    Hello, I just saw the video and I think the IRF540 already works with the Arduino output voltage. But I'm not sure. I'd use it on my DC-DC StepUp and I think it worked with 5V.

  9. Avataaar/Circle Created with python_avatars xanataph says:

    An Arduino should be ok doing 15KHz eh? I wouldn't know…my board is still in is box presumably with the flashing LED sketch still loaded…hehe I want to do some guitar FX things with it possibly as well as solar stuff, so I am quite keen to know how fast they can output. 15K would actually be plenty for guitar quality audio…

    What is the advantage ov replacing the diode with a Mosfet?

  10. Avataaar/Circle Created with python_avatars Julian Ilett says:

    Ultimately, the buck converters will be synchronous, where a MOSFET replaces the schottky diode. That requires a PWM generator with complimentary outputs, variable deadtime (so the high and low side MOSFETs never overlap) and phase control (so multiple buck converters can operate in a 3 or 4-phase sequence). So eventually, a digital signal processor (I fancy a dsPIC) will be used. But that's all some way in the future!
    For now, OK, I'll try to persuade the Arduino to do the 15kHz PWM

  11. Avataaar/Circle Created with python_avatars Julian Ilett says:

    This is a tricky one. The Arduino has a fixed PWM frequency of around 500Hz. It can be changed, but only by tinkering with the timer registers and that upsets functions like delay() and millis(). Also, thinking ahead, I want to have an ultra-low power night mode which might involve shutting the Arduino off altogether. The Arduino doesn't seem to have any nano-watt facilities like slowing the clock down. Now you've mentioned it though, I'll look further into changing the Arduino PWM frequency.

  12. Avataaar/Circle Created with python_avatars xanataph says:

    I was actually thinking that too…you should be able to get the Arduino to generate the PWM signal. As for your coupling issue, what you need is a DC level shift. This could be accomplished by using an optocoupler. If there is some reason why you don't want to generate PWM with the Arduino, that same optocoupler fed from an analogue pin could actually replace the pot controlling your 555 circuit, if you wanted to do it that way.

  13. Avataaar/Circle Created with python_avatars Martin Webster says:

    Forgive my ignorance but do you need to add a microcontroler. Can't the Arduino provide PWM output you require?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.