I’ll probably regret not adding pins along the entire row, but, unlike the MPCNC, the CNC 3018XL won’t ever have hard limit switches. I plugged the Run-Hold switch LEDs into an unused +5 V pin and moved on.
As is my custom, the day before showtime I talked my way through a final full-up dress rehearsal, with the HP 7475A plotter and the CNC 3018XL running their demo plots. As if to justify my attention to detail, the 3018 refused to home, with its X axis motor grinding in a manner suggesting something had gone terribly wrong with its driver.
OK, I can fix that™.
Turn off the power, verify the leadscrew turns smoothly by hand, check all the connections & connectors, then pull the DRV8825 PCB to see if anything looks obviously wrong. It didn’t, so I carefully re-plugged the driver and moved the whole affair to the Electronics Workbench for further study.
I turned on the scope and Tek current probes, then turned on the 3018 power supplies, whereupon a great cloud of Magic Smoke emerged from the CAMtool board and filled the Basement Laboratory with the acrid smell of Electrical Death.
It seems I carefully and meticulously re-plugged the DRV8825 PCB into its socket exactly one pin too high, which, among other Bad Things, connects the +24 V motor power supply to the driver GND pin.
Obviously, this did not end well:
The fuse, put under considerable stress, vented smoke & debris in all directions across the board; note the jets above the white motor connector. Surprisingly, the 1 kΩ resistor just below it is in fine shape, as is the rather blackened electrolytic cap.
The fuse measures the same 150-ish mΩ as the fuses in the other two axes, but I doubt it’s actually a fuse any more.
Astonishingly, the Arduino clone on the board worked fine, so I could extract the GRBL configuration.
Memo to Self: Never plug things in with your head upside down!
While washing our ancient electric crock pot (“slow cooker”), I wondered how corroded the inside of the steel shell had become. A simple nut secured the base plate and unscrewed easily enough, whereupon what I thought was a stud vanished inside the shell.
The shell wasn’t rusty enough to worry about, but the stud turned out to be a crudely chopped-off thumbscrew on a springy rod pulling the base toward the ceramic pot:
Evidently, they pulled the thumbscrew through the base, tightened the nut, then cut off the thumbscrew flush with the nut.
I desperately wanted to drill a hole in a new thumbscrew and repeat the process, but I no longer have a small drawer full of assorted thumbscrews. So I must either lengthen the existing thread just enough to complete the mission or build a screw from scratch.
The thumbscrew is threaded 10-24, I have a bunch of 10-32 threaded inserts, so pretend they have the same thread diameter and tap one end to 10-24:
Jam the new threads on the thumbscrew and jam a 10-32 setscrew into the un-wrecked end:
You can see the surface rust in there, right?
Make a Delrin bushing to fit around the insert poking through the base:
Reassemble the internal bits with permanent Loctite, top with a nyloc nut, and it’s only a little taller than the original nut:
The setscrew let me hold the new “stud” in place while torquing the nut, plus it looks spiffy.
Memo to Self: If it ain’t broke, don’t look inside. Hah!
Surprisingly, both Amazon and eBay lack useful thumbscrew assortments …
Mixed decay mode begins as fast decay, but at a fixed period of time (75% of the PWM cycle) switches to slow decay mode for the remainder of the fixed PWM period. This occurs only if the current through the winding is decreasing (per the indexer step table); if the current is increasing, then slow decay is used.
The 24 V supply on the CNC 3018-Pro provides too much voltage for the motors, because slow decay mode can’t handle those rising slopes:
Note that “rising” means the current increases with either polarity from 0 A at the midline. The DRV8825 uses a MOSFET H-bridge to drive winding current in either direction from the +24 V motor supply voltage.
Both traces show motor winding current at 1 A/div, with the XY axes creeping along at 10 mm/min (thus, 7.1 mm/min each). The upper trace is the X axis, with a stock DRV8825 module in mixed decay mode. The lower trace is the Y axis, with its DRV8825 hacked into fast decay mode.
The basic problem, about which more later, comes from the current rising too fast during each PWM cycle:
V = L di/dt
di/dt = 24 V / 3 mH = 8 kA/s
The first 1:32 microstep away from 0 calls for 5% of max current = 50 mA at a 1 A peak. The DRV8825 datasheet says the PWM typically runs at 30 kHz = 33 µs/cycle, during which the current will change by 270 mA:
267 mA = 8 kA/s × 33.3 µs
Some preliminary measurements suggest these (probably counterfeit) DRV8825 chips actually run at 16 kHz = 66 µs/cycle:
During those cycles the current can increase by more than 500 mA. The first scope picture shows an abrupt increase to maybe 700 mA, so, yeah, that’s about right.
Having the wrong current in one winding means the motor isn’t positioned correctly during those microsteps. The 3018-Pro runs at (an absurd) 1600 µstep/mm, so being off by even a full step isn’t big deal in terms of positioning.
The real problem comes from running nearly 1 A through both windings. Those little motors run really hot: they’re dissipating twice what they should be.
Anyhow, the pin layout shows the DRV8825 DECAY mode selection on pin 19:
Which sits on an inconveniently skinny little PCB pad, fifth from the left on the bottom:
Memo to Self: Don’t make that mistake when you lay out a PCB. Always put a little pad or via on a disconnected pin, so as to have a hand-soldering target big enough to work with.
The objective is to pull the pin high:
Pin 15, in the lower left corner, provides the output of a 3.3 V linear regulator, with its PCB trace connected to the left side of the ceramic cap:
Those are two different PCBs. The crappy TI logos, not easily visible in those low-res pix, on both ICs suggest they’re by-now-typical counterfeits, so seeing a factor-of-two difference in PWM frequency isn’t surprising.
I’ve finally had it beaten into my head: any public exhibition requires paper handouts, if only for younger folks who are too shy to ask questions. Paper may seem obsolete, but it serves as a physical reminder long after the sensory overload of a busy event fades away.
Hence, I made up cards describing my exhibits at the HV Open Mad Science Fair, each sporting a QR code aimed at far more background information than anybody should care about:
Why you shouldn’t use antistatic foam for long-term storage:
The lump emerged from Mad Phil’s parts stash, now residing under a bench at Squidwrench. The 952 date code on the HEP802 JFET suggests he tucked it in around 1980; you’re looking at nigh onto four decades of corrosion.