SunRover Solar Power System and Multiplexer Working
Yesterday, we took the SunRover robot out for her first walk. The purpose of the test was to verify the solar power panels were working, the SunAirPlus chargers were working and the solar panel multiplexer was working. We were successful on all counts.
What is SunRover?
SunRover is a solar powered robot designed to be semi-autonomous (SunRover Robot Philosophy: Yes, I will move around by myself until I get confused or find a cliff. Then I will ask for help from a human. Or at least a cat). Here is the block diagram showing the full SunRover robot system
Solar Panel Multiplexer
SunRover has six solar panels (3.4W Voltaic Systems panels) running into a set of Quad Power Management Boards that provide a multiplexing system so the six panels can be shifted to any of the three SunAirPlus based charging and power systems (Motor batteries, Raspberry Pi2 batteries and the Arduino Power Management batteries).
Operating Mode | # of Panels on Motor Power System | # of Panels on Pi2 Power System | # of Panels on Arduino Battery Management System |
---|---|---|---|
Brownout Recovery State | 0 | 0 | 1 |
Bootstrap State | 0 | 0 | 6 |
Pi2 Recovery State | 0 | 5 | 1 |
Motor Recovery State | 5 | 0 | 1 |
Powerup Default State | 2 | 2 | 2 |
Maintenance State | 2 | 3 | 1 |
Driving State | 3 | 2 | 1 |
Sun Tracking State | 2 | 2 | 2 |
The solar power multiplexer is set up so you can assign up to 5 solar panels to the Motor system, up to 5 to the Raspberry Pi2 and up to6 to the Arduino power management system. There is one panel wired directly up to the Arduino power management system so as to provide a recovery path for the robot in the case of a brownout (which can always happens with solar power systems), so the first processor to come up is the Arduino, which then will mux all the panels to itself until the battery if fully charged. Then the Arduino will bring up the other systems. We drove a bit on the concrete but ran into problems on the grass. See the NEXT section below.
We stepped through all of the various states when the robot was out in the Sun and looked at the current distributions and verified the Solar Panels, SunAirPlus chargers and the Solar Panel Mux is working correctly. Here is the Arduino serial output showing the serial command “SETSOLARMUX” being received from the Raspberry Pi2.
---------------- FreeMemory=1688 ---------------- Serial2.available:16 commandState=0 BUFFER Read- char=FFFFFFFE | ? BUFFER Read- char=FFFFFFFE | ? BUFFER Read- char=53 | S BUFFER Read- char=45 | E BUFFER Read- char=54 | T BUFFER Read- char=53 | S BUFFER Read- char=4F | O BUFFER Read- char=4C | L BUFFER Read- char=41 | A BUFFER Read- char=52 | R BUFFER Read- char=4D | M BUFFER Read- char=55 | U BUFFER Read- char=58 | X BUFFER Read- char=0 | BUFFER Read- char=33 | 3 BUFFER Read- char=FFFFFFEE | ? COMMANDSTATEB - char=FFFFFFFE | ? Command Received From Pi2:SETSOLARMUX 0:01:13 1 1 1970 Compass heading=340.93 QPM GPIO Readback QPM0=11 QPM1=5 QPM2=7 QPM3=0 QPM4=3 -------- displayMode=4 returnString=4,1,1 displayMode=4 SETSOLARMUX Command=4,1,1 setSolarMux: motor, pi, arduino = 4, 1, 1 Panel configuration accepted setting Power Channel= QPM, Channel Number, State: 2, 1, 1 setting Power Channel= QPM, Channel Number, State: 2, 2, 1 setting Power Channel= QPM, Channel Number, State: 2, 3, 1 setting Power Channel= QPM, Channel Number, State: 3, 0, 1 setting Power Channel= QPM, Channel Number, State: 4, 2, 1 QPM GPIO Readback QPM0=11 QPM1=5 QPM2=14 QPM3=1 QPM4=4
Next up?
We have redesigned the Motor Power System. We now are using all the Motor batteries in parallel and stepping up the voltage to 12V for use by the motors and the TRex Controller and motors. More on the redesign in the future. The reason the redesign was done was not because the battery stacking / unstacking didn’t work. It did. The problem was with the charging system. There were just too many diode and voltage drops for the charging system to work effectively. The motor power system now charges correctly and the motors are working fine. We still have an issue with dropping the motor voltage when the motors are in levels of high torque (such as turning on grass), but we have some avenues.
The motor noise problem, which necessitated a redesign of the equipment bay, it totally fixed.