SunRover Robot – Video – Power and Grounding Motor Noise Results

SunRover Robot – Video – Power and Grounding Motor NoiseIMG_5932 Results

Summary

The new power and ground distribution system seems to have completely fixed the issues with the DC motors switching on and off.  The Quad Power Management boards no longer go into latch-up, requiring a power cycle.  Here is a quick video:

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:

  • – 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 [ www.milocreek.com]

The Ground and Power Distribution System

SunRover Equipment Bay
SunRover Equipment Bay – Generation 1

The box you see to the right is the 2nd box we are building for SunRover.  The first boxIMG_5740 was too small and did not have an adequate power and ground distribution system.   This system was basically working with the generation 1 box (to the left), but we were still struggling with some motor noise issues that was affecting the equipment bay and interface boards.  We have been adding additional decoupling capacitors around the motors and the affected boards, better improved chassis grounding, and the issue was improved, but still not totally fixed.   The symptoms at the last were you could turn the motors on but when you stopped them, you locked the QPM boards that switched the motor LiPo batteries from stacked to unstacked modes.  A reset of the boards would fix it most of the time, but once out of 3 times you would have to cycle power.   Not a good operating mode.

IMG_5756What is happening?  We think that since the grounding system was inadequate, we were getting a spike into the QPM Boards that would reset them and sometimes throw them into CMOS latch up mode.   This led us to start thinking about ground loops.   Ground loops result from multiple paths to ground, some having higher resistance (actually impedance, but let’s just focus on resistance at this point) in multiple paths to ground where this is not required, so a complete loop is formed.  Ground loops become a problem when one or more signal cables are then connected between A and B, to pass data signals from one to the other.

Results of Motor Testing of New Distribution and Ground System

Over the past few days, we have finished the rewiring of the new Equipment Bay to the base and everything seems to be working correctly.   There are still some issues with controlling the motors, but we think that it is a software and timing issue and not a noise issue.    Things are looking very good as far as electrical noise goes.

Best Practices of Decoupling DC Motors in Robots

The issue was not the digital signals.   Things looked really good (we run diagnostic routines in the Raspberry Pi) until we started really testing the motor control software.   The DC motors were introducing significant noise.  We cleaned up the “turn on/off electrical noise” by doing the following good practices on decoupling noise from DC robot motors:

  • – Solder decoupling capacitors (one to three 0.1uF ceramic capacitors – NON-POLARIZED!) from one motor terminal to the other.  Keep your leads as short as possible
  • – Solder two capacitors (again one to three 0.1uF ceramic capacitors) one from each motor terminal to the motor case.
  • – Keep your motor and power leads as short as possible
  • – Route your motor and power wires away from your signal lines
  • – Do place decoupling capacitors (also known as “bypass capacitors”) across power and ground near any electronics that you want to isolate from noise.  Here you can use electrolytic capacitors and tie the positive lead to the power supply and the negative lead to ground.
  • – Use “Star Grounding” where ever possible
  • – Use more and thicker grounding wires that you might initially think.
  • – To minimize signal noise and avoid ground loops is to ground the shield of shielded signal cables only on one end. (thanks to James E.)
Decoupling Capacitors and Ferrite Beads on DC Motors
Decoupling Capacitors and Ferrite Beads on DC Motors

This cleaned up the “turn on electrical noise” from the motors.

The “turn off” of the motors injects a big spike back into the ground and power supplies.  The redo of the power and ground system has cleaned up the “turn off motor electrical noise”.  So we are back in business.

1 Comment

1 Trackback / Pingback

  1. How to Mount and Use an I2C Compass on your Raspberry Pi/Arduino Project - SwitchDoc Labs

Comments are closed.