Solar Powered Robot – What is in SunRover?

SunRover Equipment Bay

Solar Powered Robot – What is in SunRover?

SunRover Equipment Bay
SunRover Equipment Bay

What is SunRover?

SunRover is a tracked solar powered robot designed to move around and explore the area while sending back reports, tracking weather, managing a power budget tightly and providing a platform for testing new sensors and equipment as they become available.

SunRover Block Diagram
SunRover Block Diagram

The Block Diagram

The major subsystems are shown to the right.   It takes a lot of thought to put together a good block diagram.  You make a lot of design decisions that might be difficult to change later in the design.   Here is a list of the major system decisions you can infer from the SunRover block diagram:

  • Use a prebuilt Track and Motor controller system
  • Solar Powered system
  • Solar Panels will be shifted from one subsystem to another according to demand and task set
  • Two major computers:  Raspberry Pi 2 for higher levels of control and an Arduino for power management and turning devices and sensors on and off
  • Dual WiFi communication Paths
  • SunRover control panels using RasPiConnect [ref: www.milocreek.com]

That is a lot of design decisions made on a very high level.  Next, a quick explanation of each of the subsystems of SunRover.

Part 2 of this article is here.

Subsystems

Track Motor Controller / Power Subsystem

SunRover is a mobile, solar powered, tracked robot designed to be reliable and used outdoors.  This puts more constraints on building

Dagu TRex Track Unit
Dagu TRex Track Unit

the physical parts of the robot as it needs to be able to move over rough ground and be pretty tough.  The first decision we made was to go with a reliable, robust tracked chassis as the point of this project was building the solar power system, the sensor base and the software, not doing the mechanical design of the tracks.    We also wanted to use an existing motor controller that gives me a lot of flexibility.  The Dagu products listed below fit the criteria.

The track motor subsystem consists of the following four item groups:

Note: This system is basically working, but we are still struggling with some motor noise issues that is affecting the equipment bay and interface boards.  As of 9/1/2015, we have been adding additional decoupling capacitors around the motors and the affected boards, better improved chassis grounding, and the issue is improved, but still not totally fixed.

Solar Power Mux / Power Subsystem

SunRover is a solar powered robot, so controlling and allocating the incoming solar power is a major part of the project.   The Solar Power Multiplexer dedicates one solar panel to the Arduino WatchDog system (as a fail-safe in case of brownout conditions so the WatchDog subsystem will always recover first) and the other 5 panels can be switched between any of the three other power systems (WatchDog Arduino, Raspberry Pi and the Motor Subsystem).  This system uses the SwitchDoc Labs SunAirPlus solar power control boards and the Quad Power Management Boards.

Control Subsystem / Raspberry Pi 2

The brains of the robot (or at least the cerebral cortex) consists of a Raspberry Pi 2 quad core board.  Why the Raspberry Pi 2?  We wanted a bunch of computer power available to do things like image processing, route planning and controlling the non-power system sensor packages.  The main RasPiConnect control panel for the robot will come right into here.   We are also connecting a small OLED display to show the status of the main processor.  This processor also runs the PiCamera, Bright LEDs and pan/tilt in bubble boy.

 

I2C Control Subsystem

DSC_0768
4 Channel I2C Multiplexer

We are using the I2C bus to connect the vast majority of the sensors and the various motor controllers inside of SunRover.  There are two groups of I2C busses, one for the WatchDog Arduino and one for the Raspberry Pi.  We are  using the SwitchDoc Labs I2C 4 Channel Multiplexer to isolate address ranges and have both 3.3V and 5.0V I2C busses and even to communicate between the WatchDog Arduino and the Raspberry Pi.

One clever part of this design is that with very careful software controlling the two I2C Muxes, you can talk to the same I2C device (like the motor controller) with both the WatchDog Arduino and the Raspberry Pi.

What’s Up Next?

Next we will do an overview of the Weather System, the BatteryManagement WatchDog Arduino,  The Raspberry Pi SunRover software and the Auxillary Sensor subsystem.