Archive for August, 2019
NYS DOT Region 8 Dutchess South recently did enough over-the-rail clearcutting to make Rt 376 bicycle-able from Red Oaks Mill to Maloney Rd!
To the best of our memories and judging from the tree stumps along the rail, it’s been a decade since DOT last clearcut that section; the Japanese Knotweed has definitely taken over since then.
Here’s what the Knotweed looked like in June, just north of Maloney Rd, after a trimming in May:
Now, it’s not nearly so snug out there:
Here’s a slide show starting with Dutchess North’s routine grass mowing in Red Oaks Mill and ending with Dutchess South’s clearcut just north of Maloney Rd:
The Wappinger Creek bridge seems to be a no man’s land between the two Residencies, but we can generally take the lane:
We hope Dutchess South’s over-the-rail maintenance will become an annual event and prevent the brush from taking over again.
Up to this point, the Sherline has been drilling 3.5 inch hard drive platters to serve as as reflecting bases for the vacuum tubes:
The CNC 3018-Pro has a work envelope large enough for CD / DVD platters, so I mashed the Sherline fixture with dimensions from the vacuum tube code, added the 3018’s T-slot spacing, and conjured a pair of fixtures for a pair of machines.
Because I expect to practice on scrap CDs and DVDs for a while:
And a 3.5 inch hard drive platter version:
The holes sit at half the 3018’s T-slot spacing (45 mm / 2), so you can nudge the fixtures to the front or rear, as you prefer.
The alignment dots & slots should help touch off the XY coordinate system on the Sherline, although it can’t reach all of a CD. Using bCNC’s video alignment on the hub hole will be much easier on the 3018.
After fiddling around with the 3018 for a while, however, the CD fixture doesn’t have many advantages over simply taping the disc to a flat platen. Obviously, you’d want a sacrificial layer for drilling, but it’s not clear the OEM motor / ER11 chuck would be up to that task.
The OpenSCAD source code as a GitHub Gist:
I finally decommissioned my old Thing-O-Matic, as it’s been far surpassed by the current generation of dirt-cheap Prusa-style 3D printers, and must now figure out what to do with about 10 kg of 3 mm ABS filament. Yes, 3 mm filament from back in the Bad Old Days.
Also back in the day, our Larval Engineer made millifiori creations in glass (at school) and polymer clay, building up the final piece from murrine canes, which suggested a similar technique using filament strands:
Well, maybe it’s not exactly art …
Just to see how it might work, I packed a random length of conduit with filament snippets and jammed a thermocouple into the middle:
Which went into the shop’s sacrificial Dutch oven over low heat:
For lack of anything smarter, I slowly heated it to 250 °C, well above what the Thing-O-Matic used for extrusion, let it soak for a few minutes, then let the tube cool on the counter.
Some persuasion with a hammer and drift punch extracted the fused filament:
Obviously, the concept needs more work, but the bottom side looks promising:
Wrapping the bundle with silicone tape should keep the filament from sticking to the tube and provide uniform compression:
I forced it into the tube and wrapped the whole affair with aluminum foil to confine the hot ABS stench:
I held this one at 235 °C for a few minutes, cooled, unwrapped, and discovered the silicone wrap worked as expected:
OK, the blob on each end wasn’t expected, but at least the thermocouple came out with gentle persuasion. The compressed filament looked like it should be edible:
The molten filament oozed out of the wrap inside the tube, over there toward the right.
The filament snippets have a distinct curvature, brought on by years spent snuggled around a spool’s core, so I wondered if they could be straightened by application of somewhat less heat. Wikipedia lists the glass transition temperature for various ABS compositions as around 105 °C, so I packed the tube with more snippets and affixed the thermocouple with silicone tape:
Wrap with foil, heat to 100 °C, let cool, and they’re definitely straighter than the unheated white strand at the bottom:
Having learned my lesson with a thermocouple inside the strands, the straightened strands get a looser silicone wrap with the thermocouple secured to the outside of the bundle:
Heat to 160 °C:
Let cool and (easily!) slide the compressed bundle out of the tube:
The silicone wrap definitely mushed the strands together, as shown by the larger diameter on the uncompressed end:
Bandsawing the bundle reveals nicely fused filaments inside, along with melty ends that stuck out of the wrap:
Thinking shorter lengths might pack better without straightening, I faced the ends of a thick aluminum pipe and stuffed as many snippets into it as would fit. This is the point where a real artist would arrange the filaments in a pleasing pattern, if not a picture, but I was content with a random layout:
That’s what the ends looked like after heating to 160 °C: somewhat glazed, reasonably fused, but certainly not compacted. The other end pointed upward and definitely felt the heat:
With a PCV pipe “collet” holding the cable / cane / murrina in the chuck, I faced the end:
After taking this picture, I came to my senses and bandsawed the slice instead:
Parting the slice in the lathe might have worked, but it just seemed like a really really bad idea when I looked at the setup.
A PVC pipe spacer kept the slice lined up in the chuck jaws while facing the bandsawed end:
The slice and the cable:
Although the filament snippets fuse together without a silicone tape compression wrap, the gaps collect plenty of swarf during the cutting & facing:
The snippets along the outside, closest to the pipe, obviously got hotter than the ones in the middle and fused more solidly.
The pipe has a 35 mm ID for an area 136 times larger than a 3 mm filament. I packed about 100 snippets into the pipe, a 0.73 packing fraction, which looks to be in the right ballpark for the high end of the Circle Packing Problem. If they were straighter, maybe a few more would fit, but twisting the lot into a cable seemed to align them pretty well.
Perhaps filling the gaps with pourable epoxy before cutting the slices would help? A completely filled interior might require pulling a good vacuum on the whole thing.
A hexagonal pipe would produce slices one could tile into a larger sheet.
All in all, a useful exercise, but … it ain’t Art yet!
The CAMTool V3.3 board on the CNC 3018-Pro hardwires the three DRV8825 stepper driver chips in 1:32 microstep mode by pulling all three Mode pins high. Unlike most CNC boards, it does not include jumpers to let you select different microstep modes; the designers know you want as many microsteps as you can possibly get.
As it turns out, 1:32 microstep mode requires 1600 steps for each millimeter of travel and, because GRBL tops out around 30 k step/s, the maximum speed is about 18.75 mm/s = 1125 mm/min. Which isn’t at bad, but, because I intend to use the thing for engraving, rather than the light-duty machining it’s (allegedly) capable of performing, running at somewhat higher speeds will be desirable.
For sure, a 3018-Pro does not have a physical resolution of 625 nm.
If you’re willing to settle for a mere 400 step/mm = 2.6 µm, then you can just ground the Mode 2 pin to get 1:8 microstep mode:
Rewiring the CAMTool board isn’t feasible, but hacking the DRV8825 carrier PCB doesn’t require much effort.
So, we begin.
Clamp the PCB in a vise, grab the Mode 2 pin with a needle-nose pliers, apply enough heat to melt the solder completely through the board, and yank that pin right out:
I do wonder how the layout folks managed to reverse the “N” for the Enable pin. Perhaps it’s a Cyrillic И in a dead-simple font?
With that done, add a snippet of wire from M2 to the GND pin in the opposite corner to complete the job:
Despite that picture, remember to plug the DRV8825 boards into the CAMTool V3.3 board with the heatsink downward and the twiddlepot on the top, as shown in the little instruction book you got with the hardware:
Recompute the step/mm value in 1:8 microstep mode:
400 step/mm = (200 full step/rev) × (8 microstep/full step) / (4 mm/rev)
Then set the corresponding GRBL parameters:
$100=400 $101=400 $102=400
The 3018-Pro should work exactly like it did before, maybe a little noisier if your ears are up to the task.
Moah Speed comes later …
The CAMTool V3.3 board dispenses with fancy USB power switching circuitry:
The NUP2201 is an ESD clamp diode / suppressor IC, which is a nice touch, but FU1, a simple 300 mA polyfuse, is the only thing standing between the USB cable and the on-board +5 V regulator. In real life, it looks like this:
It’s the little black rectangle between the USB jack and the CH340 USB-to-serial chip. The
The far end of the USB cable plugs into a Raspberry Pi, a device known for unseemly fussiness about USB power, so I unsoldered the fuse and installed a diode:
It’s a BAT54 Schottky diode, pointed toward the right to prevent current from the board getting to the Pi. Pin 2 (toward the bottom) isn’t connected to anything inside the package, either, so it’s all good.
I suppose if one were a stickler for detail, one could gimmick the diode in series with the fuse, but I figured that’s a solution for a problem well down on the probability list …
Herewith, a look at CNC 3018-Pro stepper motor current waveforms as a function of supply voltage, PWM decay mode, and motor speed.
The scope displays X and Y axis motor current at 1 A/div, with sensing through a pair of Tektronix Hall effect current probes:
The X axis driver is an unmodified DRV8825 PCB operating in default mixed-decay mode. The Y axis DRV8825 has its DECAY pin pulled high, thereby putting it in fast decay mode.
The scope timebase varies to match the programmed feed rate. Because the X and Y axes move simultaneously, each axis moves at 1/√2 the programmed speed:
G1 X10 Y10 F100 → 71 mm/min on X and Y
The motor generates minimal back EMF at slow speeds, so the winding sees nearly the full supply voltage. As described in the previous post, the basic problem arises when the current rises 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
Notice how the current slams to a nearly constant, much-too-high value just after the first microstep. The incorrect current level decreases with lower supply voltage, because the rate-of-change decreases and the commanded current level reaches the actual (incorrect) current sooner.
Varying the motor voltage at a constant 10 mm/min:
Note that reducing the supply voltage doesn’t change the motor winding current, because the DRV8825 controls the current during each microstep, at least to the best of its ability.
Also note that the current overshoots the target for those microsteps, even when the motor is stopped, because there’s no back EMF, so the power dissipation is too high even at rest.
Enough back EMF appears at 100 mm/min to begin tamping down the current overshoot at 24 V:
The current waveform looks good at 12 V:
The back EMF at 1000 mm/min nearly eliminates the overshoot at 24 V, with fast decay in the Y axis causing some PWM ripple:
Both decay modes look good at 12 V:
At 1500 mm/min, the highest reasonable speed for the thing, and a 24 V supply, both waveforms still look good:
However, the back EMF is now high enough to buck the 12 V supply, preventing the current from decreasing fast enough in mixed decay mode (top trace):
Tweaking the GRBL config to allow 2000 mm/min feeds shows the waveforms starting to become triangular, even at 24 V:
And a 12 V supply opposed by the back EMF simply can’t change the current fast enough to keep up with the DRV8825 microstep current levels:
Bottom line: a +12 V motor supply and DRV8825 drivers modified to run in fast decay mode look like the best setup for the 3018-Pro: good current control at low speeds with enough moxie to handle higher speeds.
I should hack the DRV8825 boards into 1:8 microstep mode to reduce the IRQ rate by a factor of four, then see what happens to the back EMF at absurd speeds.
After about a month, a replacement for the fallen utility pole arrived:
This is much easier than digging a hole by hand:
Verily, given the right tools, any job becomes do-able:
It was fascinating for me and just another day at the office for everybody else:
They nailed the original pole tag to the new pole, complete with the original 1940 nail:
I expect this pole will outlive me, just as the original pole outlived the folks who built our house.
The most memorable comment came from the person doing the CHG&E damage assessment, who really really wanted this to not be their problem: “Anybody could steal a pole tag and nail it on that pole.” I asked what location their records showed for the pole tag, whereupon the conversation moved on.
Second-place award: no, we were not interested in trenching underground lines 300 feet along the property line, at our expense, to avoid an “unsightly” pole.
For unknown reasons, I was supposed to figure out which telecom utilities had wired the pole, notify them, and wait for them to tack their cables to the new pole. I called both Verizon and Altice / Optimum, got service tickets, and watched them close the tickets without further action. I tried re-opening the Verizon ticket and was told somebody would be there within 48 hours. An Optimum guy showed up, promised a quick return visit from a team with proper equipment, but nothing happened.
I suppose having no customer at the end of the cable removed any motivation to clear their hardware off our lawn, so, after two weeks, I deployed the bolt cutter, rolled up the cables, and scrapped ’em out.