Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
A simple test of additional insulation below the Makergear M2’s heated build platform, measuring the time required to heat the platform from 30 °C to 80 °C:
As-shipped without insulation: 8:20
Cardboard + cotton cloth: 8:30
Cardboard + aluminum foil + cotton: 8:00
That’s with a resolution of about 10 seconds and 1 °C. Ambient temperature was 25 °C; I preheated the platform to 30 °C for a repeatable starting point. The heater was full-on for the entire time and I tried to record the time until it first turned off at the setpoint temperature.
So my initial insulation didn’t make any difference; ten seconds (in the wrong direction!) seems down in the noise.
Adding aluminum improved the situation, but not by much.
The platform wasn’t moving, so there’s no air circulation on either surface. I think it will be possible to record / plot the platform heater duty cycle during printing using LinuxCNC’s HAL components, so some useful data should emerge from that.
I think the bottom line is that there’s so much heat transfer up through the glass plate and away that reducing the heat flow from the bottom by a little bit doesn’t matter…
Having recently kibitzed on a project using de-icing cables (with some success) to soften PVC pipe for bending, herewith the useful numbers.
Data printed on the original cable:
100 ft length
120 VAC
800 W
Derived values:
6.7 A = 800 W / 120 V
8 W/ft = 800 W / 100 ft
1.2 V/ft = 120 V / 100 ft
18 Ω = (120 V)2 / 800 W
180 mΩ/ft = 18 Ω / 100 ft
The starting point was a 62 ft length of the cable, as I’d long ago converted the end into a heated bed for starting plants early in the spring. That presented a resistance of 11 Ω, drew a current of 11 A, and dissipated 1.3 kW at 21 W/ft. A kilowatt-class dimmer handled the load, but adjoining sections of the cable got hot enough to melt the insulation and terminate the experiment.
A shorter length of cable might be suitable for a cheap laptop brick power supply. To keep the dissipation under, say, 10 W/ft, we have:
7.5 A = sqrt( 10 W/ft / 180 mΩ/ft )
1.3 V/ft = 7.5 A * 180 mΩ/ft
The Dell D220P-01 brick on the M2 provides 12 V at 18 A (!) and costs under $20 on eBay:
9 ft = 12 V / 1.3 V/ft
90 W = 12 V * 7.5 A
1.6 Ω = 9 ft * 180 mΩ/ft
You could run two 9 ft lengths cables in parallel from the same hulking brick. Whether that’s enough to soften a length of PVC pipe from the inside, without having the insulation get all melty, that’s another question…
Rather than cutting the pack apart, I buttered up the end of an intact plug with some ABS solvent glue (a hellish homebrew mixture of acetone and MEK), rammed it into the socket, and held it in place for a minute:
LiIon Pack – undamaged plug insertion
The tip emerged on the first try:
LiIon Pack – rescued plug tip joined
Even better, it cracked off the plug without too much effort:
LiIon Pack – rescued plug tip separated
More solvent glue and a few hours of clamping worked fine:
Dan sent me a Kysan 17HD-B8X300-A, a leadscrew-equipped stepper motor with much higher torque than the Makergear Z axis motor. According to the Kysan description, which is all we have to go on: 4.2 V @ 1.5 A means 2.8 Ω, at which current it produces 5.5 kg·cm = 540 mN·m of torque. I measure 3.2 Ω and 3.5 mH, not that that makes much difference.
I worked out some of the numbers in that post and, if they’re close, then the new motor has twice the torque of the OEM one. What’s more important is that the new motor will work correctly with a microstepping drive and won’t bake while doing so.
The new motor has more metal to it than the old one:
M2 Z Axis motors – OEM vs replacement
The leadscrew follower nut has unthreaded holes, but, mercifully, has the same OD, fits nicely into the Z stage, and those four holes line up perfectly.
I chopped off most of the wires and spliced a JST plug onto the end; of course, the motor ran backwards. Having foreseen that eventuality, I had not shrunk the tubing over the wires: swap a pair, shrink the tubing, and it’s done:
M2 Z Axis motor replacement
Some notes from the operation:
Disconnect all the cables
Remove HBP + glass plate
Lay printer on +X side of the chassis
Remove screws holding Z motor to chassis
Remove nylock nuts and screws from leadscrew follower nut
Remove Z axis home switch
Run Z stage to top of rods
The leadscrew bearing will probably have fallen out by now
Loosen Z rod clamp nuts & bolts (top & bottom of rods)
Push Z rods out using a nut driver, pull with a rag for traction
Be ready to catch the Z stage when you remove the rods!
Angle motor & leadscrew out of the chassis
Angle new motor & leadscrew into the chassis
Reinstall everything in reverse order
Recalibrate everything…
The Z rod sliders have little balls inside, but they didn’t fall out during this adventure. I don’t know if that’s reliable information or not.
The cables with their tidy terminations make it a little neater, but all this stuff really needs a permanent home:
Stepper motor – first motion
I used the LinuxCNC PNCConf utility to define a minimal system with little more than the X axis parameters filled in:
PNCConf – X Axis
Then I could jog the stepper motor using the Axis UI:
7i76 – First Motion
And it worked!
Actually, it didn’t. The first motion instantly tripped a Following Error, so I bumped those values up a bit. Then I fiddled with accelerations and speeds and suchlike. Then I adjusted the Axis defaults to not be so nose-pickin’ slow. And then it Just Worked.
Not much to show, but at least I know the whole LinuxCNC to 5i25 to 7i76 to M542 to motor chain functions pretty much as it should, which is worth knowing. From here on out, it’s a matter of fine tuning…
Both the Mesa 7i76 and the M542 stepper driver boards use Phoenix-style pluggable screw terminals that simplify the connections: just strip the wires, jam them into the holes, and tighten the screw. That works great in an industrial situation where the equipment gets wired up once and stays that way forever, but I expect that I’ll be doing far too much twiddling… which means the stripped wire ends will fray and shed strands across the boards.
So, while wiring up a stepper motor, I tried soldering the wires to several different terminals I have lying around, just to see how they work.
The M542 stepper driver brick shows the assortment:
M542 Stepper Driver Wiring
On the far left, the four stepper wires end in right-angle PCB pins harvested from surplus connectors. This didn’t work nearly as well as I’d like, simply because the pins are entirely too bulky. I’m not sure quite how the bricks will be arranged, but I think a right-angle connection won’t work well at all.
The field power from the 24 VDC supply arrives on some (cheap) 18 AWG speaker zip cord, terminated in straight-line PCB pins. Those worked better, but they do stick out a goodly amount. Methinks the right thing to do with larger wire is just solder the strands together, clean the end, and not bother with pins. That’s not so good for strain relief (it concentrates at the end of the soldered strands), but, with some tubing added, maybe it’ll be Good Enough.
The 26 AWG input wires from the 7i76 terminate in turret pins originally intended for PCB terminations or test points, back in the day when you (well, I) could actually see such things; I have a bag of 1000 that I’ve been chewing away at for a while. I think these wires are simply too small for the screw terminals, so they really need a pin of some sort and I like the way the turret pins work. The heatstink tubing provides a bit of strain relief, which always comes in handy.
The two stray wires will eventually go to the “Enable” input. It turns out that these bricks defaults to Enabled with no input signal, so you cannot depend on a wiring fault disabling the motor: a broken Enable wire enables the drive output. This seems flat-out dumb, but I suppose there’s some planet on which it makes sense.
I snipped a bunch of 3/8 inch (call it 10 mm) lengths of tubing, but that turns out to be slightly too long for the 7i76 terminal layout:
Mesa 7i76 Wiring
So the next iteration must be a bit shorter.
Yes, you can get commercial crimp pin terminations; search eBay for crimp insulated terminal pins, some of which are curving around the planet even as I type. They won’t fit into the tight confines of the 7i76, but they should be better for the M542 bricks. The smallest size fits 22 through 16 AWG wires, so my tiny cable wires may need some steroids to bulk ’em up.
On the stepper motor end of the cable, I picked up a bunch of JST connectors and crimp pins. Unfortunately, the proper crimp tool runs into the hundreds of dollars, even from the usual eBay suppliers, and I really don’t have that much need for those pins. So I just soldered wires from the cable to the pins and mashed them down with needle nose pliers:
Stepper wiring – soldered JST pins
The alert reader will notice an egregious wire color coding faceplant. I made a corresponding blunder on the other end and nobody will ever know. Next time, maybe I’ll get it right.
That makes for a nice connection at the motor:
Stepper wiring – connector in place
The thin black cable has nine 26 AWG conductors that I’m doubling up for the motors. In round numbers, 26 AWG stranded has about 120 mΩ/m resistance, so two in parallel work out to 60 mΩ/m. Assuming a meter of cable between the driver and the motor, a 1 A winding current will drop 120 mV along the way and dissipate 1/8 W, which seems defensible. It’s obviously Good Enough for signal wiring.
It is most definitely not good enough for, say, the heaters.
The motivation for using that cable: it’s thin and super-flexy, not the rigid cylinder you get with larger conductors. Plus, I have a huge supply of the stuff… it originally served as RS-232 cable, with molded connectors on each end of a 30 foot length, with four such cables assembled into a super-cable with nylon padding yarn laid inside a protective outer sheath. Must have cost a fortune to the original buyer; decades ago I got three or five of the assemblies and have been harvesting cable ever since.
I intend to use solid-state relays to control things like extruder and platform heaters, so I wired a Fotek SSR-10 DD to the same output bit as the First Light test, with a random 12 V SLA battery providing power for the LED strip:
Mesa 7i76 with Fotek DC-DC SSR
Nothing groundbreaking, but it’s always nice to confirm these things.
Note that the SSR must have a DC output, not the more common AC output, to control DC power. In effect, a DC-DC SSR is just an up-armored power FET with an optically isolated gate terminal.
Dan reports that the Fotek SSRs have just about exactly the internal build quality you’d expect for a cheap product from halfway around the planet. Although the specs would have you believe they operate from a 5 VDC source, that may not be the case. The 7i76 output pins switch the +24 VDC field power to the SSR, so it’s firmly turned on.