Robotics: Protecting Control Power from Motors - Page 1
Forum section: electronics / projects

author: Pack34
author_rank: Frequent Contributor
timestamp: December 31, 2021, 05:58:40 pm
content: I'm starting to work on a robotics project to fill my spare time. When I used to do this at a previous company we would always have two battery banks. One battery bank at 24V for motor power and a 12V battery for controls and networking. The purpose of doing this was to prevent brown-out of the electronics when trying to push the motors too hard when the power supply was low. Even if the motor power died you would still be able to use video and audio.For this project, I'd like to just use a single 12V battery bank to keep it simple and cheap. It's just more-or-less a technology demonstrator to play with. Not something to actually sell. To isolate the control electronics and networking, I'm planning on isolating it from the battery pack with a SEPIC regulator and an aggressive pi-LC filter to try to mitigate a brown-out condition. From what I've seen in the past the sudden drop in voltage when bumping the motors at low voltage was momentary so if the filter and SEPIC can prevent that it should be okay. I could also add a tap from the battery power to an ADC to prevent the motors from moving when the battery level goes too low. Or, if the battery has a BMS, to monitor the SOC and do the same.Thoughts?

author: NiHaoMike
author_rank: Super Contributor
timestamp: December 31, 2021, 06:48:03 pm
content: Keep it simple with a large capacitor and a diode.

author: ajb
author_rank: Super Contributor
timestamp: December 31, 2021, 08:42:14 pm
content: What voltage are you supplying to your control components? Is it the same 12V? If you can lower that to 5V or something, then a simple buck converter may be sufficient to keep all of the control stuff running during all but the most severe brownout conditions. A buck-boost can also work of course, but it will depend on how low of an input voltage it's designed for.A filter will (can) help with noise, but to really protect against brown outs the only solution is energy storage. Your components should probably all have some local bulk capacitance anyway, so that's a good start, but you may need to add some diodes to keep that local bulk capacitance from being pulled down by the rest of the rail when things are overloaded. You could also separate your motor power domain from your control power domain at one point, and add a diode and a bunch of bulk capacitance there if what's built into the components isn't sufficient. If you're really concerned about efficiency, there are some ideal diode controllers that use a MOSFET in place of a conventional diode for reduced voltage drop.You should definitely include some sort of undervoltage lockout to power down the motors etc when the battery voltage is too low. That should be built into the BMS anyway, but if you want to be able to run the controls for a bit longer than the motor you'll need to include your own UVLO (if it isn't built into whatever's driving the motors) with a higher threshold than that. Doing it yourself also gives you more flexibility in what components get shut down at what points in the batteries' discharge, and allows for plenty of other cool tricks like a 'reserve power' threshold.

author: Pack34
author_rank: Frequent Contributor
timestamp: December 31, 2021, 09:04:23 pm
content: The plan is to have the embedded controls run off of 5V, but a COTS router and PTZ camera are always 12V.

author: NiHaoMike
author_rank: Super Contributor
timestamp: January 01, 2022, 03:25:05 am
content: Quote from: Pack34 on December 31, 2021, 09:04:23 pmThose internally step down the voltage to 5V and less, it generally can go quite low and still work. If you need to run on less voltage than that, you can use a boost converter set for 10V or so (whatever gives a reasonable margin over the minimum reliable operating voltage) which will act as a pass through most of the time and be more efficient than trying to hold a steady 12V.

author: salihkanber
author_rank: Regular Contributor
timestamp: January 01, 2022, 11:32:28 am
content: IMHO Quite good approach, but, again a small scale back-up battery or sup-capacitor bank would be a good addition to do some emergency operations.

author: Siwastaja
author_rank: Super Contributor
timestamp: January 02, 2022, 12:15:12 pm
content: Counter question: what is pushing motors "too hard", causing the whole issue, and why?I only see a made-up problem which you are solving the wrong way, adding complexity when all you need is normal design practices.This is, drive the motors with actual motor controllers, and motor current is always under control. Motor controller consists of power switches and current sense, with active current feedback. If you don't have this already, start from designing proper motor controllers, this is easier than doing energy transfer between packs. It's also essential, for protectingthe motors; not only protecting the rest of the systemfrom the motors.Integrate basic battery management functions into the code - you will need thisanway-, reducing motor current or preventing motors from running when the battery is running low, so that communication etc. can still keep running, if this is important.