More updates to the arduSolarPWM and some tests in the garden

By Julian

Youtuber, shed dweller, solar charge controller aficionado

11 thoughts on “Arduino pwm solar charge controller #5 – 80w panel tests”
  1. Avataaar/Circle Created with python_avatars SolventTrap dot com says:

    I essentially want to do this, but much higher voltage, with an ESP32, Micropython, and an IGBT instead of a MOSFET.

  2. Avataaar/Circle Created with python_avatars Bogdan M says:

    if (V3 < 27 )

    {

    if (pulseWidth != 255) pulseWidth++;

    }

    if (V3 > 27 )

    {

    if (pulseWidth = 0);

    }

    This is the part of the code that i use, the problem i find is that it is very slow. Any idea on how to make it a little faster ?

  3. Avataaar/Circle Created with python_avatars Chris W says:

    You can get a faster reaction time safely by subtracting the detected decivolts from 135 (the setting), convert that to PWM steps, keeping the sign (can't remember from your last video how much voltage change one step is). If it's larger than 2, divide it by 2, and add that to the current setting. (A straight divide by 2 would work, but would lessen the small change resolution by one bit, and probably cause it to hunt. The IF gives it back.) A negative difference would lower it, and vice versa, and the divide by 2 would help keep it from over shooting and slows the delta the closer it gets, while still getting to the final value in less than half the loop cycles for large transients.

  4. Avataaar/Circle Created with python_avatars Hidden Blessings Homestead says:

    If you put 2 diodes in parallel that should take down the heat I think

  5. Avataaar/Circle Created with python_avatars US Arduinos and More says:

    When i cam test this out and have some good resualts I'll post in eather get hub or goole code. And I'll include easyEDA schematic

  6. Avataaar/Circle Created with python_avatars US Arduinos and More says:

    hello mr. Julian
    I have found your videos on solar battery charging extremely useful
    I have watched almost every video you have posted.
    I'd like to see what you think of using this function in your code for the Arduino pwm.
    the Arduino has a function called pulse in.
    I'm wondering if pulse in could be used to synchronize your code to take a reading after the raising Edge of the mosfet control signal
    pulse in if I'm reading the documentation correctly uses a delay in milliseconds.
    if you delayed your voltage read to just past the Rising Edge of the fet control signal
    this might get rid of a lot of the Jitter.
    I'm wondering though if the way I see you programming the timers would mess up Pulse in internal timing
    I got this idea from watching the videos on YouTube about measuring inductance and capacitance with an Arduino
    in a lot of the videos I've seen on inductance meters based on Arduino
    one pain is used to pulse a tank circuit and then an lm339 is used to square up the sinusoidal wave.
    pulse in is used to count the duration of the on cycle in Millie's.
    the inverse of this duration is used to calculate frequency and then using the appropriate formulas.
    you can derive a approximation of the inductor under test

    I'm wondering if this could be used to synchronize the voltage measurements to say within 10 to 500 milliseconds after the raising Edge of the FET control signal.
    I have a sketch for this program but at the moment I don't have a free Arduino of any kind to test this out.
    waiting on the slow boat from China
    I did a slight code modification to the Muppet code.
    at startup I call a small subroutine that takes the pwm from 0% to 100%
    as it Cycles through it records the highest wattage and pwm setting.
    I use these values to start the rest of the code just the way you wrote it.
    and according to what my scope is showing me you do get different voltage readings during the on cycle and off cycle.
    I've used the serial monitor in its graphics mode to plot a curve of the wattage as this subroutine steps through the values.
    I've seen weird low spikes in it, at this time I'm assuming some of the spikes are readings taken when the FET is it in the off State.
    possibly maybe when interrupts are triggering as well.

    thank you sincerely for your time, sharing, and inspiration

  7. Avataaar/Circle Created with python_avatars Alan Powell says:

    Hi Julian,

    I've followed Muppet and PWM5 and now the ArdusolarPWM with great interest but I've never really understood the battery "set point" reasoning and why is 13.5 Volts optimum for a 12 Volt nominal lead acid battery. Can you clear this up for me please. Regards . Alan

  8. Avataaar/Circle Created with python_avatars Alan Powell says:

    Hi Julian, I'm going to build this. I arrived too late on the scene to buy one of your original PWM controllers but I like the idea of building the Arduino version. I only have a couple of smallish solar panels but I'll also splash out on a larger panel at some point . I'm also following the progress of MuPPeT, which is the target project for my soiree into solar stuff. Keep up the good work.

  9. Avataaar/Circle Created with python_avatars Squall762 says:

    I'd be interested in building one of these once you're done with ironing out the bugs… Great job on that, by the way!

  10. Avataaar/Circle Created with python_avatars Pedram says:

    i think you should use PID in your software to get PWM value correct all the time …ย 

  11. Avataaar/Circle Created with python_avatars iamdarkyoshi says:

    Julian, you should do a video on calibrating eBay DVMs. I have 5 of those blue LCD ones, and some are within 1 volt apart! Mind you, they have been in my shed for a couple years. The hard part with trimming these is the TWO trimpots on the back. I am not sure why there are two, and they do both effect voltage.

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.