Can Pololu Micro Maestro drive brushed DC motors?

Micro Maestro 6-Channel USB Servo Controller

The above brake board is made for running servo motors. No problem there. Question is can it be used for driving brushed DC motors?

I would just like to avoid buying separate driver just for dC motors, like this one Pololu Qik 2s9v1 Dual Serial Motor Controller, if Micro Maestro can be used both for servos and DC motors.

Pololu as a forum for that type of questions, as they are the makers of it and so..

The board has digital output on the pins, so you might have on/off control of a motor using a mosfet or h-bridge.

Senso:
Pololu as a forum for that type of questions, as they are the makers of it and so..

Problem is they have vested interest, they will tell me I must buy both of them.

aviva life insurance

Problem is they have vested interest, they will tell me I must buy both of them.

I have dealt with Pololu several times, and I have always found them to be honest and helpful. If you explain what you need, I am confident that they will give you a pretty good answer.

My initial reaction is, why would you want to drive brushed DC motors with a servo controller? Servo's and brushed DC motors are different 'animals'. I can just about imagine a reason, so this may help.

A servo has an internal motor control, so it doesn't need much power on its control input, a couple of mA will do the job. A servo position is set by a pulse with a width which determines the angle of the servo (or speed for continuous rotation). The pulse width is being interpreted by electronics inside the servo to control its internal motor driver.

A brushed DC motor gets all of its power from an external source e.g. a motor driver. If the brushed DC motor needs 10A, that's what the motor driver must provide. There are no electronics in a brushed DC motor to interpret a signal, it just needs enough power and it will turn.

There is a clue in the Specification for that servo controller, it says "Supply current: 20 mA"

How much do your brushed DC motors require? If their total stall current is over 20mA, this is not a practical solution.

Further a Baby Orangutan B-328 Robot Controller is cheaper and has two channels of DC motor control (read spec to see if it sufficent to the job). It is very similar to an Arduino, and so theoretically could run the servo library which would give upto 12 servo's, though you'd need a programmer or USB interface. If you have an Arduino, you could use it to program the Baby Orangutan, or act as a USB interface.

Maybe you could contact Pololu, or ask on their forum, and see what they say? That may be a helpful test.

HTH
GB-)

gbulmer, thank you for an informative reply. I am just looking for the most economical way to drive both servos and DC motors.

I asked on pololu forum, they told me: "Micro Mastro doesn't have motor driver, so it can not drive DC motors"

Correct me if I understood wrongly. What you are saying, servo controler like Micro Maestro can not supply more than 20 mA to DC motor. In practice, most DC motors would need much more (mine has stall current of 800 mA). But I would like to say here, that I looked into Micro Maestro servo controler's spec and I can see that, beside control input at 20 mA, Micro Maestro is receiving full driving current (black & red wire), from an independant secondary source, like 4x AA bateries. Possibly in that way I can pass that current to DC motor, and control it that way?

My DC motor stalls at 800 mA. Can you please explain what is the consequence of stall current? Is that maximum current DC motor would take?

Regarding Baby Orangutan, I am keen on it, but it needs a programmer. When you say that I can use it with
Arduio, do you mean that I can program Baby Orangutan via Arduino, without programmer?

I am just looking for the most economical way to drive both servos and DC motors.

Ah, a topic close to my heart. I am always looking for that, my goal is the sub 20 euro robot.

What you are saying, servo controler like Micro Maestro can not supply more than 20 mA to DC motor.

Pretty much yes. I don't know voltage regulator they have on board but it is likely to be pretty small, and the outputs of most of the small Atmel AVR's (which it claims to be) are under 200mA Total for all of the pins. So don't plan on getting much more current/pin than 20mA.

But I would like to say here, that I looked into Micro Maestro servo controler's spec and I can see that, beside control input at 20 mA, Micro Maestro is receiving full driving current (black & red wire), from an independant secondary source, like 4x AA bateries.

The board will need to have the power fed into it. That drive current goes straight to the ground and +V pins of the three-pin servo connectors. If you connected a DC motor to those with one wire to the middle +V pin, and the other to ground, it would just turn in the same direction, at the same speed 'forever' (until the power source went flat). The micro controller would have no control because it wouldn't get involved

Possibly in that way I can pass that current to DC motor, and control it that way?

A DC motor would simply turn until power fails. I don't think that is likely useful, if I've understood what you are aiming to do.

My DC motor stalls at 800 mA. Can you please explain what is the consequence of stall current? Is that maximum current DC motor would take?

Yes, exactly.

In practice, most DC motors would need much more (mine has stall current of 800 mA)

Yes, exactly. I think the Baby-O can supply a peak of 3A, and 1A continuous, so it should be okay.

Regarding Baby Orangutan, I am keen on it, but it needs a programmer. When you say that I can use it with
Arduio, do you mean that I can program Baby Orangutan via Arduino, without programmer?

Yes, there are Mega-ISP/Arduino ISP playground page explaining how to do it.

So, you can save money, get a Baby-O, and have a tiny robot controller. Fun!

HTH
GB

gbulmer, thanks once again. you revealed this Baby-O to me and it more and more looks as a right thing. I am reading spec as we speak. Even if I buy programmer, it is still cheaper than one controller for servos and one for DC motors.

And Baby-O gives me flexibility to mix servos and DC motors in the same project, for the minimum loss of space. Not bad.

They also help to use the Arduino environment to program Baby-O.

[edit]If you don't buy a programmer, but use your Arduino, you could afford two Baby-O, and have a robot family, or a robot with 4 DC motors, and loads of servo's :)[/edit]

Have fun.

GB

I followed the link you gave me, but you need 2 Arduinos in order to use it as programmer. It is cheaper to buy programmer and than next month get another Baby-O.

but you need 2 Arduinos in order to use it as programmer

I don't believe so.

The pictures at ArduinoISP
Show one Arduino doing the programming, and a second Arduino containing the ATmega being programmed.

If you look down to the bottom of the page, you can see one Arduino programming an ATmega in a breadboard.

The Baby-O would be connected up like the 2nd Arduino board.

HTH
GB

Cheapest of all might be to protoboard up a custom controller yourself with a pre-bootloaded 328, and use an FTDI breakout or cable to upload, the Servo library to run your servos, and then custom build your h-bridge drivers (IC or discreet transistor/mosfet based) for your DC motors (should only require 2 pins per motor; use a shift-register if you need more outputs).

:slight_smile:

thanks for the nuance

thanks for the nuance

You want inexpensive, you want all-in-one, you want low space requirements, and you want Arduino compatibility (I think); sometimes the only answer to all of this is a custom-built controller, and there's nothing wrong with that.

If you think you'll only ever need to control two small DC motors (which may be the case - you don't say), then using an Orangutan controller might be best.

If, however, you want to control more DC motors, or larger DC motors, then you'll either have to custom-build your own h-bridge drivers, or purchase such driver controls - note that it might actually be cheaper, at least for larger motors, to use R/C ESCs with reverse, coupled to brushless DC motors instead (brushed DC motor controller can get expensive quickly, especially for very large motors, such as those used for wheelchairs and motorized scooters - if you want a real heart attack, check out the prices of DC motor controllers for electric vehicles!).

I have not seen such a device as a combined DC motor controller and servo controller on a single board (maybe you might find such a thing from a combat robotics supplier?); the nice thing about Pololu's offerings is that most of their products can be daisy-chained on a single serial control bus, so you can easily interface a ton of them with the Arduino (or any other microcontroller). This could make future expansion or upgrades easier in the future.

Hmm - there's another option: you could be the first to make such a "shield" for the Arduino; a board that used an ATMega328 communicating via serial (or I2C, or SPI) to the host, which could tell the module to either output a HIGH or LOW on a pin (for h-bridge control), or PWM (for servo control) - the user would then supply their servos or h-bridges as needed (bonus would also be to add analog input monitoring, so you could easily build custom "large motor" servos, using such things like windshield wiper motors and potentiometers).

Just some thoughts...

:slight_smile:

I think you'd have to be going some to beat $19.95 for a Pololu Baby-O for DROBNJAK's needs.

It doesn't need an Arduino, the Baby-O is the controller, and it's small.
If two DC motors are enough, and the stall current is 800mA, it is fine.
It can run the servo library, so you have at least 12 servo's.
If DROBNJAK has an Arduino, there is no need for a programmer.
This is all on one ready made, small, debugged board.

I have not seen such a device as a combined DC motor controller and servo controller on a single board

That's what the Baby-O is, it just lacks 3-pin sockets.

[edit]

the nice thing about Pololu's offerings is that most of their products can be daisy-chained on a single serial control bus, so you can easily interface a ton of them with the Arduino

Maybe you've misunderstood. A Baby-O is the controller. There is no need to chain stuff to an Arduino. If there is a need for more drivers, then Pololu stuff could be chained from a baby-O[/edit]

Two brushless DC motors will cost more than a Baby-O, and be so nasty to drive that one could almost justify buying a ready made controller rather than use a simple generic dual H-Bridge IC :slight_smile:

I have seen reports that small/low-cost brushless DC motors are not good for wheeled/mobile vehicles (great for planes and helicopters), starting can be a problem apparently. Though that may be exaggerated.

GB

DROBJNAK: what's with the advertising link to an insurance website in your second post in this thread? Is this whole conversation just a ruse to keep your link up?

Cheapest of all might be to protoboard up a custom controller yourself with a pre-bootloaded 328, and use an FTDI breakout or cable

pre-bootloaded 328: $6
FTDI breakout: $13.95

This cost as much as a Pololu Baby-O at $19.95
and it hasn't got the dual H-Bridge brushed DC motor driver, board, LEDs, crystal, pot, etc in the cost.

If you do go this path, try to use an existing Arduino for the USB interface to keep the cost low.

HTH
GB-)

Beside combining servo and brushed DC motor control, Baby-O is well supported with software libraries. That is almost triple whammy for me, since I am beginner and coding for hardware is quite difficult for me.

DROBJNAK: what's with the advertising link to an insurance website in your second post in this thread? Is this whole conversation just a ruse to keep your link up?

Well spotted.
I am pretty sure that wasn't in the original post. I think it was added recently.

GB

If you do not like it just delete it.

I am genuinely working on Arduino projects.