Chances are the problem lies with your power system. When motors start up, they require much more current than they use once they’re running. The battery will try its best to satisfy this bigger power requirement, but something has to give. In many cases, that “something” is the battery’s output voltage, which can sag so low that the robot’s MCU resets itself. Even worse, the MCU sometimes doesn’t reset cleanly, and “runs away,” executing garbage data from your EPROM.
When motors start up, they require much more current than when they’re running
Solutions to this voltage sag vary, depending on your circumstances. I’ve had the biggest problem on some of my smaller machines. These ‘bots use modified R/C servo motors to drive the wheels and four Renewal C-cells to provide power.
Even though a Renewal C-cell is rated at 4 AHrs, the startup sag from two servo motors can pull that 6 VDC pack to below 4.5 VDC. If the robot’s MCU board uses a voltage-monitor/reset chip such as the 34064, that lower voltage will reset the MCU, turning off the motors. Once the MCU resets, it tries to turn the motors back on, which starts the cycle all over again.
You can try adding a 1000 uf electrolytic cap across the 68hc11’s supply. That might “fix” the problem sometimes, but it really just masks the problem. A better solution is to run the servos on a separate 6 VDC supply.
This solution is very easy to install on Marvin Green’s 68hc11BOTBoard, since the servo power supply can be wired separately from the MCU’s supply. I’ll usually hook the C-cells to the motors only, then add four Renewal AA-cells to drive the MCU board. This separate supply also shields the MCU from the rapidly-draining motor supply. As the motors run down their supply, the MCU stays alert and can recover from the dwindling mobility.
NiCds can support insanely high current draw over a short period of time
As another option in these smaller robots, you can switch to NiCd batteries. I seldom use NiCds because of their high self-discharge rate; two months on the shelf and those babies need a recharge.
But once they are charged, you can use their very low internal resistance to your advantage. NiCds can support insanely high current draw, in excess of 50 A, over a short period of time.
Thus, they can cope with the motors’ startup power requirements without sagging below the MCU’s reset voltage.
But some ‘bots have to use gel-cells, and the relatively high internal resistance on these batteries can cause problems. If you’re using a 12 VDC gel-cell, the solution is simple. Just add a small switching power supply, such as the National Semiconductor Simple-Switcher mentioned in the next article, “Keep Your Power Clean,” below. This 1-square-inch power supply is perfect for most MCU boards.
But if you’re using a 6 VDC gel-cell, the voltage sag can be so great that the switching supply can’t maintain its 5 VDC output. In this case, you can power the switcher from another source. For MCU boards that take a lot of juice, use a 6-pack of AA-cells; the 9 VDC they supply will keep the switcher happy. For those very lightweight MCU boards, consider driving the switcher with a 9 VDC alkaline battery. CMOS controllers such as the 68hc11 require only a few