How to power different voltage motors from same power source?

I am taking the "There are no stupid questions" comment to heart here.

I am hoping to power DC motors and servo motors from the same power source. The problem is, the servos want 6V and my DC motors are rated for 1.5-3V. A nice simple solution like a potential divider won't work, since each motor has a non-constant resistance, and a voltage regulator would be hideously inefficient. Adding a separate battery pack seems a silly idea, especially given the Arduino will have one of its own as well.

This sounds like an incredibly common problem to me, but I've looked all over the place and not even found anyone asking the same question, let alone finding answers. It's quite possible that something I've theoretically learnt just hasn't clicked yet.

Could anyone give me any guidance on what I should do, or link me to some kind of article/guide on such a thing? I'm sure this problem exists all over the place, probably even on these very forums, but clearly I don't even know what search terms to use.

Let me know if more information is needed for this to make sense. It should be fairly obvious I'm quite the novice. Thanks in advance for any help - I'm at my wits' end trying to puzzle this one out!

Hi Janvar,Don’t worry - it’s

Hi Janvar,

Don’t worry - it’s not a silly question!

My own preference is to actually use seperate power sources.  This removes power drops on pulling lots of power when the motors switch on.  You have not however stated what is to be your power source. If it will be something like 4 1.5v batteries then another option would be a centre tap on your batteries, use a fairly large capacitor on the motor line, near the batteries to cope with the fluctuations of the motors switching on/off.  The final option is of course using voltage regulators, being careful to ensure that the motor regulator can handle the stall current of all motors combined (worst case scenario!)

Hope this gives some ideas for thought

 

Pete

@Maxhirez: I’m using an

@Maxhirez: I’m using an Arduino, but I’m trying to steer clear of shields as far as possible (for the sake of gaining a more complete understanding as I go, and with the hope of, when I am a little more knowledgeable, miniaturising and using raw ATmega chips). I’ve got a SN754410 H-bridge chip which seems to be fine with an output voltage -0.5 - 36, though it’s not technically recommended (glad you asked though, I hadn’t yet checked). I realise the stall current may be a problem, but for now I will just be keeping an eye on the thing and not letting it run into walls.

Annoyingly, the motors I have aren’t the ones I actually intend to use. These are just the Mabuchis that come with the Tamiya twin-motor gearbox. The ones I have on back-order (and will be awaiting impatiently for a few weeks) should be absolutely fine with a 6V supply, making this job much easier! However, given all the other components are here I was hoping to at least make a proof-of-concept prototype at the expense of efficiency.

@PeteH I’ll be using rechargeable AAs for convenience, so presumably 5 of them. I hadn’t considered drawing from the middle of the supply. I haven’t seen this done, are there any downsides I should be aware of (other than some of the batteries dying earlier)? I’ll give it a go and see what it’s like.

Although it’s quite possible I’ve got my solution, I’ve also remembered the idea of using diodes for voltage drop. I have a handful of 1N4002s around, which drop 0.6-0.7V each, so theoretically could work. Would this be a terrible idea?

Thanks for the help!

@OddBot: These motors have a

@OddBot: These motors have a stall current of 2A, which I thought was a bad idea to attempt to draw through the Arduino pins. From what I understand, the Arduino has a max load of around 40mA, which is far below most motor loads. Unless you are suggesting I use a PWM signal as the control to a transistor?

@Maxhirez: I have a factory Arduino Uno. I’ve used the board’s 5V supply when controlling one servo, but since the Arduino site seems to suggest that 2 is the maximum number able to be powered in this way, I thought I should start with them on a separate supply - I’m only intending to use 2, but I don’t know how sensitive servos are to load, and am wary of approaching any stated maxima. Being rather new to this, I am worried about loading too much onto it and frying it. Hence the careful thinking (perhaps overthinking) before actually plugging things together. I haven’t got a good feel for how fragile things are.

Quite aside from concerns about the current load on the board, I have read several times that sharing a power supply between motors and an Arduino can cause problems through power line noise. I thought I’d eliminate that before it even arose to save myself later.

Looks like I have a couple of things I can try out when I get home. I think I may be a little over-cautious here. Sorry for any confusion I may have caused, and thanks for the guidance.

Well despite you claiming

Well despite you claiming not wanting to use Vregs, this: https://www.robotshop.com/letsmakerobots/node/3880 is still my go-to source when I need to handle voltage regulation. That said, I still new at this stuff :slight_smile:

@kariloy: I saw that page,

@kariloy: I saw that page, but sort of dismissed it given it went no smaller than 5V. For some reason I had assumed that voltage regulators are just generally a bad idea, and on that assumption there wouldn’t be common smaller ones, since the larger the step down the less efficient they are. A search of Maplin’s website has since convinced me otherwise, and I feel a quite the fool for discounting them so quickly.

I have bought myself a 2.5V regulator at the recommendation of shop staff (I wasn’t actually expecting Maplin staff to know much - I stand corrected), along with a larger heat sink than I expected.

When I get back to the robot (such as it is), I will try both this and OddBot’s PWM. I would far prefer the PWM, now that I’ve actually stopped to think properly. Sorry OddBot - forehead-slapping was involved when I re-read afterwards.

Thanks to everyone for suggestions. Although inevitably only one will turn out to be the ‘right’ choice for this situation, it’s been very helpful to get several options. They’ve caused me to read around a bit more and gain a little more understanding, which is never a bad thing. I can’t wait to get back to it now. Each part of it thus far has been tested in isolation, now it’s just a case of combining it all, with this being the last link.

The PWM method works

The PWM method works brilliantly. In retrospect I should have thought of it, in that I had all the facts, I just really couldn’t put them together. 

Initially I was concerned, as the drive was ridiculously weak and would cut out at any impediment despite not reaching stall by a long way. After a bit of experimenting I realised that cutting it to 25% would be taking it to [the equivalent of] 1.5V, the motor’s lowest operating volatge, and that’s assuming perfect 6V battery supply and no voltage drop through the H-bridge. Bumping it to ~33% gave it enough power to run away, and do a small amount of climbing. I’ll be spending some time playing around with raising that - perhaps 50% won’t be harmful, as long as I watch it carefully and don’t let it stall. That’d be nice, seeing as naturally it’s rather more efficient at a full rated voltage, and can climb rather well.

I noticed I only got a voltage across the motor of 0.8-0.9V, which was far less than expected, and a measured stall current of 0.3A. This is something for me to experiment with and read up on though - my initial problem is now solved.

@OddBot: I agree. It seemed inefficient but a reasonable compromise to me at first. When I got home I actually worked out what the wasted power equated to in terms of temperature rises using the heatsink that was recommended. My worst-case scenario of 14W wastage didn’t sound that bad, since I didn’t have a feel for whether that was high or low. An ~84°C rise with a heatsink sounds appalling. Definitely back to the shop with them; I never even got them near a circuit.

Thank you all for your help - I don’t think I’d have managed to start at all if there wasn’t a place to ask noobish questions!