I find the sound of the Nomad’s stepper motors to be really annoying and after watching this video it seems that this is a problem that can be solved by more advanced stepper drivers, at least for some machines like that laser cutter.
This came up briefly here but I didn’t see the apparent noise advantage of the Trinamic stepper drivers raised.
Does anyone have any clue whether replacing the stepper drivers will or won’t make the steppers quieter? To be clear, I think I’d end up replacing the Carbide Motion board with something completely different, I don’t have any crazy ideas of altering the existing board or anything.
On a related note, does anyone know what kind of steppers these are (e.g. amperage and torque rating)? What I know so far:
They’re NEMA 17-sized
They’re ~40mm long
They have to be 2.5A or less and 8-35V because that’s what the DRV8818 supports
Looking at steppers that fit those criteria, they’re probably ~45Ncm and 1.5-2A.
They claim that the main benefits of the silent tech are had at low velocity but from the second document, it doesn’t look like the drop in torque at high velocities is all that much.
I think I’m just going to have to buy a controller and try hooking it up to the Nomad’s steppers to see what happens.
I noticed the X-axis has 17HS3401A-339IN, “JUGETEK” and “194320” written on it. So it’s made by this company. I can’t find the particular motor there however.
Lost most of what I wrote here before the server died but TL;DR:
The stepper drivers on my Carbide Motion board are Allegro A5977 rather than TI DRV8818s.
I successfully hooked up Trinamic TMC2209 stepper drivers.
Hooking up a new controller to the Nomad’s steppers is fairly straightforward. I was able to hook up both an Arduino Uno running GRBL and an Arduino Due running g2core without any problems.
The Trinamic stepper drivers make a huge difference to the noise levels. At low speeds the steppers are completely silent. At higher speeds they’re very quiet and much less obnoxious than they are when driven by the stock drivers.
So the noise issues I had with the steppers were absolutely the fault of the TI DRV8818 stepper drivers.
If anyone is interested I can try to record a short clip comparing the noise produced by each set of drivers.
The big open question is how the steppers run while cutting. I haven’t tried that yet.
I don’t have a Nomad, but I’d still be interested in seeing some footage that compares the two; better yet, if you have footage with a way to measure sound levels.
I’m documenting this to be as reproducible as I can so that anyone who has ideas/critique can suggest improvements.
If you’re just interested in videos/pictures, skip to the bottom.
Equipment
Nomad, with the back removed for easy access to the control box
Note: this means the Nomad was louder than it would be in normal operation, do not take the noise readings to be a good indication of the sound you’ll hear in normal operation
Another note: My Nomad has sound-insulating rubber on the bottom to stop vibrations into the surface it rests on, this may reduce noise relative to a stock Nomad
Note: the RSP-320-24 has a fan built in, so you’ll hear wooshing in the background of the TMC2209 videos, resulting in a higher baseline noise level.
Pixel 4 XL for recording video
iPhone 11 with the Decibel X app for measuring noise levels
Setup
I set up the Nomad with:
Stock drivers
TMC2209 drivers in “StealthChop” mode (the one that’s meant to be silent)
TMC2209 drivers in “SpreadCycle” mode (the “normal” mode)
Method
I first homed the machine with the stock controller, then powered it down
For each run:
Turn on the machine but don’t home it, so that the following GCODE can run verbatim on both controllers (I didn’t connect the Arduino to the limit switches)
The stock drivers are noisy as heck. If you look at the report, you’ll see that it peaks at 78dB (as loud as a truck) and if you look at the graph, the average noise level is around 70dB (as loud as a car) at all speeds.
At the lower feed rates, StealthChop and SpreadCycle are both essentially silent. StealthChop doesn’t even register above the ~44dB background noise until ~400 mm/min and it does so just barely. For the most part, StealthChop is around 60dB (conversation) but it does peak at around 70dB (car) when moving at 2600 mm/min.
SpreadCycle though does very well at higher speeds, peaking at a mere 60dB (conversation), a full 18dB quieter than the stock drivers.
If you combine StealthChop and SpreadCycle (which Trinamic recommends, automatically switching is built into most of their drivers), your steppers should be essentially silent below 400 mm/min and peak at 60dB when running at higher speeds.
Finally, it should be repeated that I’m running my machine with the back removed, so all the sounds go straight into the air. When running this normally, it’ll be even quieter.
TL;DR: The Trinamic drivers turn a machine that makes as much noise as a truck into a machine that makes as much noise as a conversation.
Minor update: I redid the tests with the iPhone on a tripod instead of the ground leaning against the machine. I also tried a Gecko driver. This time I only tested the Y-axis because I was lazy, so these results are not comparable to the earlier results.
The video now also has a decibel overlay. This app is handy like that.
I found it really interesting that the expensive Gecko driver ($150 GR214V) that seems to be all the rage in the big-boy world performed so poorly compared to the $20 Trinamic drivers. I suppose the Gecko’s features are targeted towards larger machines.
One thing I definitely noticed about the Gecko though was that despite being not so much quieter than the stock Nomad drivers, the quality of the noise was much less grating on the ears. The Nomad’s drivers are like nails on a chalkboard to me while this felt more like normal motor sounds.
I’m curious, does anyone have a lot of experience with Gecko drivers? Is there a reason why they might be preferred over Trinamic drivers on a Nomad?
Also @robgrz and @RichCournoyer, you both commented on the original post that mentioned Trinamic, do you have any thoughts about these results? Given the Nomad is a desktop CNC where noise is a concern, these quiet drivers seem like a pretty great benefit.
Love the thoroughness here. Since this discussion started I have been paying more attention to the various noises and in fact have been capturing noise samples as part of experimenting with TiCN coating end mills on aluminum (data to be processed) and was somewhat surprised the amount the steppers contribute to the overall noise profile. Note I don’t have the same low noise requirements @Moded1952 but fascinated…
I guess the next step is testing the difference in torque delivery between the different drivers?
Not a bad idea. Any ideas about how to test the torque?
I have a luggage scale which uses a hook, maybe I could attach it horizontally and see how far the bed can pull it before stalling?
I think there’s a little more to them than high power, though I’m not sure what. I noticed that the noise out of the Gecko driver was more consistent and sterile than the Nomad drivers, which have a lot of “character” (like a creaky house has “character”).
I also have Gecko’s much cheaper G251X, maybe I should test it too…
Couple more updates. First, the less interesting one: I tested a Leadshine EM542S driver: Video, PDF
I’d say it’s a tad better than the Gecko driver but not nearly as good as the Trinamic. For some reason it gets crazy loud at 800mm/min, like stock driver loud. It performs quite well at low speeds though.
The more interesting one: I made a kind of “breakout board” for the Nomad. It has two purposes:
Act as a molex -> screw terminal bridge for the stepper motors, so that they can be easily connected to arbitrary drivers (like Leadshine or Gecko). Same for the McGillicutty.
Act as a carrier board for Polulu-style stepper drivers, in my case the Trinamic TMC2209 drivers.
My next step is to measure torque but I’m almost certain at this point that the Trinamic drivers will end up the overall winners due to their crazy quietness. The only reason I can see myself not using them is if they don’t actually produce enough force that the endmill can cut.
Really not sure how to measure the torque though. A luggage scale is the best idea I have right now.
No, I’m not using those, I’ve just tested them. I’m using Eding-CNC. I had a long look at all the options available and it stood out as the best for me.
Other options I considered:
GRBL: Too primitive. Doesn’t seem likely to become less primitive, as it’s limited by the ATmega it runs on.
TinyG: Seems to be mostly abandoned in favour of g2core.
g2core: Seems like beta-quality software at the moment. Maybe worth another look when they finally release the board they’ve been working on for the past few years.
Mach3/4: Windows-only, expensive, uses the PC as the controller?
PlanetCNC: Expensive.
LinuxCNC: Didn’t look bad but looks like a whole lot more screwing around to get it to work. Uses the PC as a controller.
Eding-CNC is very affordable (219€ for a CPUA3 + software license) and has a ton of features I consider fairly high-end (particularly its macros). It’s also very well documented.
Specifically, I went with the CNC720, which is overkill but I bought it with an eventual upgrade to a larger machine or addition of a 4th axis in mind.
EDIT: I missed stock in the list. I don’t like Carbide Motion because of its lack of documentation and hackability. It’s not treated as a CNC controller in its own right but as a closed, integrated component of a Nomad or Shapeoko. In particular, as you might have guessed from this thread, I want to replace the stepper drivers.
For anyone who’s interested, the new controller is now 100% up and running. Everything works. Stepper driver, spindles, homing switches, the whole shebang.
One thing I love about this new controller is that it works over ethernet. No need to fiddle with short USB cables anymore.
I decided to forgo the torque tests. Some of the drivers I ordered had short return policies so I didn’t have enough time. Plus, I’m fairly confident that unlike noise, torque will remain pretty consistent independent of the drivers used, so long as they output similar voltage/current.
I do need to tune the current though. I think 1.8A RMS/2.4A peak is too much.
Anyhow, it works. I think the next step is PCB V2. I think I want a PCB with some kind of microcontroller onboard that I can connect to the Polulu configuration pins for easy configuration (e.g. changing microsteps, config over SPI/UART for Trinamic drivers).
I have two ideas in mind on that note:
I could basically add an Arduino to the board and in that case I’d basically have a new GRBL board. This makes SPI/UART more difficult though because the ATmega328P doesn’t have reconfigurable pins like the ESP32. Software UART/SPI would work but I prefer to use hardware.
I could add an Espressif IC chip like an ESP8266 or ESP32 and make the board configurable over WiFi. In this case I could also add some handy sensors to remotely monitor various things (e.g. driver temperature, maybe voltage or curent too).
I’m curious, is anyone else interested in doing this or is everyone basically content with the Carbide Motion controller? I think my obsession with quietness could be a bit odd.
One question, did you use the model of Trinamic with the dynamic torque and missed step detection from motor back-EMF? If so, have you tried using the missed step detection?
I believe those features are what Trinamic calls CoolStep and StallGuard respectively. I haven’t tried them yet because they require some configuration that I haven’t got around to yet.
The drivers that make it into my machine will certainly have both features fully configured. That’s one of the reasons I chose them.
My controller actually has a drive alarm input, so my hope is to connect the Trinamic drivers up in such a way that if a step is lost, it can be signalled to the controller which can immediately pause the job for manual intervention.
Unfortunately however, while I was debugging, I was unplugging and re-plugging the stepper drivers quite a few times with low visibility (this was all inside the small controller enclosure of the Nomad).
I ended up connecting the stepper driver offset by a pin, like this:
Unfortunately, on a Polulu-style driver, that means that the +24V and +5V pins from the board were connected to the two GND pins of the driver. Those GND pins are bridged on the stepper driver board, which means that I ended up connecting +24V and +5V.
All 3 stepper drivers exploded in a puff of smoke and unfortunately, though the controller didn’t explode and doesn’t show many signs of physical damage, it became completely unresponsive and no longer powers on.
I’m hoping I can get it repaired, otherwise this will have been a very expensive lesson in making sure I connect things properly.
Out of curiosity, does anyone know of 2.54mm pitch connectors that only connect in the correct orientation?