Is the SunRover Robot Sick? Diagnosis and Control Panels 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.
The Diagnostic System
SunRover 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