Low Voltage Solar Panel MPPT for IoT - Page 1
Forum section: electronics / general

author: farukhkhanugi
author_rank: Newbie
timestamp: September 26, 2019, 04:15:55 pm
content: Hello Guys,I have recently started working on a solar powered raspberry pi biometric sense station. And I am trying to figure out the solar power side of the things now. I have 3 generic 5V@250mA rated solar panels which I can use for this. I am willing to power a raspberry pi zero w and some low powered sensors with these solar panels. I already have the lithium polymer battery side planned and set, using Pi Juice Zero by Pi Supply.Now, I am looking for a MPPT module or MPPT solution which can work with high efficiency and provide me a constant +5V or +5.1V output for charging the Pi Juice Battery through microUSB during the daytime. And, I am also not sure how to connect the solar panels for MPPT setup? Should I go parallel for 5V@750mA? or in series for 15V@250mA? The intention here is to collect as much energy as possible through the solar panels using latest high efficiency MPPT technology and then store it in the lipo for powering the pi. I know there are some boost, buck and buck/boost converters which people usually use with solar panels, but I don't want to go that route because of its inefficiency. As far as my knowledge goes, drawing as much power as possible from the solar panel is not really a good idea. Rather should maintain the maximum power point voltage at all times to get the highest efficiency out of the solar panels.Also, using these particular solar panels in particular number of 3 because I want to pack my project in a small form factor casing for portability and modularity.Please help me out finding what MPPT solution or MPPT module would be suitable for my particular use case. Thank You.

author: fourtytwo42
author_rank: Super Contributor
timestamp: September 27, 2019, 05:59:21 pm
content: MPPT means Maximium Power Point TRACKING, for such a small setup the TRACKING part is probably more complex than you need, many people use a constant panel voltage instead that is a close approximation over a limited temperature range. If you are looking to buy something rather than design/construct this is a minefield as there are many controllers available making many claims that do not come true.You do not say if you already have a charge controller or not, generally it is better to integrate the charge & solar control together so if buying look for a charge controller designed for solar input.A solar panel is a illumanance controlled current source with a zener diode across its output, hence if you try to draw more current than the present level of illumination allows the output voltage collapses, so your regulator must control it's current draw according to the solar panel voltage, this is why a charge controller must be designed for use in solar systems.Please let us have more details, what is your battery and do you have a charge controller already (if so what) ?

author: farukhkhanugi
author_rank: Newbie
timestamp: September 27, 2019, 06:17:22 pm
content: Yes I have a charge controller, essentially a UPS system. But, I do not want my solar controller to do anything with my battery system. I already have a battery charger and UPS system in place for running the raspberry pi zero. Basically, the UPS system will take in max 5V@1.5A and do whatever is needed to be done to charge the lipoly battery. So, I am just concerned about getting a stable 5V output with highest possible efficiency from the solar panels. And then I am just planning to wire up the 5V output from the solar system to the microUSB port of the UPS which will then handle the lipoly charging and rpi power.But there is another idea hovering through my mind, is to use a 2.7VDC 300F supercap that I have on hand and dump the MPPT solar output into the supercap and use a sophisticated 0.1 or 0.3V input to 5V output boost converter and connect the boosted output to the microUSB port for charging the lipo through the UPS system. Is there any sophisticated IC, around which I can design this sort of solar MPPT with supercap storage and constant regulated 5V delivery system?Actually I am open to the idea of designing a new circuit for this use case, but I have little experience with board designs in general. So, far I have only designed a logic level relay module for myself and that's all.

author: fourtytwo42
author_rank: Super Contributor
timestamp: September 27, 2019, 06:33:23 pm
content: Quote from: farukhkhanugi on September 27, 2019, 06:17:22 pmSadly you either did not read or understand my description of a solar panel being a current limited source, connecting a vanilla battery charger to such a source simple will not work.

author: farukhkhanugi
author_rank: Newbie
timestamp: September 28, 2019, 03:35:04 am
content: I understood your point, and that's why I was after a MPPT solar controller, which will calculate and adjust output voltage and current for maximum power point according to the different solar illuminations throughout the day. Also, I was referring to a sophisticated boost converter (parallel solar panels) or buck converter (solar panels in series) in place along with the MPPT so, that a stable 5V can be achieved at the output even with different sunlight conditions and a proper output cut off at no sunlight condition.QuoteI understood this part. And that is the reason, I was looking for a MPPT controller. The main function of this type of controller is to monitor and adjust the output current to keep up the maximum power point voltage. But if a MPPT charge controller can deliver 3.0-4.2 volts to a lipo using a change controller built-int, why can't the output voltage be modified to deliver a constant 5V? ofcourse following the MPPT turn on and cut off algorithms.

author: OwO
author_rank: Super Contributor
timestamp: September 28, 2019, 05:07:06 am
content: If you search "cn3791 module" on aliexpress there are these "MPPT" charger modules; they probably work but beware that it does not do true MPPT. If you read the cn3791 datasheet you will see that it's constant-voltage based, so you need to ensure that the MPP voltage of your solar panel matches the voltage setpoint of the module (I can only find 9V and 12V options).I'm also working on a small MPPT charger module that will implement true MPPT with a small MCU. What I'm doing is using a standard 6-pin buck IC (JW5033), rewiring the feedback to the input side (and inverting it), then use the MCU to control voltage setpoint while sensing load current. The algorithm I've used in the past is to simply switch between two close-by voltage setpoints at around 10Hz in order to sense the slope, then follow the slope. I've yet to prove the concept but I'll report back when I get a prototype working. I'll be posting schematics and layouts to my GitHub (username gabriel-tenma-white).

author: farukhkhanugi
author_rank: Newbie
timestamp: September 28, 2019, 10:33:53 am
content: I have checked the different types of CN3791 modules throughout aliexpress before, but these modules are not suitable for my use case. I have even checked the CN3791 datasheet from consonance website, which tells me that this IC is specifically made for charging single cell li-ion batteries. But I do not wan't to do any charging on my MPPT side because as mentioned earlier, I already have a separate charging system for my lipo battery. No, I think I can mess around with it's feedback sense lines and use a 3.7 to 5V boost converter but that most probably will reduce the overall efficiency of the system significantly as far as my knowledge goes. And I know this IC doesn't provide true MPPT, only a set MPPT point and does float around that point for different illuminance.JW5033 seems to be a synchronous(high efficiency) buck IC. Your approach seems very promising but as far as I know, a true MPPT needs both voltage and current control on its output or input to maintain a different maximum power point for different sunlight conditions. And different max power points need to have control for bot the current and voltage usage. But please do update me in this forum or through PM if you have achieved a true MPPT with your algorithm. It would be a really interesting concept to do true MPPT with limited control as you have mentioned.

author: OwO
author_rank: Super Contributor
timestamp: September 28, 2019, 12:38:36 pm
content: QuoteThat isn't going to work. Your lithium battery charger wants to draw a fixed amount of power to do constant current charging, so what is the MPPT circuitry to do when it can't provide enough power? drop the output voltage? The charger will respond by trying to draw more current; this goes on until voltage goes too low and charging stops.QuoteI don't think you understand the premise of MPPT. You can never control both voltage and current, otherwise you'd be able to dictate how much power flows out of the panel. You can only control one and the other is dictated by the solar panel. For example you can draw a fixed amount of current from the panel and the voltage will be whatever it is. Or you can clamp the panel to a fixed voltage and the current will be whatever it is. Both approach works as long as you can adjust the voltage (or current) setpoint and monitor the total output power (for example by measuring current to the battery). The *output* voltage and current will simply be whatever it is (it's determined by the I/V curve of the load and how much power you are conveying).

author: farukhkhanugi
author_rank: Newbie
timestamp: September 29, 2019, 09:53:11 am
content: I have digital control over how much current my lipo charger will draw from the USB port to charge the battery. It can be configured from 100mA - 1.5A. I can set this thing to dynamically configure itself just like what happens in modern cell phones. If the MPPT uses constant current method, then the charger cannot pull more current than the MPPT is providing anyway. And not sure why the voltage will drop if a constant 5V boost or buck converter with feedback is present on the MPPT output to the microUSB side. It will try to maintain the 5V by changing the delivery current. And the lipo charger is able to take in different currents dynamically. And if the MPPT current goes too low, then simply charging needs to be stopped. The same thing will happen if I go with a MPPT controller which includes the battery charging circuitry. It will not likely to charge the battery with 1mA current if the MPPT controller provides 1mA to maintain the set voltage.QuoteIs it possible for the solar panel to provide max rated current output but 50 percent of the rated voltage output at a particular sunlight condition? Isn't it going to change the maximum power point completely for that particular sunlight condition?

author: OwO
author_rank: Super Contributor
timestamp: September 29, 2019, 10:35:30 am
content: Quote from: farukhkhanugi on September 29, 2019, 09:53:11 amAh, ok, so that means a different approach is needed. I'll assume your li-ion charger is buck based. What you can do is simply connect the solar panel directly to the charger, and ramp up the current limit slowly until charging stops. Normally the buck charger will increase its duty cycle when it wants to draw more power, and this works fine as long as you are on the right side of the MPP curve. As soon as the MPP is crossed, this works in the opposite direction (increasing duty cycle will decrease power conveyed), so the feedback loop continues and panel voltage collapses. You can detect this in the software and back off the current setting by say 5% when this happens (after a small delay so that the panel voltage returns to the right of the MPP curve), and stay at that setpoint. Repeat every few minutes to track MPP changes due to available sunlight.

author: farukhkhanugi
author_rank: Newbie
timestamp: September 29, 2019, 05:25:12 pm
content: Sorry, I did a mistake with the values of constant charge current. It is actually from 550mA - 2.5A only for charging the battery. I have control for the battery charge current only, no control over the load current, as it is an UPS system, the load which is a raspberry pi zero w is also attached to this system.I have two methods of input for the charger. One from microUSB which follows microUSB 4.75-5.25V upto 2.5A standard. And I have a populated header which can take 4.2V-10V also around the 1.5-2.5A mark depending on the input voltage.Now, if I connect the solar panels to the header, I need to use the three 5V panels in parallel and find out MPP voltage and MPP amps around that configuration. Or I can connect the panels in series and use a 5V@1A rated efficient buck converter to step down the voltage and plug it in, either on microusb or the header.Both of these cases need me to monitor the current coming out of the panel using an INA219 or something like that, so that I can take account of the total current usage. Which includes the charge current and the rpi usage current. Then I can drop the charge current along the range provided above if I see the MPP voltage dropping on the panels. But then again, I am limited to 550mA charge current + rpi usage current. Or If things go really bad on the MPP side, I can just cut off the charging and let the rpi only run which can consume about 100mA-300mA range.Actually, It would have been better to have something which can allow me to control the overall current going into the system through the solar panels using software and monitor the MPPT and adjust the current accordingly.Another plan going around in my mind is to use a 2.7V 300F supercap and somehow modify any MPPT lipo charge controller for 2.7V instead of 3.7V and use a sophisticated boost converter to deliver 5V to the microUSB or the header. The boost converter should be able to drain until 0.3V from the supercap before cut off.https://www.sparkfun.com/products/12885https://www.sparkfun.com/products/10255These two devices look promising, but I will need to somehow modify the MPPT charge controller to support 2.7V max and 0V min.

author: fmkit
author_rank: Contributor
timestamp: November 21, 2019, 12:56:57 pm
content: I would avoid supercap, MPPTischarger, here is MC34063 w/ added solar voltage feedbackw/o MPPT the motor won't even start:

author: SolarMan
author_rank: Contributor
timestamp: December 26, 2019, 08:15:40 pm
content: Hi farukhkhanugi,Are you still working on this?I would recommend wiring your solar panels in parallel. This is because if you connect the panels in series and one of them gets shaded, this will negatively affect the power output of all of the panels (think of it like old-fashioned Christmas tree lights - remove one bulb and all of them stop working).Also, might you be able to provide more info/a link/a photograph of the "generic 5V@250mA" panels that you're using? Just wondering whether that voltage specification referes to the maximum power point voltage or the open circuit voltage. I'm also a little concerned that those panels might not provide enough power to keep your Pi running 24/7 (not sure if that is your intention). Solar panels are rated based on the power that they provide in full sunshine, not their typical power output and this can be very misleading.

author: station240
author_rank: Unknown
timestamp: January 04, 2020, 03:30:10 am
content: Not sure if you've seen this, it's a Raspberry PI specific UPS with USB and MPPT charger in one.The previous version of this module was on Tindie.https://www.crowdsupply.com/silicognition/lifepo4wered-pi-plus

author: hojnikb
author_rank: Contributor
timestamp: April 21, 2023, 03:38:51 pm
content: Quote from: OwO on September 28, 2019, 05:07:06 amdid you ever managed to build something?

author: NiHaoMike
author_rank: Super Contributor
timestamp: April 22, 2023, 01:19:03 pm
content: The simple solution is to have a 555 or similar run a buck converter at a fixed duty cycle, for a low cost solution that would get close enough to the actual peak after adjusting. Given there's already a processor in the system, adding true MPPT would be as simple as giving that processor the ability to read the input voltage/current and adjust the duty cycle.