The usual go-to when building a simple robot arm is the ever-pervasive hobby servo. However, these devices are not precise, and are typically jerky and unreliable. They have their advantages, but if strength is not needed a stepper motor would provide much better motion in the same price range.
Those are the lines along which [Bajdi] was thinking when he forked the Mearm project, and adapted it for small stepper motors. First he tried printing out the servo version on thingiverse. It worked, but the parts were not ideal for 3D printing, and he didn’t like the movement.
So he purchased some 28BYJ-48 motors. These are tiny little geared steppers that tend to show up in the odd project. He modified and simplified the files in FreeCAD. With the addition of a CNC shield and an Arduino he had every thing he needed for the upgrade. A servo is now only used for the gripper.
The robot is almost certainly weaker in its payload ability, but as you can see in the before and after videos after the break, it is dramatically smoother and more accurate.
Last November, after [HomoFaciens]’ garbage-can CNC build, we laid down the gauntlet – build a working CNC from cardboard and paperclips. And now, not only does OP deliver with a working CNC plotter, he also plans to develop it into a self-replicating machine.
To be honest, we made the challenge with tongue firmly planted in cheek. After all, how could corrugated cardboard ever make a sufficiently stiff structure for the frame of a CNC machine? [HomoFaciens] worked around this by using the much less compliant chipboard – probably closest to what we’d call matboard here in the States. His templates for the machine are extremely well thought-out; the main frame is a torsion box design, and the ways and slides are intricate affairs. Non-cardboard parts include threaded rod for the lead screws, servos modified for continuous rotation, an Arduino, and the aforementioned paperclips, which find use in the user interface, limit switches, and in the extremely clever encoders for each axis. The video below shows highlights of the build and the results.
True, the machine can only move a pen about, and the precision is nothing to brag about. But it works, and it’s perfectly capable of teaching all the basics of CNC builds to a beginner, which is a key design goal. And it’s well-positioned to move to the next level and become a machine that can replicate itself. We’ll be watching this one very closely.
Give some mundane, old gear to an artist with a liking for technology, and he can turn it into a mesmerizing piece of art. [dmitry] created “red, an optic-sound electronic object” which uses simple light sources and optical elements to create an audio-visual performance installation. The project was the result of his collaboration with the Prometheus Special Design Bureau in Kazan, Russia. The inspiration for this project was Crystall, a reconstruction of an earlier project dating back to 1966. The idea behind “red” was to recreate the ideas and concepts from the 60’s ~ 80’s using modern solutions and materials.
The main part of the art installation consists of a ruby red crystal glass and a large piece of flexible Fresnel lens, positioned in front of a bright LED light source. The light source, the crystal and the Fresnel lens all move linearly, constantly changing the optical properties of the system. A pair of servos flexes and distorts the Fresnel lens while another one flips the crystal glass. A lot of recycled materials were used for the actuators – CD-ROM drive, an old scanner mechanism and old electric motors. Its got a Raspberry-Pi running Pure Data and Python scripts, with an Arduino connected to the sensors and actuators. The sensors define the position of various mechanical elements in relation to the range of their movement. There’s a couple of big speakers, which means there’s a beefy amplifier thrown in too. The sounds are correlated to the movement of the various elements, the intensity of the light and probably the color. There’s two mechanical paddle levers hanging in there, if you folks want to hazard some guesses on what they do.
Servos are extremely versatile actuators used in a large number of applications which need controlled mechanical movement. The usual way of driving them is by using a PWM output from a micro-controller. But if you’re building a robot or a drone which requires a large number of servos, then it makes sense to add smarts directly to the servo.
[Alvaro Ferrán Cifuentes] did just that by building IntelliServo – an add on board which makes regular servos smart by giving them enhanced capabilities as found in high-end versions. His approach is different compared to other takes on this theme. The IntelliServo is designed to replace the electronics in any regular servo and is not limited to any particular make or type. Once upgraded, it’s possible to read the servos position, temperature and current consumption. This allows interesting uses, such as controlling one servo by moving another one, or detecting collision or stalling by monitoring the servo current. Multiple servos can be daisy-chained and controlled over I²C from a micro-controller, or over USB directly from a computer. Each board features an LPC11U24 32-bit Cortex-M0 micro-controller, a DRV8837 motor driver, a TMP36 temperature sensor and a PCA9508 I²C repeater.
The project is open source and the Github repository contains the board design, Arduino library and examples, servo firmware and mechanical parts as well as use instructions. It’s a modular design which allows using either an external controller or running it directly via the on-board micro-USB socket. Check out the videos after the break to see the IntelliServo in action.
[Brian Harms] made his living room window blinds open and close automatically using servos, an Arduino, and a SmartThings Arduino shield. Best of all, it’s connected to his Amazon Echo so that merely saying “Alexa, turn on/off the blinds” will open and close them.
To accomplish the feat [Brian] used two laser cut acrylic gears; one of which was attached to the servo horn, and the other to the long square rod running the length of the blinds. Despite using the bulky Arduino and shield, the finished product is inconspicuous and streamlined, and the single Arduino controls all three of the blinds in the living room. [Brian] answered a bunch of questions on a Reddit thread.
Micro servomotors are a hacker staple. You’ll find maybe four or five in an RC plane, while a hexbot build could soak up a dozen or more of the cheap and readily available devices. Unfortunately, long-throw linear actuators are a little harder to come by, so it’s nice to know you can 3D-print linear gearing for standard micro RC servos and roll your own.
Currently on revision 2, [Roger Rabbit]’s design is not just a quick and dirty solution. He’s really thought through the problems he observed with his first revision, and the result is a robust, powerful linear actuator. The pinion fits a trimmed servo crank arm, the mating rack is stout and stiff, and early backlash problems have been solved. The whole case is easy to assemble, and as the video below shows, the completed actuator can lift 300 grams.
We like [Roger]’s build process, especially the iterative approach to improving the design. We’ll stay tuned to see where it goes next – a continuous rotation servo for extra-long throws? While we wait, you might want to check out [Richard Baguley]’s recent primer on servos if you want a little background on the underlying mechanism.
How do you make things move? You add in a motor that converts electrical energy into motion. That’s a simple idea, but how do you know where the motor is? That’s where the servo motor comes in. By adding a sensor and a controller to the mechanism, these motors can figure out how far they have rotated and maintain that setting without any need for external control.
What is a Servo Motor?
These neat devices can be large or small, but they all share the same basic characteristics: a motor connected to a gearing mechanism and an encoder that detects the movement and speed of the motor. This combination means that the controlling device doesn’t need to know anything about the motor itself: the controller on the servo motor handles the process of feeding the appropriate power to the motor until it reaches the requested position. This makes it much easier to build things with servomotors, as the designer has already done all the hard work for you.
The first place that most people encounter a servo motor is in the small hobby servos that are used in remote control vehicles. Manufactured by companies like Hitec and Futaba, these drive a gear or arm that transfers the rotation of the motor to perform tasks like turning a wheel to steer a car, moving a control surface on an RC plane, or any task that requires a small range of motion at high precision. The gearing in the servomotor offers more torque than connecting the shaft directly to the motor. Most hobby servos of this type are restricted to a certain range of motion (usually 180 degrees) because the position encoder is a simple potentiometer connected to the output shaft.
Servomotors usually have three connection wires: a power line, a ground line and a signal line. The signal line is fed a pulse width modulation (PWM) signal that determines the angle that the servomotor moves to. As the name suggests, the length of the pulse (or the width, if you look at it on an oscilloscope) is the thing that controls the angle that the servo moves to: a short pulse (1 millisecond) sets it to the zero angle, while a long pulse of 2 milliseconds sets it to the maximum angle. A pulse length between these two limits signals the servomotor to move to the corresponding angle: 1.5 ms would set it to 90 degrees.
It is important to note that servomotors and stepper motors are not the same thing. Both are used for positioning, but steppers usually run without feedback. Instead, steppers turn (as the name suggest) in discrete steps. To figure out where a stepper motor is requires a limit switch, then driving the stepper until this is triggered. Then if you keep count out the number of steps that it’s traveled, you know where it is. That’s why devices like inkjet or 3D printers will move to their limits when they start up, so the controller can detect the far limit of the mechanism being driven, and calculate the current position from that.
How Do You Use A Servomotor?
Because the designers of servomotors have done most of the hard work for you, servomotors are very easy to use. To drive them, you just need to feed them power (usually 5V) and feed the PWM signal to the servomotor. You can drive them directly from an Arduino or similar microcontroller using a library that converts an angle into a PWM signal on one of the output pins.
Each servomotor requires a dedicated output pin if they are being driven this way, though, so if you are driving a lot of servomotors, a dedicated controller makes more sense. Devices such as the Adafruit Servo Shield and the Pololu Maestro allow you to control multiple servos from a single output pin on the microcontroller: the microcontroller sends a signal to the device addressing each servo in turn, and the device converts this into the PWM signals for each. If you need to drive a lot of servos, the SD84 can control up to 84 servos at once from a single USB port.