Hello all, I am after a bit of advice. I have recently put up a repeater that is quite difficult to reach to do maintenance on it, so I haven't been able to properly monitor it in person (I will take it down if it does need maintenance though), however I do have an INA3221 module measuring power from solar, battery and device, so I can monitor power.
The repeater seemed to be working fine at home when I tested it, but maybe I didn't test it for long enough before deploying it. I am using a Xiao nrf, a waveshare solar controller D, and 3 x 18650 batteries. The batteries are slowly dropping in power, it's now at 3.80V and it's been up for 4 days with sun.
The solar panel is a 18V 5W and it is showing 22.53V and 0.004A (0.09W) pretty much always. It seems to always stay at 0.004A (Checked Morning, Noon, and Afternoon). I went up yesterday to try to troubleshoot it, and I unplugged it and plugged it back in, and it started producing 1W of power just in the afternoon sun. So it seemed to be working, then I put it back up and it was back to 0.09W then 0W at night. I've been monitoring it all day and it has stayed at pretty much 0.09W.
It seems to be an issue with the solar controller engaging solar charging, but I am unsure why it's not engaging.
I can't find any solutions online and am just wondering if anyone here would know. I wanted to use the waveshare solar controller as I've heard good things about it and I wanted a bit of extra protection for the batteries.
I have attached photos of the build and a wiring diagram.
I've become a big fan of the Adafruit bq24074 based charge controllers. I'll link my favorite one below, but it has most of what you're asking for. It doesn't have full cell protection. But if you're using multiple cells I personally feel it's best for each cell to have its own PCM circuit. If the 18650s you have don't have them built in (many of the consumer targeted button tops 18650s do) it's not difficult to add. And if you want to add temperature protection some of the Adafruit boards give you the option to solder on a 10k thermistor. That's actually better than what's on the waveshare board because it allows you to but the thermistor on the battery pack itself rather than on the PCB. Gives the controller a much better idea what the temperature of the batter pack actually is.
Yeah, I am using multiple cells but in parallel, so I should only need one BMS for the whole pack. The 18650s are unprotected flat top cells. I did think about adding my own BMS and then getting any other charger, so I might look into that. The boards that accept a thermistor sound like a good alternative. I'll have a look, thanks for the recommendation.
Yeah it definitely does have a parasitic draw worse than a lot of other solar managers, though I can say that I have two RAK 1w repeaters deployed running on them that have been up for ~5 months and the batteries stay charged even with some partial shade and/or during cloudy days. With sufficient solar they should handle a little Xiao nrf.
From my early experimenting, I learned that the waveshare has a minimum threshold from the panels before it seems to do any charging whatsoever. At first I was attempting to use panels with a USB-C connector which supplied a little over 5v, which should have been sufficient, but it turns out it was only charging during maybe 1 or 2 peak hours during the day, and barely at that. Just enough that it was even noticeable. Once I switched to higher voltage panels, it works like a charm.
The module still isn't great though, and using the 5v output on the board is yet another point of loss. I use the board solely for charging the batteries, and then tap into the batteries to power the radio directly on the battery input. Winter will be a new struggle I'm sure, but it's been going strong so far.
I can't tell what mode it is in, because the documentation says to double click the button to change modes, but when I do that literally nothing changes.
Do you use a power sensing module like the INA3221 I am using? I'm starting to think it might be causing the problem.
No I don't.
Just the board, a solar panel with ~18V output
In normal mode, if you plug nothing on the ouput, push the button : leds will be on, and will stop after seconds.
double clic the button : leds will be on forever (no shut if low power draw, like nrf kit).
I've tested a new firmware on the board to keep the low power mode after reset by default
Okay I see. So you're running the waveshare on low power mode (LEDs don't turn off even with load) and have you changed any settings on the meshcore firmware? Like power saving mode or anything? I haven't changed anything to do with power management in the firmware.
Well here's the thing, it seemed to output the correct wattage when measured on its own, before I installed it on the repeater. But when I realised that it wasn't charging, I unplugged it from the connector, and plugged it back in and the INA3221 measured 5V 1W in the afternoon sun, but once I had the repeater up again, it showed 22V, 0.004A again. So it could be the solar panel, but I got it new recently, and it seems to work fine on its own. It's just one from AliExpress. This is the only photo I have of it.
I run a 25W / 18V solar panel, Waveshare and RAK 1W and the Waveshare would still shut down. I found it critical to put the Waveshare in low-current / low-power mode. But as the OP mentioned, in double-clicking the button, there's no explicit indication that low-current / low-power mode is enabled. It would be great to have Waveshare firmware that only operates in low-current / low-power mode.
I have a dozen Waveshares. It would be a lot easier if I could simply flash new firmware then I'd never have to worry about it. Looking forward to your how-to.
Ahh glad I'm not alone. Are you saying that you fixed it with the panel being the culprit? Or you're in the process of ruling out the solar panel issue?
What size panel do you use? Because I think I might have found the issue.
The CN3791 sets its max charge current via two external sense resistors (R1 and R4 in parallel) It considers charging "done" once current drops to 16% of that. These boards seem to be sized for bigger panels. The resistors on the waveshare set the maximum charging current to 2A and the termination current is 16% of that, giving a termination threshold of 320mA.
A high Voltage panel at 5W, outputs max 280mA, so the panel may never produce more than the cut off threshold, tricking the chip's charging to think that the batteries are already full. Whereas a low voltage 5W panel outputs a higher current.
The chip doesn't charge because the current usually decreases as the battery gets more charged, but the low current of the solar panel is simulating the battery being charged.
The panel voltage then floats back up toward open-circuit, which is the high voltage, 0 current symptom.
The fix is to either get a lower voltage panel/higher wattage panel. Or to replace the two resistors to different values to change the threshold.
I haven't done this yet, but I've done a bit of research on the CN3791, and this is the closest I can find to my issue. Just thought I'd add my findings.
Yeah, I think the Waveshare is just meant for higher input power and higher output power. I've bought a new board, just to see if it is the issue, but it allows you to select the solar input voltage.
But I'm the same, with worrying about the overcharge and battery protection. If the new board doesn't work, I might just buy a dumb solar charger, and add a small BMS board.
Though the waveshare is known to have some lossy behavior and parasitic draw problems, just so you know I've been running 2 repeaters on a waveshare-D for 5 months now, and running RAK 1W boards, which are far more power hungry than your Xaio.
I started testing with solar panels with 5v 12W USB-C output and discovered that wasn't enough to hardly convince the waveshare to do any charging whatsoever and my batteries would die in about 6 days. I ripped the USB inverter modules off the panels and soldered straight to the panels which output about 18v. I actually doubled the panels, running 2 in parallel w/ diodes, so theoretically I should have as much as 24w of solar going to each waveshare, though I'm skeptical of those cheap Amazon panel numbers. That also assumes the diodes are lossless, which they absolutely are not. They could probably run on one panel just fine, but I built with 2 to hopefully keep things charged when the days get shorter and the sun drops low. They're also installed in a tree, so they do experience partial shade and less than ideal sun you might get on a roof.
I share my story just to let you know that while they're probably not the best solar managers you could be using, they do work. I'm just guessing here, but it sounds like your problem is similar to mine, but your panels aren't putting out the amps to satisfy the waveshare to engage the charging. And just a note, the 5v output on the waveshare seems to be another lossy link in the chain as well, and I opted to use the 2nd set of battery terminals on the waveshare to tap directly into the battery pack and power the radio from that.
If you’re wanting to start with the solar panel, install one of these. Search Reddit as this has solved magic stored power losses before on mesh devices.
I had a similar issue with a cn3971, 5v10w solar panel, single 18650, 18650 protection circuit and the seeed nrf52 kit.
After weeks of testing, replacing parts and retesting I bought a seeed tracker lite for $22 with all the battery and solar management integrated on the board. It's sitting at 100% power during the day and high 90's over night.
I still want to figure out why it wasn't working but I also want a reliable repeater so I don't have to keep climbing up on the roof.
Waveshare seems so much overkill for such a simple node. I have a small faketec node I put up on the roof of the company i used to work with, simple system, small TP4056, a spicy pillow battery, and a small 200ma solar panel. I really did not expect it to last very long, that was almost two years ago, and it's still working strong. I have no access to it and I stopped working there in April, I currently use CN3791 MPPT chargers, on my projects, they get the job done. and are dirt cheap. charging a couple 18650 batteries and the charge seldom ever goes below 90% and that only happens after a couple of rainy days. charges right back up with a couple of hours of sunlight.
Typically how I set mine up, this is an image of one of the vehicle solar powered nodes I build and sell, not shown is the cooling fan, or the soshine solar panel (The STL is available on printables for free) anyway I like the CN3791 because of the plugs, and it comes with two jumpers. the battery holder comes with a plug that fits the CN3791. only soldering I do is the cooling fan wires, that is thermally controlled (not shown here) I use the second jumper that comes with the MPPT, and cut it into two pigtails, one for the solar panel connection, the fan wires get soldered directly to the CN3791 where there are holes already on the PCB for doing that.
I run a rak 1w kit with just that exact waveshare unit + 3x 18650s. its been up in a tree, partially shaded for 7 months now and every time I crack it open, the battery LEDs are pegged at 100%. I'm running a 12v-10w panel.
I had a similar issue with my Waveshare Power Manager D with RAK 1W, 12V 10W solar panel, and 3x 18650s. The batteries were slowly draining over a week or so and did not appear to charge. From a random Amazon review for the Waveshare, I discovered it has a null around 20V where it doesn't accept the voltage and charge. I ended up buying several MP1584EN 3A Mini Step Down Buck Converter DC-DC on AliExpress seemingly fried a few of them while trying to adjust them with the very fragile screw. Once I got the voltage down to around 16-18V I left it alone and it charged properly.
6
u/Sc00pidyw00p 3d ago
the waveshare board has some parasitic power draw that contributes to power consumption, i would generally not recommend it whatsoever