My students are testing the 3pi and everything was going well. Then the bot started making bad and unpredictable moves. Later we figured as the battery got lower, the IR wasn’t being transmitted as strong, so bad readings resulted. (?) Replacing the batteries immediately stopped the erratic behavior, so we definitely had a low voltage problem.
So we’re thinking a battery check in the loop somewher and a unique audible sound when the battery is going low.
The question: Set the “Low Voltage Detector” at 5.2 volts?? 5 Volts?? Can the motor accelerate near the low end without triggering the alarm?
We’ll play with this, but has anybody tried this?
Are you sure that the erratic behavior is due to low batteries? The 3pi’s voltage regulation system should keep the board power (VBST) at a constant 9.25 V, regardless of battery voltage, until the batteries discharge to the point where the board shuts down.
As long as VBST is at 9.25 V, the sensor readings should be constant. Do you have a meter that you could use the check the voltage? You can use the VBST pin available on the front of the board to make the measurement. Another thing you could try is recording the sensor readings over a white surface, comparing the readings when the batteries are fully charged to the readings when you are getting your erratic behavior.
As for your actual question - are you using NiMH rechargeable batteries? If so, they should start out at around 5.5, and a drop to below 4.8 or so indicates that they are about to run out. Running the motors will definitely cause a drop in voltage; the value when the motors are running is probably a better low-battery indicator, but it’s usually harder to see the readings when your robot is driving. I like the idea of a special tone or light pattern to indicate this!