Arduino Drives Seventeen Stepper Motors, Carefully

It’s fair to say that building electronic gadgets is easier now than it ever has been in the past. With low-cost modular components, there’s often just a couple dozen lines of code and a few jumper wires standing between your idea and a functioning prototype. Driving stepper motors is a perfect example: you can grab a cheap controller board, hook it up to a microcontroller, and the rest is essentially just software. But recently [mechatronicsguy] wondered if even that was more hardware than was technically necessary to get the job done.

It’s not that he was intentionally looking to make things more complicated for himself, of course. His rationale was entirely economic; if you’re looking to drive a dozen or more stepper motors, even the “cheap” controllers can add up. So he started to wonder if he could skip the controller entirely and connect the stepper motor directly to the digital pins of an Arduino. Generally speaking this is a bad idea, but if you’re careful and are willing to take the risk, [mechatronicsguy] is living proof it’s possible

So what’s the trick to running a whopping seventeen individual stepper motors directly from the digital pins of an Arduino Mega? Well, to start with you’re not going to be running the beefy NEMA 17 motors like you might find in a 3D printer. [mechatronicsguy] is using the diminutive (and dirt cheap) 28BYJ-48, a light duty stepper used in many consumer products. Even with this relatively tiny motor, you need to crack open the case and cut a trace on the PCB to switch it from unipolar to bipolar.

Beyond that, you need to be careful. [mechatronicsguy] reports he’s had success running as many as ten of them at once, but realistically the fewer operating simultaneously the better. This is actually made easier due to the relatively poor specs of the 28BYJ-48 motor; its huge eleven degree step size means its not really susceptible to the same kind of slippage you’d get on a NEMA 17 when powered down. This means you can cut power to all but the actively moving motor and be fairly sure they’ll all stay where you left them.

With as popular as the 28BYJ-48 stepper is, there are several projects this “quick and dirty” method of interfacing could potentially work with. This small “barn door” star tracker is an obvious example, but we’ve also seen some very nice robotic arms built with these low-cost motors which could benefit from the technique.

New Part Day: ST’s New 3D Printer Motor Driver

ST has released a new evaluation board for a stepper motor driver. It’ll plug right into your 3D printer, and if you’re looking for a chip to build a cheap 3D printer controller board around, this might be the one.

We’ve come a long way in the field of stepper motor drivers in just a few short years. The first popular driver for RepRap electronics was ‘the Pololu’, a stepper motor carrier board using Allegro’s A4988 driver. If you had a big heat sink, this driver could deliver 2 A per coil, operated between 8 and 35 V, and had microstep resolution down to 1/16th. Was it the best stepper driver around? No, but it was cheap, it was everywhere, and RAMPS, the popular RepRap control electronics picked up on its pinout and accidentally created a standard. The DRV8825 motor driver from TI followed next, with microstepping down to 1/32nd, a little more current per coil, and arguably a better thermal design.

Then the wave of Trinamic drivers happened. The Trinamic TMC2100 was a silent stepper motor driver when running a motor at medium or low speeds. With this driver, you could run a motor more efficiently, which means the motor doesn’t get as hot. There are diagnostics via SPI. Tom liked it, and now in every Prusa i3, you’ll find a bunch of Trinamic drivers.

ST’s new offering, the STSPIN820, doesn’t have the fancy-schmancy features the Trinamic driver does, but the chip itself is fantastically cheap, at about 1/5th the price of a Trinamic driver. As far as feature set, you should probably look at this new chip as an upgrade to the A4988, with much higher microstepping and slightly higher current handling.

If you’d like to experiment with the evaluation module, you can grab one from an ST distributor; at the time of this writing, there were seventeen of these modules available worldwide. If you’d just like to play with the STSPIN820 motor driver chip, ten thousand are available between Mouser and Digikey, starting at $2.97 in quantity one. If someone could tell electronics manufacturers to build more than a dozen evaluation boards at a time, that would be great.

Raspberry Pi Zero Stepper Driver, First of Many Modules

The Raspberry Pi in general (and the Zero W model in particular) are wonderful pieces of hardware, but they’re not entirely plug-and-play when it comes to embedded applications. The user is on the hook for things like providing a regulated power source, an OS, and being mindful of proper shutdown and ESD precautions. Still, the capabilities make it worth considering and [Alpha le ciel] has a project to make implementation easier with the Raspberry Pi Zero W Stepper Motor Module, which is itself part of a larger project plan to make the Pi Zero W into a robust building block for robotic and CNC applications.

[Alpha le ciel] is building this stepper motor module as the first of many Raspberry Pi hats meant to provide the Raspi with the hardware for robotics applications. This module, in particular, features two A4988 stepper motor drivers, a connector for a power supply or battery providing 7-20V, and a buck converter to bring that power down to the 5V needed by the Pi itself. All the relevant pins are broken out onto the Pi’s GPIO header, making this module the simplest way possible to add a pair of motors to a Pi. What does that mean? Printers or self-balancing robots, really whatever you want.

A stepper driver that conforms to the footprint of the Pi Zero is a good start, and the larger concept of creating additional modules is a worthy entry to the Hackaday Prize.

Optocouplers: Defending Your Microcontroller, MIDI, and a Hot Tip for Speed

Deep in the heart of your latest project lies a little silicon brain. Much like the brain inside your own bone-plated noggin, your microcontroller needs protection from the outside world from time to time. When it comes to isolating your microcontroller’s sensitive little pins from high voltages, ground loops, or general noise, nothing beats an optocoupler. And while simple on-off control of a device through an optocoupler can be as simple as hooking up an LED, they are not perfect digital devices.

But first a step back. What is an optocoupler anyway? The prototype is an LED and a light-sensitive transistor stuck together in a lightproof case. But there are many choices for the receiver side: photodiodes, BJT phototransistors, MOSFETs, photo-triacs, photo-Darlingtons, and more.

So while implementation details vary, the crux is that your microcontroller turns on an LED, and it’s the light from that LED that activates the other side of the circuit. The only connection between the LED side and the transistor side is non-electrical — light across a small gap — and that provides the rock-solid, one-way isolation.

Continue reading “Optocouplers: Defending Your Microcontroller, MIDI, and a Hot Tip for Speed”

Glorious Body of Tracked ‘Mad Mech’ Started as Cardboard

[Dickel] always liked tracked vehicles. Taking inspiration from the ‘Peacemaker’ tracked vehicle in Mad Max: Fury Road, he replicated it as the Mad Mech. The vehicle is remote-controlled and the tank treads are partly from a VEX robotics tank tread kit. Control is via a DIY wireless controller using an Arduino and NRF24L01 modules. The vehicle itself uses an Arduino UNO with an L298N motor driver. Power is from three Li-Po cells.

The real artistic work is in the body. [Dickel] used a papercraft tool called Pepakura (non-free software, but this Blender plugin is an alternative free approach) for the design to make the body out of thin cardboard. The cardboard design was then modified to make it match the body of the Peacemaker as much as possible. It was coated in fiberglass for strength, then the rest of the work was done with body filler and sanding for a smooth finish. After a few more details and a good paint job, it was ready to roll.

There’s a lot of great effort that went into this build, and [Dickel] shows his work and process on his project page and in the videos embedded below. The first video shows the finished Mad Mech being taken for some test drives. The second is a montage showing key parts of the build process.

Continue reading “Glorious Body of Tracked ‘Mad Mech’ Started as Cardboard”

See This Slick RC Strandbeest Zip Around

Bevel gears used to mount motors vertically.

Theo Jansen’s Strandbeest design is a favorite and for good reason; the gliding gait is mesmerizing and this RC version by [tosjduenfs] is wonderful to behold. Back in 2015 the project first appeared on Thingiverse, and was quietly updated last year with a zip file containing the full assembly details.

All Strandbeest projects — especially steerable ones — are notable because building one is never a matter of simply scaling parts up or down. For one thing, the classic Strandbeest design doesn’t provide any means of steering. Also, while motorizing the system is simple in concept it’s less so in practice; there’s no obvious or convenient spot to actually mount a motor in a Strandbeest. In this project bevel gears are used to mount the motors vertically in a central area, and the left and right sides are driven independently like a tank. A motor driver that accepts RC signals allows the use of an off the shelf RC transmitter and receiver to control the unit. There is a wonderful video of the machine zipping around smoothly, embedded below.

Continue reading “See This Slick RC Strandbeest Zip Around”

Improving Cheap Laser Engravers For PCB Fabrication

A few months ago, [Marco] picked up a cheap, cheap, cheap laser engraver from one of the familiar Chinese resellers. It’s a simple affair with aluminum extrusions, a diode laser, and a control board that seems like it was taken from a 3D printer controller designed five years ago. Now, [Marko] is building some upgrades for this engraver and his PCB production skills have gone through the roof.

The laser engraver [Marko] picked up is called the EleksMaker, and lucky for him there are quite a few upgrades available on Thingiverse. He found two 3D printable parts, one that keeps the belt parallel to the aluminum extrusion, and another that provides adjustable x-axis tightness on the belt. With these two mods combined, [Marko] actually has a nice, smooth motion platform that’s more precise and makes better engravings.

These upgrades weren’t all 3D-printable; [Marko] also got his hands on a few Trinamic TMC2130 stepper motor drivers. These stepper drivers are the new hotness in 3D printing and other desktop CNC machines, and looking at the waveform in an oscilloscope, it’s easy to see why. These drivers produce a perfectly smooth waveform via interpreted microstepping, and they’re almost silent in operation. That’s terrible if you want to build a CNC chiptune player, but great if you want smooth engraving on a piece of copper clad board.

This project has come a long way since the last time we took a look at it a few months ago, and the results just keep getting better. [Marko] is making real PCBs with a laser engraver that cost less than $200, and the upgrades he’s already put into it don’t add up to much, either. You can take a look at [Marko]’s progress in the video below.

Thanks [dechemist] for the tip.

Continue reading “Improving Cheap Laser Engravers For PCB Fabrication”