Please see attached images/ wiring diagrams.
At first I was thinking it was due to noise / spikes etc from the high-current section (motors, controller, etc).. but now I wonder.
Everything worked for quite a while. However the recent failure was much quicker than the first failure.
I have a separate flip on/off switch that separates power to the supporting circuitry. Supporting circuitry includes a 5V 5A step-down regulator, the MCP23017 I2C port expander, an MCP3008 ADC (SPI), four 4-bit 5V-3V bidirectional "bus", six HCSR04 acoustic sensors, two Sharp IR distance sensors.
I very recently added an MPU9265 (9 DoF IMU ) (think MPU6050 or 9250) on the I2C bus. Lately I haven't been powering up the motor section at all, just the Raspberry and the circuits, so I could do development with the IMU only. So the only action on my part is the on/off of the switch.
The 4-bit "bus" (so total 16 I/O) is what separates and level-shifts between all the circuitry, and a Raspberry Pi ' GPIO lines. The Pi is on its own other 5V 5A regulator, and there's an flip on/off switch for that section.
Finally, there's a big switch that powers 12V to the motors and Roboclaw motor controller.
I have not had any issues with the Raspberry, the regulators, the Roboclaw, or the bi-drectional "bus".
However, I have had now two MCP23017 fail over time. Also one (I haven't checked this time if it's gone again) MCP3008 fail (might have been at same time but can't prove it). Also had three HCSR04s fail. Also had both Sharp IR fail.
Like I said, at first I thought it was the motors, etc.
Now I wonder if it's just me constantly turning on / off the switch to the circuitry. And I need to do that to do development, testing, adding new parts, changing.. or because I'm working only with the Raspberry and don't need all the other circuits to be on.
I might also add that I have a NOCO Genius G1100 charger (seems very good quality and very smart) that I have had the practice of it charging while the robot is powered up and on a stand, so I can continue development without draining the main battery all the time.
I think that's it in a nutshell.

At first I was thinking it was due to noise / spikes etc from the high-current section (motors, controller, etc).. but now I wonder.
Everything worked for quite a while. However the recent failure was much quicker than the first failure.
I have a separate flip on/off switch that separates power to the supporting circuitry. Supporting circuitry includes a 5V 5A step-down regulator, the MCP23017 I2C port expander, an MCP3008 ADC (SPI), four 4-bit 5V-3V bidirectional "bus", six HCSR04 acoustic sensors, two Sharp IR distance sensors.
I very recently added an MPU9265 (9 DoF IMU ) (think MPU6050 or 9250) on the I2C bus. Lately I haven't been powering up the motor section at all, just the Raspberry and the circuits, so I could do development with the IMU only. So the only action on my part is the on/off of the switch.
The 4-bit "bus" (so total 16 I/O) is what separates and level-shifts between all the circuitry, and a Raspberry Pi ' GPIO lines. The Pi is on its own other 5V 5A regulator, and there's an flip on/off switch for that section.
Finally, there's a big switch that powers 12V to the motors and Roboclaw motor controller.
I have not had any issues with the Raspberry, the regulators, the Roboclaw, or the bi-drectional "bus".
However, I have had now two MCP23017 fail over time. Also one (I haven't checked this time if it's gone again) MCP3008 fail (might have been at same time but can't prove it). Also had three HCSR04s fail. Also had both Sharp IR fail.
Like I said, at first I thought it was the motors, etc.
Now I wonder if it's just me constantly turning on / off the switch to the circuitry. And I need to do that to do development, testing, adding new parts, changing.. or because I'm working only with the Raspberry and don't need all the other circuits to be on.
I might also add that I have a NOCO Genius G1100 charger (seems very good quality and very smart) that I have had the practice of it charging while the robot is powered up and on a stand, so I can continue development without draining the main battery all the time.
I think that's it in a nutshell.
