Hackaday Prize Entry: Modular Stepper Control

Stepper motors are a great solution for accurate motion control. You’ll see them on many 3D printer designs since they can precisely move each axis. Steppers find uses in many robotics projects since they provide high torque at low speeds.

Since steppers are used commonly used for multi-axis control systems, it’s nice to be able to wire multiple motors back to a single controller. We’ve seen a few stepper control modules in the past that take care of the control details and accept commands over SPI, I2C, and UART. The AnanasStepper 2.0 is a new stepper controller that uses CAN bus for communication, and an entry into the 2017 Hackaday Prize.

A CAN bus has some benefits in this application. Multiple motors can be connected to one controller via a single bus. At low bit rates, it can work on kilometer long busses. The wiring is simple and cheap: two wires twisted together with no shielding requirements. It’s also designed to be reliable in high noise environments such as cars and trucks.

The project aims to implement an API that will allow control from many types of controllers including Arduino, Linux CNC, several 3D printer controllers, and desktop operating systems. With a few AnanasSteppers one of these controllers, you’d be all set up for moving things on multiple axes.

KFC Winged Aircraft Actually Flies

[PeterSripol] has made an RC model airplane but instead of using normal wings he decided to try getting it to fly  using some KFC chicken buckets instead. Two KFC buckets in the place of wings were attached to a motor which spins the buckets up to speed. With a little help from the Magnus effect this creates lift.

Many different configurations were tried to get this contraption off the ground. They eventually settled on a dual prop setup, each spinning counter to each other for forward momentum. This helped to negate the gyroscopic effect of the spinning buckets producing the lift. After many failed build-then-fly attempts they finally got it in the air. It works, albeit not to well, but it did fly and was controllable. Perhaps with a few more adjustments and a bit of trial and error someone could build a really unique RC plane using this concept.

Continue reading “KFC Winged Aircraft Actually Flies”

The Little Things I Didn’t Know About Small DC Motors

We’ve all taken apart a small toy and pulled out one of those little can motors. “With this! I can do anything!” we proclaim as we hold it aloft. Ten minutes later, after we’ve made it spin a few times, it goes into the drawer never to be seen again.

It’s all their fault

It always seems like they are in everything but getting them to function usefully in a project is a fool’s errand. What the heck are they for? Where do people learn the black magic needed to make them function? It’s easy enough to pull out the specification sheet for them. Most of them are made by or are made to imitate motors from the Mabuchi Motor Corporation of Japan. That company alone is responsible for over 1.5 billion tiny motors a year.

More than Just the Specs

In the specs, you’ll find things like running speed, voltage, stall current, and stall torque. But they offer anything but a convincing application guide, or a basic set of assumptions an engineer should make before using one. This is by no means a complete list, and a skip over the electrics nearly completely as that aspect of DC motors in unreasonably well documented.

The paint mixers high running speed and infrequent use make it a decent candidate for hooking directly to the motor.
The paint mixers high running speed and infrequent use make it a decent candidate for hooking directly to the motor.

The first thing to note is that they really aren’t meant to drive anything directly. They are meant to be isolated from the actual driving by a gear train. This is for a lot of reasons. The first is that they typically spin very fast, 6,000 – 15,000 rpm is not atypical for even the tiniest motor. So even though the datasheet may throw out something impressive like it being a 3 watt motor, it’s not exactly true. Rather, it’s 3 N*m/s per 15,000 rotations per minute motor. Or a mere 1.2 milliwatt per rotation, which is an odd sort of unit that I’m just using for demonstration, but it gives you the feeling that there’s not a ton of “oomph” available. However, if you start to combine lots of rotations together using a gear train, you can start to get some real power out of it, even with the friction losses.

The only consumer items I can think of that regularly break this rule are very cheap children’s toys, which aren’t designed to last long anyway, and those powered erasers and coffee stirrers. Both of these are taking for granted that their torque needs are low and their speed needs are high, or that the motor burning out is no real loss for the world (at least in the short term).

This is because the motors derate nearly instantly. Most of these motors are hundreds of loops of very thin enameled wire wrapped around some silicon steel plates spot welded or otherwise coerced together. This means that even a small heat event of a few milliseconds could be enough to burn through the 10 micrometer thick coating insulating the coils from each other. Practically speaking, if you stall a little motor a few times in a row you might as well throw it away, because there’s no guessing what its actual performance rating is anymore. Likewise, consistently difficult start-ups, over voltage, over current, and other abuse can quickly ruin the motor. Because the energy it produces is meant to spread over lots of rotations, the motor is simply not designed (nor could it be reasonably built) to produce it all in one dramatic push.

Making Contact

Pololu has the clearest picture of the different kind of brushes inside these small motors.
Pololu has the clearest picture of the different kind of brushes inside these small motors.

This brings me to another small note about these tiny motors. Most of them don’t have the carbon brushes one begins to expect from the more powerful motors. Mostly they have a strip of copper that’s been stamped to have a few fingers pressing against the commutator. There’s lots of pros to these metal contacts and it’s not all cost cutting, but unless you have managed to read “Electrical Contacts” by Ragnar Holm and actually understood it, they’re hard to explain. There’s all sorts of magic. For example, just forming the right kind of oxide film on the surface of the commutator is a battle all on its own.

It’s a weird trade off. You can make the motor cheaper with the metal contacts, for one. Metal contacts also have much lower friction than carbon or graphite brushes. They’re quieter, and they also transfer less current, which may seem like a bad thing, but if you have a stalled motor with hairlike strands transferring the pixies around the last thing you’d want to do is transfer as much current as possible through them. However, a paper thin sheet of copper is not going to last very long either.

So it comes down to this, at least as I understand it: if bursts of very fast, low energy, high efficiency motion is all that’s required of the motor over its operational life then the metal strip brushes are perfect. If you need to run the motor for a long stretches at a time and noise isn’t an issue then the carbon brush version will work, just don’t stall it. It will cost a little bit more.

Take Care of Your Tiny Motors

Here is one of these can motors being restrained properly. Only torque on the case itself is restrained. The motor is otherwise free to move.
Here is one of these motors being restrained properly. Only torque on the case is restrained. The motor is otherwise free to move.

To touch one other small mechanical consideration. They are not designed to take any axial load at all, or really even any radial load either. Most of them have a plastic or aluminum bronze bushing, press-fit into a simple stamped steel body. So if you design a gearbox for one of these be sure to put as little force as possible on the bearing surfaces. If you’ve ever taken apart a small toy you’ve likely noticed that the motor can slide back and forth a bit in its mounting. This is why.

Lastly, because most of these motors are just not intended to run anywhere near their written maximum specifications it is best to assume that their specifications are a well intentioned but complete lie. Most designs work with the bottom 25% of the max number written on the spreadsheet. Running the motor anywhere near the top is usually guaranteed to brick it over time.

These are useful and ubiquitous motors, but unlike their more powerful cousins they have their own set of challenges to work with. However, considering you can buy them by the pound for cheaper than candy, there’s a good reason to get familiar with them.

The trials of working with brushless DC motors for the first time.

We’ve all worked with DC motors at some point. Even if you aren’t a big hardware person, you’ve probably at least picked up a motor as a kid and touched a battery to the leads causing it to whir to life. These are usually standard DC motors and not their brushless relatives. Brushless motors require a bit more work since you are manually controlling things that are normally taken care of with the brushes. This article won’t teach you how, rather it will show you the mistakes one person made in his inaugural effort to use them. It is mildly amusing, but the project summary that he’s using them for seems even more interesting.

The job that’s been paying my bills and keeping me away from artsy-fartsy circuits for the past six months involves making a set of these enormous robot doors for a Certain Very Fancy Person’s house. Each door is 13 feet tall, around 7 feet wide, and weighs 1500 pounds. There are 66 of them in said house, and more in the servant quarters(!?!). The circuits on board each door have to handle running an onboard air compressor (which regulates a pneumatic weatherseal) as well as keeping track of temperature to linearize the pressure sensors when the weather gets cold. They also have to charge and maintain sealed lead acid batteries. They have commutated power rails. They have to communicate over said power rails, and do so using an capacitively-coupled data slicer and a proprietary protocol I wrote. This protocol has to be robust enough to bootload the processor over. It’s a proper embedded systems job.


[via Adafruit]

Introduction to the H-bridge motor controller

[Chris] sent us this fantastic tutorial, introducing beginners to H-bridge motor drivers. While many of you will consider this stuff basic, those who are trying to expand from building only things the arduino board can handle to bigger more expansive (and powerful) projects will find this quite helpful.  [Chris’s] tutorial is very in depth, not only going through the construction of the basic circuit but also showing you how to make your own PCB.  Pop on over there and learn some theory and some practice. Then you can build that battle bot you’ve always been dreaming of!

Wear a helmet, rollerblades with attitude

Wireless controller, more powerful custom-made motors, stronger frame, and with a name like DeathBlades, we can’t think of a single reason why you would prefer heel treads, well everyone was young at one time.

[Charleg] has been testing out a slightly new frame, despite having only half the motors necessary, and is getting great results hitting around 23Wh/mi. If you’re looking to build your own, his blog has a post for nearly every aspect of the design.

[Thanks Jerome Demers]

Marvelous Magnetic Machines

[HP Friedrichs] wrote in to tell us about an upcoming book titled Marvelous Magnetic Machines. Ordinarily, we skip over promotional hype. After watching his promo video though, we couldn’t help but share. We want a copy of this book. In this book you’ll find details on how to build a number of different motors from scrap. You can see several variations in the promo video. He also notes that the music was created by himself and some friends a few years ago. If [H.P. Friedrichs] sounds familiar, it is because he’s been sending us fantastic projects since at least 2006.