Boe Bot power question
Hi, I'm only a few weeks into basic robotics with a Boe Bot (and robotics in general). I did most of the basic activities, then started reading, researching, finding and adding a few things here and there. While I'm still working on learning techniques to make my PBasic code smooth, lean and responsive, I'm having a problem where my robot is very power hungry.
I replaced the standard 4 cell battery holder with a 6V NiMH power pack from Tenergy - it has 5 cells (C size) and a capacity of 3,600 mAh. This definitely improved my running time, however, my robot can roam around the house for only about 10-15 mins, after which it either stops and starts rebooting itself or does a jittery dance and then starts rebooting itself.
I'm sure I'm running too much stuff, or doing something incorrectly, or perhaps killing the servos by not pulsing properly (I did not figure out ramping yet), but as they say in this forum, "Don't reinvent the wheel" - so I'm seeking professional advice from people who'd done it.
Basically, question is what eats the most juice and what steps can I take to increase my battery life and robot autonomy?
My current setup is:
- basic Boe-Bot USB kit with Board of Ed revision D;
- standard BS2 Stamp;
- tank treads;
- 4 Sharp IR sensors (no A/D converter yet - and I know it's a sin to use the analog ones directly, but they work) - 2 for sides (GP2D12), 1 for high/front (GP2D12 - it was bumping into small things right in front of it and was getting stuck under furniture) and 1 for down (GP2D120 - checks for drops - short range because of blind spot at beginning of range);
- Ping sonar with servo and bracket (all from Parallax);
- 1 basic photocell circuit that checks level of lighting and turns on a bright white LED if dark (not super-power LED);
- 1 basic IR detector for TV remote control signals;
- an array of 5 LEDs that I custom made - I use them for all sorts of visual indicators and effects (so I know which subroutine kicked in at roaming time, and.... just because it's cool...), but I make sure that the software does not light up more than 2 at a time;
- standard piezo that came with the kit.
Any tips regarding power management will be highly appreciated. Thanks.
Andrei
I replaced the standard 4 cell battery holder with a 6V NiMH power pack from Tenergy - it has 5 cells (C size) and a capacity of 3,600 mAh. This definitely improved my running time, however, my robot can roam around the house for only about 10-15 mins, after which it either stops and starts rebooting itself or does a jittery dance and then starts rebooting itself.
I'm sure I'm running too much stuff, or doing something incorrectly, or perhaps killing the servos by not pulsing properly (I did not figure out ramping yet), but as they say in this forum, "Don't reinvent the wheel" - so I'm seeking professional advice from people who'd done it.
Basically, question is what eats the most juice and what steps can I take to increase my battery life and robot autonomy?
My current setup is:
- basic Boe-Bot USB kit with Board of Ed revision D;
- standard BS2 Stamp;
- tank treads;
- 4 Sharp IR sensors (no A/D converter yet - and I know it's a sin to use the analog ones directly, but they work) - 2 for sides (GP2D12), 1 for high/front (GP2D12 - it was bumping into small things right in front of it and was getting stuck under furniture) and 1 for down (GP2D120 - checks for drops - short range because of blind spot at beginning of range);
- Ping sonar with servo and bracket (all from Parallax);
- 1 basic photocell circuit that checks level of lighting and turns on a bright white LED if dark (not super-power LED);
- 1 basic IR detector for TV remote control signals;
- an array of 5 LEDs that I custom made - I use them for all sorts of visual indicators and effects (so I know which subroutine kicked in at roaming time, and.... just because it's cool...), but I make sure that the software does not light up more than 2 at a time;
- standard piezo that came with the kit.
Any tips regarding power management will be highly appreciated. Thanks.
Andrei
Comments
Do you have the servos connected to VDD or VIN? If they are connected to VDD then they are drawing too much power from the regulator and causing it to
go into either thermal or overcurrent shutdown repeatedly.
If your supplying 6volts, then it should be fine to power the servos right from VIN... you'll also notice they'll have more power.
There's a jumper on the BOE that'll switch it over for you.
Tank treads are also known to add a little more strain on the bot than wheels... but its not a huge addition.
If your already running on VIN, or VIN isn't making much of a difference after the switch, then I'd recommend disconnecting everything but the two drive
servos and see how long it takes for the battery to run down with just those.
Your sharp sensors could also be draining a bit. I'm not familiar with them so I'm not sure.
Unrelated to your problems...
You can "fake" a A/D converter with a resistor and a capacitor to better read in your sharp IR sensors. Check out the BOE's book for more info on it.
At some point, I blindly followed the Ping bracket's directions and switched the servo headers to VDD.
I do understand that the system is wasting a lot of power regulating the voltage for the servos unnecessarily and that the servos choke by draining too much power.
When I get home tonight (I'll be thinking about this all day at work now...), I'll take the Ping sensor off the servo headers and put it onto another I/O pin with VDD· and put the servos back on raw power. Since my pack is 6V (5 x 1.2v cells), the servos should be comfortable, right?. I have a feeling this will solve the random reboots.
Ping on different I/O... ugh... out of I/O pins already, but scared to ask the question about what to do - Blue Bell coprocessor, BS2p40, servo controller, hook up 2 BS2 boards, I2C, etc.... Also, I don't want the "switch to Propeller" answer, I just started with the Stamp and I like the basicness (not a word?) of it and its challenges.
I looked up the Sharp sensors, they do indeed drain a bit of power - they're rated at 33mA each, so with 4 of them constantly running, I'm eating about 130mAmps.
Thanks for the "fake" A/D tip, I've been using them like you say and they work awesome. The capacitor cuts all the peaks and the false readings (without them the system is a bit too jumpy) and the trigger is just perfect for me. It reaches 1.3V, or whatever it takes to switch the pin to a "0" state, at about 5-6 inches, which I'm very happy with. I guess that's why they're so popular, they just work without too much adjustment and/or knowledge of analog circuits...
I plan to keep only one of my GP2D12s on board for when I'll bite the bullet and build a real analog distance measuring sensor on a turret. Power wise, I also think they have a pin that can be used to put them to sleep when not used, there's some "low power" mode built in somewhere into the circuit. I guess I'll just have to read those PDFs...
In the meantime, I found these guys: Sharp GP2Y0D810Z0F. I didn't get them yet (just ordered yesterday, they're 7 bucks a piece), but they will make better bumper sensors for my rather simple bot. They are much smaller (also running out of real estate on the Boe chassis), all digital (just plug into I/O pin) and consume only 5mA, so I'll save about 100mAmps with this replacement.
Again, thanks for taking the time to respond and to get my brain gears rolling, I needed that.
I hate the "switch to a prop" reply as well... although I did kind of switch to an SX myself (gotta love microprocessors that cost less than a DVD rental).
There are chips out there that'll take 3 stamp pins and give you either 8 outputs or 8 inputs.
These are called Serial to Parallel (for output) or Parallel to Serial (for input)
Also, check your PMs.