One problem I always run into with rotary motion: gearing. Finding gears of the right diameter, thickness, and thread pitch is always such a stumbling block for me. Most sites that sell gears to fit their motors have a small selection, and sites that sell gears are very hard to navigate (only to find out they don't sell in quantities <1,000 units). I end up having them laser cut out of HDPE online. Wish there was an easier solution.
This was PRECISELY the problem that led me to get a 3D printer. I have successfully printed many gears using PETG for my projects. Now, they are physically bigger than metal gears for the same strength, but that hasn't been an issue in my applications. Using the wishbone-style gear teeth with 3D printing is remarkably sturdy. Of course the other way is: buy motors with (metal) gears that are close to your need - then you only need to 'transform' that motion a little bit.
I also can cut involute gears on the (mini-) lathe or mill. You want to practice this skill because being off just a little means you have a useless part. I have found 3D printing more convenient and forgiving.
Belt drives are also very annoying. Naming conventions are inconsistent and obtuse. Parts materials differ, and a whole lot of stuff seems to be custom.
in Servos and steppers, there are also weird mixes of metric and standard sizes - e.g. Nema 34 motors often have 1/2" (12.7mm) shafts with 5mm keyways. No idea why.
Finding gears or pulleys for my purposes has 100% of the time resulted in some machining and lathe work to take off the shelf parts and make them work for my applications.
The key, if you can, is to choose a NEMA standard motor, there are tons of suppliers you can get a nema gearbox from. They get pretty small, but if it's amaller than the smallest nema size I'd go to a place like stock drive components which stocks thousands of gears.
The challenge is that gear tooth geometry is often more than 2d, so laser cutting may not be the best solution for longevity. For a quick and dirty prototype it's certainly fine.
Stock Drive Products and Berg are the classic US small gear, bearing, and accessories suppliers. I've used those two. KHK (Kohara Gear Industry Co., Ltd, Japan) is now active in the US.
The classic Boston Gear Gearology course is no longer online at Boston Gear, but there's a copy here. This gives a quick overview of the minimum you need to know about specifying gears.
It really comes down to the fact that gear shaping/cutting machines are quite specialized machines. Therefore demand a higher cost to buy (machines cost) and setup (tooling cost).
For example a single gear shaper cutter is on average $700-$1000, and that's for a pretty standard and brand new cutter.
So without taking into account actual time to set up the machine, program it, and feed it material. You are already having a high overhead. So the only real way to deal with that cost is in volume or cost.
But when looking at the hobby market, volume is out of the question (who wants to buy >1000 of one gear for a personal project) and cost is out of the question ( if it's so expensive, I might as well 3D print or laser cut or waterjet some)
So it's an odd market to get into.
If you watch enough tool teardowns (AvE, etc), most gears are sintered metal or plastic. I'm sure large industrial applications use machined gears but it looks like consumer-prosumer space goes for much cheaper fare.
standard gear cutting arbors aren't that expensive, but are often for standard module gears and the gear form is an approximation that applies to a given range of gears.
I came here to say exactly the same thing. I'd love to find a kit or gearbox than can gear up/down a simple stepper motor for Arduino projects. The HDPE laser cut is a good idea though, I'll give that a try.
If you are looking for a super easy way to put a motor with closed loop motion control, I highly recommend Vertiq (https://www.vertiq.co/) modules. They have a built-in position sensor and microcontroller. They have firmware based anti-cogging for smooth motion. I use them in making computer controlled musical instruments by just hooking up the serial interface to an ESP32 and using the Vertiq API to handle all the hard stuff of controlling motors. They really lowered the barrier to working with motors for me. Just be sure you get the right Kv for your project and use voltage limiting for an extra layer of safety.
Do you know if this would be appropriate in, for example, a microscope stage? I use steppers (open loop) to move a stage on bearings, and I would prefer to have closed-loop with position sensing (not movement- actual position- because a single dropped step will ruin an acquisition).
I already work with ESP32 and have done closed-loop DC motor stuff before, so I'm just curious if this is something I could drop in and be happy with.
Yes it would
Another product in this vein, Teknik motors. They're fully integrated, give them power and Connect to them via USB amd program it. Once you program it you can just use the gpio pins on the motor to wire up switches or other types of control. Super easy
Another plug for Teknik. Only used them once, but it was the easiest closed-loop DC servo I've ever used: entire project was done in less than a day.
Contrast with Advanced Motion Controls where it took days of coding before I could even talk to the controller. Not to knock a-m-c: their product is very fast and precise, just far less software help to get going. Manuals are complete but extremely dense reading.
(Price starts at $130)
One thing to note about steppers, If you take them apart they will loose half their torque.
In the factory they magnetize them after assembly. If you take them apart the lower permeability of air causes the rotor to somehow lose much of it's magnetic field. Physicists please chime in, IDK why this happens.
We discovered this after machining some stepper backshells to accept optical encoders.
If you're familiar with electronics: Imagine you have a current source, driving 1 amp through a variable resistor set to a very low resistance. It only takes less than a volt to sustain that current, so your current source is quite happy to do this. Then, without turning off the current source, you increase the resistance: now the current source needs a lot more voltage to sustain that current.
From the current source's point of view, the voltage across the resistor looks indistinguishable from a voltage source pushing back against it. Even though that voltage is coming from the resistive load, even though that voltage only exists across the resistor because of the 1 amp that the current source is itself driving, the load acts the same as a voltage source fighting to drive current backwards into the current source.
Imagine that your current source is not ideal: it has voltage limits. If you want to squeeze the most power out of your current source, you'll set the resistance up such that the resulting output voltage is near the limit of what your current source can handle while still supplying 1 amp. If you increase the resistance further, you'll exceed the voltage rating and possibly damage your current source. Then even if you return the resistance to a low level after that, you might not get 1 amp anymore from that damaged source.
All of this has been an analogy. Permanent magnets are a lot like non-ideal sources that cannot turn off. To squeeze the very most out of the magnet, you want to configure the load such that it's driving the magnet to its limits. When you remove the rotor from the stator, it now has to push magnetic field through air, rather than through steel. This increases the effective demagnetizing load working against the magnet (known as "reluctance", analagous to resistance). It's no different from the magnet's point of view than if you'd looped an electromagnet wire around it fighting against its magnetization. Permanent magnets are magnetized through a hysteresis process, and with a strong enough demagnetizing field, the internal domains can flip and the magnet gets demagnetized.
Perhaps when you slide the rotor past the stator lamination, it demagnetises it a bit? Like those screwdriver demagnetizers
This is fascinating, I hope someone knows the answer.
Is it possible that they magnetized the teeth of the rotor as a Halbach array?
Any permanent magnet demagnetizes partially whenever it is taken out of a closed magnetic circuit.
If the magnet is made from a material with very high coercivity, the demagnetization may be negligible, but it is always recommended to store permanent magnets only with a piece of soft iron in contact with their N and S poles.
To reach the maximum remanence possible for a given material, a permanent magnet must always be magnetized after being assembled in the final magnetic circuit.
What about, say, Neodymium magnets? https://www.kjmagnetics.com/neomaginfo.asp
What I'm asking is: are Neodymium magnets NOT used in these applications?
They are used in these applications, typically very high grade, unless you're buying a legacy product line.
In, say, a hybrid stepper the magnet is usually a wide thin round disc, sandwiched between two steel rotor lamination stacks. With the link below you can examine the BH curve and load line for a Ø20 mm N52 disc magnet, 2mm thick, at 20 degrees C. (It's not exact because this assumes a magnet in free space and neglects the steel of the rotor - but it's an illustration).
You'll notice that the load line (which assumes the magnet is in free air) is already landing within the "knee" where the intrinsic magnetization starts dropping rapidly. That's working too far along the hysteresis curve, where the poles are already starting to flip and demagnetize.
However, if that magnet were surrounded by the steel of the stator, the high permeability of the magnetic circuit would put the load line at a steeper angle, where the magnetic field through the magnet would be much higher. Small changes in permeability around that point would not damage the magnet, but allowing it to fall all the way down below the knee-point would. It would not be completely demagnetized by that, but it would lose some of its original strength.
I feel like there's a gap in the hobbiest motor market.
On the one hand there are stepper motors which can withstand lots of radial load thanks to steel shafts and bearings. They also provide some relative position control and no absolute position feedback (at hobbiest prices).
On the other there are servos, which typically have weak components. Plastic gears, shafts and bushings which cannot withstand radial load. But they do allow control of absolute position.
For many robotics projects, a hobbiest has to choose between servos which are physically weak, or steppers which can tear the project apart if they don't home correctly. And of course the hobbiest has to roll their own safety/endstop system every time.
I'd love something physically like a Nema 14/17 stepper but with a servo interface. However I can't find them anywhere at hobbiest prices. Why are there thousands of good value steppers and thousands of models of servos, but nothing in between, I wonder?
It's worth distinguishing between two completely different types of "servos": RC hobby servos, and industrial-type servos which are robustly built like steppers but significantly more fast, accurate, efficient, and powerful. They are hard to find in Nema 14/17 sizes but not impossible.
RC servos typically have an analog or PWM signal interface. That would usually not be accurate enough for an industrial servo in positioning mode. Industrial servos, like steppers, have a digital interface which might be a serial format or STEP/DIR pulse train. Some drives will accept a -10V to +10V analog signal for velocity or torque control mode.
Anyway, here are some Nema 14/17-sized industrial servos with online pricing, which might be what you're looking for?
Or many companies offer stepper motors with built-in encoders and controllers to prevent missed steps:
Thanks, lots of helpful links there. Much appreciated. Although quickly checking, I suspect they could be over an order of magnitude more expensive than the hobbiest equivalents.
>However I can't find them anywhere at hobbiest prices.
Might put this higher up in your comment. Dynamixel robotics servos exist, but at Dynamixel prices.
Weird stuff has weird prices. If anyone made a useful home robot that sold millions of units then robotics servos would get rapidly cheaper, but that hasn't happened yet.
This is an important point. The low prices of a lot of hobbyist-grade motors and motor controls are driven by their use in consumer electronics. I can buy an entire 4-axis stepper motor controller with drivers for under $100 because they are made by the thousands for laser cutters and 3D printers. OTOH a similar professional controller will set me back at least a few hundred $$, if not a few thousand due to being designed for a harsher environment and for higher reliability.
The second Google result for this book is a chapter preview from the publisher: https://ptgmedia.pearsoncmg.com/images/9780134032832/samplep...
The first result is entire PDF though. I remember back in the old days being a poor student trying to save money spending hours trying to find scans of texts (or making scans in the library). Now it’s the first result in Google! Here’s hoping none of us need to make money through writing…
The PDF version is directly downloadable via the original site posted (http://www.motorsformakers.com/downloads/mfm.zip). They're making money by selling a print version.
That zip doesn't include a PDF (Arduino and Py files code/design files).
> Here’s hoping none of us need to make money through writing…
i'd assume pretty soon hardly anybody can still make money through writing as it's easy to ask chatgpt "write me a book titled Motors for makers: A Guide to Steppers, Servos, and Other Electrical Machines".
or maybe i lack vision, maybe soon chatgpt can answer "should i use a stepper or a servo for my robot arm", or "how do i wire up stepper xyz on CNC machine ABC", or even "design a 3d printer with parts <$100 on ali express".
seems i lack vision.
should i use a stepper or a servo for the robot arm i'm designing ?
Stepper motors are best for precise, open-loop control applications where position and speed can be accurately controlled. They are also a good choice for low-speed, high-torque applications. However, they tend to be less efficient than servo motors and can generate more heat.
Servo motors are best for closed-loop control applications where precise position, speed, and torque control are required. They are also more efficient than stepper motors and generate less heat. However, they tend to be more expensive and less precise than stepper motors.
Therefore, if precise control and speed of the arm are the most important factors, a stepper motor may be the better choice. But if overall efficiency and cost are more important, a servo motor may be a better option.
This advice is not good.
Robot arms should use harmonic drive gearboxes and servos, IMO. In practice, if the loads are not massively high, the important thing is closed loop steppers or servos, with accurate homing routines and good error handling.
Very good point about harmonic drives and backdriveability. I had forgotten that problem.
Maybe they really did ask chatgpt?
man back in my college days (2006-2012), it was a pain in the ass to have books (materials science) and find stuff online. anyway, i was known as "the king of pdfs". because i always knew how to search things. but now the game is in a whole another level and my fame would fall into oblivion!
My trick was searching +"index of" on Google or something like that, I could find all sorts of books that way. What were your tricks?
These days, Libgen is much more convenient.
With that said, I personally prefer buying an official book if available, so that the author can get their royalties. Many publishers even offer DRM-free ebooks.
Does anybody have an address where to shop servos and gearboxes online? Or at least find references through filtering for specific torque/rpm/power/driver resolution... etc.?
I hardly can find something worth looking at outside of ebay.
A lot of websites don't have public price lists but ask you to fill forms and receive quotes, but I don't want to order thousands of these (yet?)...
If you are doing servos and not well versed in these things, I highly recommend clearpath servos from teknic. The wiring is easy and their tuning support is very good (if the auto tune doesn’t work). If you need more power, or AC servos, I suggest DMM Dyn4 drives and servos.
Finally, if you need gearboxes, stepper online has good ones that have held up well for me.
Source: have built/converted several CNCs.
I'll second DMM. Unlike most servo companies, they post their pricelist, making it easy to figure out which tradeoffs you need to make to stay on budget: https://dmm-tech.com/pricing.html
> Does anybody have an address where to shop servos and gearboxes online?
Depends on what kind you are looking for.
In the hobby sphere I know about Servocity, Hobbyking, Pololu, adafruit.
If I were looking for something bigger, more professional range I would check if maybe Farnell or RS Components have it.
Assuming you're talking about AC servos typically used for industrial equipment (and not the DC kind used for robots or RC aircraft), there are kind of two routes you can go.
On the easy hobbyist route, you can get the parts from a nice online store with email support like DamenCNC . You'll need to read the spec sheet to find the speed/torque/resolution though.
On the harder route, you collect a bunch of spec sheets, figure out what features you want, come up with a list of SKUs, find a seller on Alibaba, AliExpress or eBay and ask them for a quote. Not all of them will be responsive but I didn't find it too hard.
For a vague idea of the price, you can usually get the order of magnitude from the listings on the sites I mentioned.
Ultimately though, servos are treated as industrial equipment and take a lot of work for a hobbyist to figure out. If you're not buying a pre-made kit sold by a hobby store, my suggestion is that you should know the manual like the back of your hand and be able to clearly visualise the full installation process step-by-step before you buy anything, as there's a lot of stuff that can trip you up and a lot of ways you can even kill yourself. Servo drivers don't have nice AC wall plugs for example, they have screw terminals, so you need to be able to wire mains voltage electricity without giving yourself an electric shock or causing a fire. The manuals usually say you should get a professional electrician to handle it. All the cables are non-standard and usually per-series so you need to make sure you buy the right ones. The list goes on...
"Surely I just feed it electricity and it spins" you might think but unfortunately it's not that simple. These motors are deceptively complex things.
As others have mentioned though, Teknic is a thing. Those motors are much simpler, they're designed as drop-in replacements for stepper motors and they have an easy to use online store.
I'm not a fan though, for a similar dollar amount and several orders of magnitude more stress and time, you can have high-end A3 servos from Delta with more features than you'll ever need. The encoder is 24-bit! You'll never be able to accurately use that resolution without precision engineering and temperature control but it's nice to know it's there.
I'll say for completeness here (having mentioned Clearpath servos in another comment) that DC clear path servos are totally fine for "semi" industrial uses. I have them on a bed mill I am restoring, and with a good ballscrew I can easily move a 300lb Z axis at 200inches/minute without torque saturation.
That said, they are simple because they are limited. They give you only 3 inputs: Enable, Step, Direction. they give you one output called "High level feedback" and BOY OH BOY is it high level. it is basically only useful for basic error detection. In the software you have pretty cool tuning options - a visual oscilloscope, the RAS feature (which is really good for DIY CNC machines), and encoder resolution selection.
A DMM, or especially a Delta, will give you a lot more IO to the motors, and a lot more stuff to play with. E.g. direct access to the encoder position (even if the motor is not active), many more error states, warnings, etc. and some more condition specific tuning.
Last bit on clearpaths. I've been talking about the SDSK series motors. those are controlled from an external controller through pulses like stepper motors. They have other series of the same motors that interface differently. Specifically, they have some motors designed to interface with microcontrollers and have a really nice set of C libraries for doing all the basic motor control stuff. If you are building things like conveyor belt automations or material handling stuff, the clearpaths are very much an "easy button" compared to nearly every other kind of motor on the market IMO.
I agree, love their motors for simple applications where you don't want to write software
Thank you for this comprehensive comment. I appreciate it.
I did the drawings of several drones and robot arms, and accurately computed the needed torque. I target specific precisions for several applications.
I’m a mathematician so the math is straightforward to me though as you said, it’s super easy to overlook something without the appropriate experience, especially since it’s cross disciplinary (ME, EE, SE… etc. All at once yeah!)
I found these for instance on eBay:
I can get from them more than 120Nm with the appropriate planetary gearbox without sacrificing too much speed and even more with gas springs compensating the static loads… theoretically… but I’m a bit skeptic about the announced 12Nm and the 51200microsteps/rev resolution for instance.
I think it’s better (in my case) to have access to maximum IO on the encoder side.
I’ll double check the electrical installation with a pro for sure, I already did a mistake in the past that almost destroyed the house boiler in the middle of the winter… lesson learned.
I second teknik motors, also check automation direct,misumi, or even ebay/Ali express
Am I missing something? It doesn't seem like this book is available online to read, just TOS and link to Amazon to buy paperback version.
Also it seems to be from 2015, which makes it almost more strange to post (especially without tagging the year).
Perhaps it is just being ackowledged as a time-less epic classic, I don't know.
Doesn't seem so, classics will probably not have dedicated chapters for showing how to control motors with Arduino and such. I think it is nice to know the differences between different motors, but I would rather read an article about this instead of buying a book.
Felt like an ad, even though I could imagine that someone would want to post this out of normal interest.
For someone wanting to get into "making",is there a good set of starter resources like this?
Software I'm comfortable with, but I'm not really familiar with all of the physical components or how to put them together, when you might use each, etc...
My issue with motors is that all of their problems seem mechanical in nature to me.
I don't think anyone will really have a problem wiring up an H-bridge or whatever to run a motor.
I'm personally wondering how to use the physical properties of a motor to like, move Magic The Gathering cards around, or other real world tasks.
It very quickly becomes a mechanical levers / pullies / motion kinda problem, rather than electrical. And I have no idea how to study mechanical engineering.
Like: how does a damn printer pick up just one piece of paper? Yeah yeah, there is a motor involved, but it's not the hard or interesting part.
There has to be little rotating mechanical fingers, the shape of the basin, the winding path the paper takes internally. Who designed that? How do I study that stuff?
> Like: how does a damn printer pick up just one piece of paper?
Ah, the task of Singulation! The answer is "with a lot of difficulty" :-)
I used to work for a large corp whose specialty is building high-speed paper handling machines for offices and industry. It is a far harder task than it seems on the surface.
A lot of that stuff is internal industry knowledge that people learn by working for a company that already does it. It probably started out with people experimenting. You don't learn that in a mechanical engineering degree.
Though printers use rubber rollers on the top sheet in the pile so the friction between the rollers and sheet is greater than the friction between sheets and therefore only the top sheet is fed by the rollers.
...and often a second roller on the underside, slightly forward and running in the opposite direction to strip off any sheets that adhere to the top one.
I’ve been diving in the past few years. You end up having to learn a lot of things. And need a lot of tools. Id compare it to woodworking. You can’t really “just start” woodworking one day without buying some tooling and supplies. I’ve amassed a big little workshop over the last few years.
I find the best way to get started is to have an idea of something you want to make, then just buy what is needed for that.
Pick a microcontroller first. Arduino is popular and well documented. Raspberry Pi is overkill in my opinion. I find I like the NodeMCU. The mini D1 specifically as it as an ESP8266 for Wi-Fi support. If you need Bluetooth or whatever look for the ones you need. And use the Arduino IDE to program and code it. From there, most motors need a motor drive and there’s a million of those and it’s typically a separate board (breakout board). You want to stock up on breadboarding supplies.
Openbuilds.com store is great if you have the need and budget for this type of items. You can get anything to build most any type of contraption and generally know it’s going to fit together if you plan correctly.
YouTube is your best resource. I like reading text when it comes to software but reading electrical diagrams is hard for me and it’s so much easier if I can watch someone else. They often tell you the little gotchas too.
Amazon is good for almost everything else. If you’re like me you’ll end up placing 50 orders in the first 2 months. The hardest part is no retail store, even hobby shops, stock these types of items.
I will say I don’t find kits particularly helpful. They can be fun, but at the end of it you’ve just followed the directions and didn’t really learn anything. It’s like putting an ikea dresser together, if you’re trying to learn how to build furniture it’s not very helpful.
EE is my day job so I may be biased towards more formal resources.
Sparkfun, Adafruit, etc have some good stuff to get you off the ground and building projects almost right away. I think they're great "taster" in how circuits work and what some of the components are for.
Khan Academy has a course for EE, I haven't used it but I've used the site for other stuff like brushing up of my math.
Manufacturers actually make some really nice training materials, if you like analogue stuff, TI's Precision Labs series is a great resource for that. Analog Devices has an intro to electronics wiki series too. https://wiki.analog.com/university/courses/electronics/text/...
For a deeper look, an undergraduate electronics textbook will hold your hand from the very basics through to more advanced concepts. You can ignore some of the more advanced stuff like AC analysis and non-linear components for the most part (Unless they interest you!)
I learned from this book (https://www.pearson.com/en-gb/subject-catalog/p/electronics-...) and found it quite approachable in how it laid out the basics before contextualising them as systems.
Theres also the famous Art of Electronics which is a good book but personally feels a bit dated (even with the new edition) and really analogue heavy. A good reference manual though.
IMO buying a hackable 3D printer is the best way to get practical experience with kinematics, motors, stepper controllers, etc. The standard recommendation is to buy an Ender 3, but it’s very slow by today’s standards. I’d recommend Flsun V400, it prints almost as fast as the state of the art, but has no proprietary components, and comes (almost) pre-assembled.
Another good resource is Jeremy Fielding's YT channel.
I was going to post this too! He's got a great series on motors
One of my projects for this year will be getting a slightly bigger AC motor (say a 0.5-1 HP asynchronous motor) and integrating that into a more well-finished project. I have a decent grasp of the software parts and have done some projects with servos and steppers, but using bigger motors has eluded me so far.
in case the author is reading this:
I would suggest to add an affiliate tag to the Amazon link. I once heard that authors make more from the affiliate program than from the book itself. Maybe a modern anecdote but yeah... costs you nothing. As you don't get rich by the book itself, atleast you get some few dollars through the link!
VESC (vesc-project.org) is worth checking out if you need (low) triple digit watts and a PMSM/BLDC motor is suitable.
You can interface via UART and CAN and a bunch of other analog/digital options as well
how does one protect the microprocessor from the back EMF? Do you need an optoisolator?
That answer would depend on the type of motor.
For a DC motor, they are rarely connected directly to the microcontroller. But you can put a diode across the motor terminals to minimise any back EMF.
A stepper would typically have a driver circuit between the microcontroller and the motor.
A small servo would usually just need one signal connection to the microcontroller, there's no back EMF via that path. You would of course also need common ground.