There are a number of ways of powering UKHASnet nodes, indoor nodes suit having a permanent supply such as power from a usb port or a wall wart/socket but for outdoor nodes you usually need a power source such as a battery or solar powered.
Solar power is both an awesome power source as its free and often just there but is also quite a challenge to use. Firstly you need the sun to be shining which means that at night we’ve got a problem and in the UK an overcast/cloudy day is not unusual. Next you need solar panels to ‘harvest’ the sunlight – not all solar panels are the same and I’ve learnt that its worth getting the biggest panel you can, there are some particularly good panels from Voltaic Systems but they are are obviously expensive so often people use cheaper Chinese panels usually from Ebay.
There are a number of ways you can use your solar panel, you can run your node directly from the panels however if there is drop in sunlight (e.g. a cloud) the node won’t get enough power, there will also be times where the sunlight is stronger and so the panel will generate more power which will be wasted. Therefore you can use a ‘reservoir’ such as a battery or a capacitor to store excess when there is lots of sunlight and release when there is a drop in sunlight. Charging batteries can be suprising complicated (and is a whole other blog post) while charging capacitors can be easy.
The simplest design is to have a solar panel, a diode and a capacitor. The solar panel charges the capacitor which acts as a reservoir between the panel and the node. When there is sunlight current flows from the panel to the capacitor and node but when it is dark the current could flow back from the capacitor damaging the panel, a diode is usually placed in between to stop this happening. A big capacitor like the one shown will take some time to charge up and so the node won’t boot immediately but it also means that the node will run for a little while after the sunlight goes. You could also use a supercapacitor in this situation see Working with Supercapacitors for more information.
One of the big problems is that even with a 6800uF capacitor this isn’t very much and the node will quickly run out if there is no sunlight replenishing the capacitor. You’ll need to work hard with various power saving settings to ensure that your node uses as little current as possible (i.e. having the RFM69 radio sleep in between transmissions). Another issue is that when the nodes’ microcontroller starts up it often uses a little bit more current then normal which can then drain the capacitor to the point where the voltage drops and the microcontroller can’t start, this ends up becoming a loop which it can only get out of if there is a lot more sunlight to get the whole thing over the hump and running. This problem means that you often need a good bit of sunlight to get things started and if its an overcast day you’ll never boot up.
Getting over the ‘hump’
I’ve spent time thinking (and experimenting) with ways of allowing the node to boot up easily (as once it has booted it can go into power saving/sleep modes and maintain itself). One way is to use a bigger solar panel so that when there is sunlight you get lots of current and so even if the node needs more then normal to boot it can still start. Another is to try to delay the node from starting (and drawing current) until the capacitor has charged enough to ‘survive’ the booting process. One of the latest versions of my UKHASnet boards has a ltc3525 step up DC/DC converter with output disconnect, this is a little SMD chip which can turn as low as 0.85V into 3.3V to power a node. It has a shutdown pin which when is held high will turn on the chip but when low disconnects the chip, the design is particularly nice as the high on the shutdown pin is a voltage >1V. We can therefore allow the main capacitor to charge up with the node disconnected and only reconnect it when the capacitor is sufficiently charged to cope with the demands of the node. This therefore avoids getting stuck in the loop of trying to boot and drawing too much current which results in the voltage dropping restarting the loop.
My initial design was to attach the shutdown pin to the main VCC line with a resistor divider. This would mean that as the main capacitor charged up the shutdown pin would have a proportionally lower voltage (e.g. main capacitor = 1.5V, shutdown line = 0.5V), the main capacitor would be at a higher voltage when the shutdown line went passed 1V and turned on the chip as well as the UKHASnet node. Even this didn’t work particularly well, the node would get stuck booting occasionally and it still relied on a lot of sunlight to get started.
Slowing down the SHDN
Ideally we want the capacitor to charge up and there to be a delay before the shutdown pin is >1V and boots the system. We could use another capacitor which would also charge up and as this takes time there would be a delay before the shutdown line passes its threshold. By this time the main capacitor should be well charged up and will cope with the start up of the system. To increase the delay we want the time constant to be longer so adding a resistor in series with the capacitor will do this. I’ve also added another capacitor to the main reservoir as I found that one wasn’t enough to cope with packet transmissions.
The latest circuit is currently being used to power AD3, AD3 is able to start up off a lamp on my desk and was running pretty well balanced on the north facing window by my desk. It will boot easily in the morning when the sun comes up (earlier then my supercap node AI1) and will run until the early evening. During the day there is certainly more power then needed for a simple sensor node. I was able to add the ability to start repeating packets if the capacitor’s voltage was above 3.1V. Indoors it manages to repeat about 40% of the time and when outside around midday it repeats 100% of the time. The other option would be to instead charge a battery when there is excess power which could then be used to extend the node on time overnight.
- Erebus PCB (LPC812, RFM69HW, LTC3525)
- Solar panel (2* 69x110mm)
- 2* 6800uF 10V capacitors in parallel makes 1.36F
- 2* Diodes
- 1* 470uF capacitor
- 1* 22K Resistor
- 1* 47K Resistor
- 1* 3K3 Resistor