Greetings All,
My team and I just spent the day chasing a hardware bug that we have not seen before, and we are hopeful that someone can shed some light. We have a skid steer setup with two motors on each side, and all four motors are controlled by a single controller. Motors on each side are mechanically coupled – a fairly standard set-up. The robot is lightweight, the motors are lightly loaded, and encoders are not used.
After a brief but variable bit of driving, the drive motor controller and every controller further down the daisy-chain would stop responding. The NXT and upstream controllers were unaffected. A power cycle of the Tetrix battery was required to bring everything back to life. We swapped controllers, cables, and changed positions in the dasiy-chain to no avail. We also noted that the fault would occur with a motor direction change, and we were able to get it to fault while the robot was elevated and just spinning its wheels. It was not a loose wire or the like, and it was not software.
Eventually, we unplugged a motor on each side and the problem vanished. We plugged them back in and removed plugs from the other two motors, and again the problem was gone. When all four motors were plugged back in, the problem would return. Our (hopefully temporary) solution was to add an additional controller and split the drive motors between the two controllers.
One thought (and I have no idea as to its validity): The electrical weak link in the old Tetrix motors was an internal inductor that provided some filtering. The new motors feature improved burnout protection, and they are what we are using. Is it possible that the inductor has been removed/changed and that there is a spike in noise when the motors change direction? If so, it seems the controllers are no longer able to handle the noise of two motors on the same channel. Seems pretty far-fetched, but we are at a loss for a definitive explanation.
Any thoughts, or has anyone encountered similar problems?