Is the SunRover Robot Sick? Diagnosis and Control Panels Coming Up.

Is the SunRover Robot Sick?  Diagnosis and Control PanelsIMG_6050 Coming Up.

SunRover is coming alive.  The power systems are running and the solar cells are collecting power.  We have 30 I2C devices and sensors installed in SunRover, most of them connected with their respective drivers (WeatherPiArduino and the WeatherRack system is not hooked up yet).  The motors are working well (now that we fixed the equipment bay grounding and power distribution system).  It can turn pretty well and can take pictures.

The RasPiConnect control panels are now coming together.  Below is the summary page of the SunRover command panels.  There are a total of 10 panels, of which three are mostly working.   In this panel, we have the Diagnosis reporting system working.  The other data will be added over the next couple of weeks.  The Arduino Power Management system is gathering the data, but is not saving the data and sending it to the Raspberry Pi2 for processing yet.IMG_1042

 

The Diagnostic System

figure1SunRover is a complex machine with a lot of different subsystems.  We have tried to build in a lot of options and redundant systems (such as the Solar Power Panel Multiplexer) so the robot can still function with things going haywire.  We have done this a lot on other projects (such as Project Curacao) and it pays off.   In the case of SunRover, we wanted a single set of functions that will go through all of the subsystems and to the best of our ability test for presence and functionality.   The text below is the result of the first section of this code, checking the health of the I2C bus and testing the presence of sensors.   More will be done with the SunRover robot, such as motor testing, compass functionality testing – the compass is a critical piece of the navigation system.  That’s why we are putting a second compass in SunRover.

 

I2C Diagnostic Report

This report, fresh off the robot,  shows that we have 30 I2C devices, identifies them and shows 1 missing and 1 extra that is not expected.   The 1 missing and 1 extra are faults that are just induced for testing.  Actually, there are no reported problems at all.

Totals Present: Present:30 Missing:1 Extra:1
Diagnosis Report: Arduino
Generated at:2015-10-20 19:26:16
Present: 23 Missing: 0 Extra: 0
Bus: 0
Device Present address: 0x1e | Compass|HMC5883L Compass
Device Present address: 0x21 | QPM0|Quad Power Management Board 0 - LS0/TRex LS1/Fan0 LS2/Fan1
Device Present address: 0x3c | OLED-01|OLED Display for Arduino
Device Present address: 0x40 | SAP0-INA3221|Motor Battery SunAirPlus Voltage Current Sensor
Device Present address: 0x48 | SAP0-ADS1015|Motor Battery SunAirPlus ADC
Device Present address: 0x73 | I2CMux1|Arduino 4 Channel I2C Mux
Device Present address: 0x5c | AM2315_0|Inside Temperature and Humidity
Bus: 2
Device Present address: 0x20 | QPM3|Quad Power Management Board 3 for Solar Multiplexer
Device Present address: 0x21 | QPM2|Quad Power Management Board 2 for Solar Multiplexer
Device Present address: 0x40 | SAP1-INA3221|Raspberry Pi2 SunAirPlus Voltage Current Sensor
Device Present address: 0x48 | SAP1-ADS1015|Raspberry Pi2 SunAirPlus ADC
Device Present address: 0x73 | I2CMux1|Arduino 4 Channel I2C Mux
Bus: 3
Device Present address: 0x21 | QPM4|Quad Power Management Board 4 for Solar Multiplexer
Device Present address: 0x40 | SAP2-INA3221|Arduino SunAirPlus Voltage Current Sensor
Device Present address: 0x48 | SAP2-ADS1015|Arduino SunAirPlus ADC
Device Present address: 0x49 | WPA-ADS1015|WeatherPiArduino ADS1015 ADC
Device Present address: 0x50 | WPA-FRAM|WeatherPiArduino Logging FRAM
Device Present address: 0x57 | WPA-EEPROM|WeatherPiArduino EEPROM on RTC Board
Device Present address: 0x68 | WPA-DS3231|WeatherPiArduino Real Time Clock
Device Present address: 0x73 | I2CMux1|Arduino 4 Channel I2C Mux
Device Present address: 0x77 | WPA-BMP180|WeatherPiArduino Barometer/Temperature Sensor
Device Present address: 0x7c | UNKNOWN
Device Present address: 0x5c | AM2315_1|Outside Temperature and Humidity

Diagnosis Report: Raspberry Pi2
Generated at:2015-10-20 19:26:17
Present: 7 Missing: 1 Extra: 1

Bus: 0
Device Present address: 0x21 | QPM5|Quad Power Management Board 5 for Bright LEDS
Extra Device address: 0x48 | UNKNOWN
Device Present address: 0x50 | SERVO|16 Servo Control Board
Device Present address: 0x70 | ALLSERVO|All 16 Servo Board Write Address
Device Present address: 0x73 | I2CMux0|Raspberry Pi2 4 Channel I2C Mux

Device Missing address: 0x49 | UNKNOWN

Bus: 1
Device Present address: 0x73 | I2CMux0|Raspberry Pi2 4 Channel I2C Mux

Bus: 2
Device Present address: 0x73 | I2CMux0|Raspberry Pi2 4 Channel I2C Mux

Bus: 3
Device Present address: 0x73 | I2CMux0|Raspberry Pi2 4 Channel I2C Mux