Arduino MPPT - Tim Nolan version without battery


I want to make Tim Nolan’s Arduino MPPT(PPT) Error and i use an Arduino UNO.
I do not have a protoshield and i want to use it withouth a battery.

The circuit is complete but with the battery voltage measurement part and i want to modify the code so i could use it without this part and to introduce a light sensor instead of veryfying the battery voltage.
I need to introduce the light sensor so that i can still go from “on” state to “bulk”(“charge” state- where ppt algorithm is used).
I will insert bellow the link for original code(on Tim Nolan’s site) and the link for the code modified by me(because is too long i cannot post it here) which i am not sure it will work.
I want to be sure the code is ok before i upload it because i cannot afford to burn my arduino or my circuit.

Original project code: - In Tim Nolan’s website - another source, same file

Modified code: - .pdf file - .doc file

The parts that i think i should delete are having red font.
Also, some of my comments, where i do not know what to do are also red.
My current sensor it’s an ACS instead of a MAX so it will have 2.5V for 0 Ampers imput and it will go up untill 30 A input and san unknown output.
The code is for a MAX that needs scaling because the values are too small, so i will need to make it show me 0 Amps vor a value of 2.5 volts and after that i need to be able to use the ACS’s formula to calculate the values for higher currents.(in my project maximul 3.5 Amps)

Please help me.

Thank you very much!

An MPPT charger will not work without a battery, at least it wont function in MPPT mode. Why dont you want to use a battery?

Because i want to use a water pump instead of the battery to keep some water in a tank somewhere high and then to let the water flow into a micro hidro generator, i really want to get rid of the battery. Someone told me there is no problem with the buck circuit if it's connected to a load instead of a battery and i thought that maybe if i change the code i will be able to do that :(

Why do you want to get rid of a battery? Is all that work worth it? I will be way more inefficient I would think and 1000x more prone to breaking down.


I agree with you, but i want to do it like this, it's not suposed to be usefull i just want to have these functions, i do not need the energy, i just want to be able to fill up a tank of water with a 12 v water pump and to generate current with a microhidrogenerator that i am building right now. :D if i have a load at the end(water pump) does not behave in a enough similar manner so that the arduino to measure voltage across it? so i will be able to use the mppt code?

If you dont want to use a battery, then you will have to rewrite the code to remove the MPPT function so that the circuit simply functions as a normal buck down converter. A lot of work for very little gain.

But why i must remove the mppt if i do not have a battery? I mean, i will still be able to read the output voltage (the voltage across the pump connection instead of the battery) i think, wouldn't that be enough for the mppt to work? And if i delete the float state which is special for the battery, wouldn't that work? :(

If your application is that simple what would be wrong with connecting the solar panels direct to the pump without any power controller?

If you do need the MPPT function to maximize the energy transferred from the solar panels into the pump then why not have at least a small battery to stabilize things - and with a larger battery you could organize things so the pump could run at night - maybe allowing the use of a smaller pump.

And from my own studying of MPPT for my own solar panels it requires a pretty complex analysis to "prove" that you actually get any net benefit from an MPPT controller. I concluded that I would not get enough extra energy to justify the cost of an MPPT controller so I'm just using a basic non-MPPT controller. I tried unsuccessfully to make my own. I will review the Tim Nolan ideas in a week or two.


darl: i just want to be able to fill up a tank of water with a 12 v water pump

The reason that a battery is needed for a MPPT type charger is to accomodate the situation where the power output from the solar panel
is lower than the power required by the load.
Solar panels over the course of a day, provide a varying amount of output power based on the amount of solar irradiation falling on them.
To start a motor which will be the case with a water pump, you need sufficient current to start the motor.
Starting a motor needs far more current than whats required to keep it running.
If the Solar panel has sufficient capacity to provide the current , then as the previous poster has indicated, you dont need a MPPT converter or any kind
of controller.
All you need to do is connect the Solar panel directly to the pump, with just a relay to turn the pump on and off.
If the Solar panel doesnt have sufficient capacity to start the pump, then a MPPT controller without a battery wont help at all.

maybe putting a super capacitor in instead of the battery will help with the problem of pump startup power. It would have to be monitored as to when enough power was stored to get the pump going and when enough power was being generated by the panel to run the pump.


On Tim Nolan's notes it says that the controller can be used without a battery and connected to a load. (Now my feedback) You should bear in mind that if the pump fails to start due to low power, the coils will just heat up, possibly even burning the isolation and causing a short circuit if no cooling is provided. For underwater pumps this won't be a problem though. If the load on the pump isn't excessive, it sould start with quite low power, albeit running slowly, and not over heat even if not submerged. Hope this helps. Regards, Willy

I am unable to download the code of Tim Nolan version without (mppt)

@Finaldestination21 Tim Nolan's code is for MPPT, there is no "MPPT code of Tim Nolan version without MPPT". Or did you mean a code posted by him that does other thing?