Choosing a motor to drive with a Mosquito board

Hi,
as a sanity check, does it make sense to drive this motor with a Mosquito board? (the awesome tiny design by @Valentine ).

It seems to me that the current and voltage ranges are ok, but I don’t want to do silly mistakes :smiley: so I am asking here before ordering the motors.

To give a bit more context, the application is a small UAV (less than 500g) with differential drive, I’d like to use the motors in direct drive.

@mmassi

Thank you for making use of the board.

:heart_eyes:

The voltage range is OK, the current will be also fine, unless you really want to max out at 5A. With the TI driver you will get 3A continuous and 5A max pulse so you won’t burn the coils.
I see no problem. I’ve driven a 60mm motor with the Mosquito, I’m sure 30mm would be fine.

Please make sure you use the TI driver (DRV8313) and glue a heatsink. A small external bulk capacitor would not hurt either. Also, make sure the PWM is around 20k. That seems the optimal low loss and no audible squeal PWM value based on others feedback. Keep the power supply at 12V minimum.

UAV: I hope you won’t try running a propeller with it? The high ohm motors won’t spin fast enough to generate lift, they are gimbal only.

Cheers,
Valentine

Thanks for the kind reply!

Everything makes perfect sense, I just have one doubt:

Keep the power supply at 12V minimum.

I intend to use a 3s LiPo battery, which nominally is about 11.1v but in practice usually is about 12 when fulluy charged.
Is it a problem?

Plus, are the extra capacitors really needed?
What happens if I don’t use them?

UAV: I hope you won’t try running a propeller with it? The high ohm motors won’t spin fast enough to generate lift, they are gimbal only.

No worries, I just used the wrong acronym :slightly_frowning_face:
The vehicle is not flying, so it is not a “UAV”, it is a differential drive small “car”!

You will be fine.

No, they are not. Just use thick wires.

You will be fine then unless you plan on racing it.

You will be fine then unless you plan on racing it.

Now this is Interesting!

Through some back of the envelop calculations I was expecting to get about 0.07 N/m of torque (or about 300grams / 2cm) with 2.5A of current.
Which should be sustainable, and plenty more than what I’d need (I would have two motors, and the max robot weight would be 500 grams).
Are my calculations totally off mark?

And about 1600 Rpm is also way more than what I need (they state that the top speed is 2k Rpm at 11.1v).

So, if staying within these parameters is what I call “race”, could this “race”?

Or, much likely, there’s something I am not considering…

The motor is rated at 1kg-cm torque at 5A, and assuming linear dependence, at half that, this is 500g-cm, which corresponds to about 0.049N-m. If you push 3A, the driver will trip and the motor will start to stutter, which is a common misunderstanding where people think the SimpleFOC algorithm is having some sort of problem, and blame it on the code, while this is just the driver shutting down the power stage to protect itself, wait the predefined timeout, reset, push current again, reset, etc, which looks like motor stuttering.

So, realistically you could probably push 0.05N-m torque with 2.5A before you trip the driver. Also you need a heatsink, at that current, or forced cooling.

As far as the RPM, depending on the MCU you use, the faster the loop, the faster the RPMs. 2000 RPM is about 200rad/s. I have no idea as this depends on your setup, wheel diameter, etc. Let’s say your wheel diameter is 5cm, at 2000rpm you can get 10m/s speed. The RC Electric Car speed record is 90m/s, so you are not exactly breaking the speed of light with a gimbal motor. I mean, it’s OK to play with as an educational toy but you cannot take it to a competition.

Hope that helps.

Cheers,
Valentine

It depends so much on the application… the 90m/s will be some kind of drag racer, built for super-speed.
Put in perspective, 10m/s will be extremely fast for most robot environments, you’d need a really large room like a gym or outdoor environment to control robots at that speed.
For a RC-car, 10m/s would be 36km/h - actually decent for a entry-level or mid-range ready-to-run RC-car, but certainly not racing speed.

Thanks, you have been extra clear!

I was a bit off mark about the torque, at 2.5A I was expecting 300g/20mm instead of the more realistic 250g/20mm, but it is likely still more than I would need.

Let’s put it this way: the robot weights 500g and its weight will be equally distributed on the wheels and on a third point of contact with the ground.
Let’s say that each wheel is supporting half the weight (which is impossible: the third point of contact is needed): each wheel would have 250g of load.
At that torque in theory each wheel (with a radius of 20mm) could produce 250g of force, but it could not transfer that force to the ground because the friction coefficient will be less than one: the wheel will be overpowered and it will start slipping.

More briefly: I will need to throttle the torque anyway, to avoid wheel slipping!
At least on paper, but the numbers look solid and past experience with similar robots (with plain DC motors) confirms it.

I am quite familiar with the “stuttering” caused by thermal and overcurrent driver protections kicking in when a robot stalls.
Several of the competitions I participate in are for autonomous robots built entirely out of Lego pieces (with Mindstorm sets), and it is really easy to trigger those protections.

Regarding speed, my real target is just “a bit more than 2m/s”.

The main competition I am working on with this design is this folkrace.
The currently winning robots run the straight parts of the track at about that speed (2 m/s).
The hard part of the competition is the software, particularly autonomous driving with other robots racing around you, and detecting whether the robot turned around after an accident.

Another competition where I’d like to use this controller/motor combination is this mini-sumo.
There the arena is 70cm, there’s no way to achieve stellar speeds in such a small space.
Torque would be more important, I could decide to reduce wheel size to 36mm (just a tiny bit more of the motor diameter!) but I’d still like to keep the direct drive configuration for simplicity and efficiency.
Or I could add a third motor (and wheel), with an “in line” positioning.
I will do tests and decide.

BTW, I am part of this team, we are really used to these competitions, but this would be my (and our) first brushless design.

Finally, about heatsinks, I know I am risking stalls and I take it seriously.
I am considering not soldering the position sensor on the mosquito, and instead use this external board.
I would put the mosquitos on the upper surface of the robot, and I would add the heatsinks and a small fan for active cooling.
In the folkrace bot I also need active cooling (the same small fan) for the main CPU board (a Raspberry PI), so I am used to this.
A small fan weights a few grams but can solve a lot of problems :slight_smile:

Wow, this was long… I hope it gives ideas to other builders as well!

1 Like

Hello everyone!
A very late reply to an old topic.
I got the “500g robot use case” working :slight_smile:

Now I am trying to design a 100g (100 grams) two-wheels differential drive autonomous robot, with size constraints of 50mm x 50mm (a microsumo robot).
And, again, I am looking for a motor for my beloved mosquito driver.

The problem is, with motors that small I’ll likely need to power them with a 2S LiPo battery: there max voltage would be 8 and not 12 volts.

The 50x50mm, 100 grams limit includes everything: motors, drivers, wheels, MCU, sensors, wiring, frame… using large motors is just impossible.

@Valentine was warning me that I’d have to feed the Mosquito with no less than 12 volts.
Why is that?
Wouldn’t it work with a 2S battery as well?

For reference, when built with DC motors (the norm) those robots use 1S batteries, a 2S would already be “huge” (but doable).

1 Like

The driver minimum voltage is 8V, if your battery voltage drops then you will fall out of range of the driver.
Maybe there is another driver chip you can find and adapt the design to?

Maybe there is another driver chip you can find and adapt the design to?

Would the “MP6540” make sense in this case?
Are there better alternatives?

The MP6540 is a great chip. In a similar category you could take a look at the DRV8316…

These chips are highly integrated and offer built-in current sensing, and have a bit more “oomph” in terms of current capacity than most integrated FET drivers. To push them to their limits will require some heat sinks/heat management though.

I’ve used both these chips and was pretty happy with them!

1 Like