SunAir - Solar Cell Controller Board and Sun Tracker for Arduinos / Raspberry Pi / Cell Phone Charging. Plus open source software.
Ever wanted to build your own Solar Powered Raspberry Pi or Arduino system? SunAir and SunAirPlus are 3rd Generation Solar Charging and Sun Tracking Boards designed by Dr. John C. Shovic at SwitchDoc Labs.
You can use this board to power your projects and add a servo or stepper motor to allow it to track the sun using photoresistors to generate even more power! It incorporates a number of outstanding features in a very compact, inexpensive single fully assembled and tested PC Board. Note that the battery and solar panel plugs on SunAir are of type JST-PH 2 pin.
SunAir is customizable with your software and hardware.
The major features of the SunAir board are:
|CH pin level(Red LED state)||OK pin level(Green LED state)||Statements|
|low level(on)||high level(off)||Charging|
|high level(off)||low level(last on)||Complete|
|pulse signal(flash)||pulse signal(on)||The battery doesn't exist or has been deeply discharged|
|high level(off)||high level(off)||No charging is taking place as the solar cell input voltage is too low|
The RasPiConnect/ArduinoConnect control panel for SunAir is shown below.
As many of our projects have, this project started in a bar called the Fedora in 2013. We thought it would be cool to put a Solar Powered remotely controlled box down in the Caribbean on the island nation of Curacao, and Project Curacao was born. SunAir generation 1 is shown to the left. The next step was to put this fully debugged system in a weather proof box and write the 8000 lines of code that would control it. We ended up putting two complete SunAir 2nd generation solar systems in the box for redundancy and system isolation. One for the Raspberry Pi and one for the Battery WatchDog Arduino which monitored and controlled the power for the Raspberry Pi. You can see the SunAirPlus prototype board in the lower part of the picture to the right of the Pi Camera.
After 6 months in the Sun, with the box running most of the time, we went down and added more solar panels and a SwitchDoc WatchDog Timer to cover the possibility of a code hang and also recovery from loss of power (brownouts tend to make computers not reboot on a reliable basis - recovery from brownouts is a necessary function on solar powered system. Clouds happen). Finally, we had enough information and use cases to design and build the 3rd generation of SunAir and the heavily instrumented version, SunAirPlus. This is the Ultimate Solar Panel controller for Raspberry Pi and Arduino projects. These boards are designed with a lot of flexibility for you to innovate your design.
New Solar Panels on Top of the Project Curacao Box - WeatherRack in Background.
Posted by Lutz on Jan 31st 2017
[SwitchDoc Note: We worked with the customer, even replacing the board. We tested his old board and it works perfectly. His new board has a higher voltage (still within USB spec) and his Raspberry Pi works better. Our conclusion is that the customer had a Raspberry Pi that was a little out of spec - (USB 5V spec is 4.75V - 5.25V) and the higher voltage of the new SunAir board (~4.9V) fixed that.]
The output voltage is barely 4.85 V - even a Raspberry Pi A+ complains about that (red power LED flashing, indicating insufficient voltage) and even hangs from slight load increases (I managed to lock it up just by logging in via ssh and WiFi)
The servo connection from the Raspberry Pi is exactly what I was looking for to adjust my solar panels. Sadly, as soon as I access the servo, the voltage drops dramatically and the Pi reboots. I had thought the servo power supply is decoupled from the load power?
I haven't yet figured out how to do battery performance measurements from the Raspberry Pi. Do I have to daisy chain the I2C bus? if so, how? The documentation is rather brief on that topic.
There is something clearly wrong with your setup but we aren't sure what. 1) What Raspberry Pi are you using? If you are using a Pi 3 you can easily draw 750mA, which is above the 500mA SunAir supply, this will reduce the voltage (1000mA for SunAirPlus - which is what we *think* you are actually using......).
If you are using SunAirPlus, something is dragging down the power supply in your setup. You should see above 4.85V, but not in all cases. (but understand, this is in Spec - The USB specification is 4.75 - 5.25V). Something in your setup is using a lot of current. Yes, the servo power can be decoupled from the Raspberry Pi, (meaning you power the server from another power supply), but it sounds like you are powering the servos from the SunAir power supply. The surge from the servos is dragging the supply down and shutting down the Pi. Sounds like you at least need to put a big capacitor across the power supply to handle the surges from the motors.
You need to measure the amount of current you are using. If you have a SunAirPlus board, then you can the on-board INA3221 to measure all those variables. Use the github.com/switchdoclabs INA3221 library and you will be reading these values immediately.
Yes, you need to hook up the I2C bus to the SunAirPlus board. If you have a Pi2Grover board, then it is a simple plug in. If you don't, then check out a tutorial on using the I2C bus on the Raspberry Pi and hook up the four lines from the Pi GPIO port (3.3V, GND, SCL, SDA) to the corresponding pins on SunAirPlus. Then you will be able to start to figure out why you are using so much current. Note: The blinking red light on the Pi means it is seeing low voltage, but it is still within specification in this case.
All prices are in USD.