Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
After considerable evaluation, the Customer decided the shoelaces were still too long and said the hex-crimped ferrules were entirely too rough and tended to snag on things. This time, I prepared the ferrules by chucking them in the lathe:
Ferrule – original flange
The steel rod inside the ferrule encourages it to remain round and not collapse while I’m filing off the flange that normally holds the plastic strain-relief doodad:
Ferrule – reshaped flange
I snipped another half inch off each end of the laces and crimped on the prepared ferrules:
Shoelace ferrule aglets
Which were definitely too jaggy, so they now sport an epoxy coat:
Ferrule aglets – epoxy coat
Alas, JB Kwik epoxy has a pot life measured in minutes, so the last ferrule looks a bit lumpy. They seem to work fine and the Customer is happy with the results.
Memo to Self: Next time, dunk the ferrules in a pot of slow-curing JB Weld and let them drain overnight.
the random up and down movement doesnt make any sense
It’s what happens when a stepper is mechanically overloaded: the rotor can’t turn at the commanded rate.
Start by cleaning & lubing the Z axis guide rods and leadscrew. If that solves the problem, just clean and lube a bit more often. Which none of us do until there’s a problem, of course. [sigh]
If it continues to stall, reduce the Z axis speed by a factor of four. If that solves the problem, then perhaps you tweaked the speed while you were fixing other problems and never noticed.
the technical reason why the motor would move in the opposite direction
The windings set up a rotating magnetic field which, in normal operation, drags the rotor around with it. When the rotor stalls, it vibrates back-and-forth and may wind up synchronizing with the field in the wrong direction.
Old Western movies had a similar problem with wagon wheels turning faster than the frame rate and looking like their spokes rotated backwards.
The stepper may emit horrible sounds, but stalling doesn’t do any damage to the motor or its driver.
I took the bottom of the motor apart
No sugarcoating: disassembling a stepper demagnetizes the rotor. You must buy a new Z-axis motor.
The motor is assembled with the rotor demagnetized, then it’s magnetized in place. When you take it apart, the rotor smacks into the stator, which creates a localized high-density magnetic path between the rotor poles. The rotor poles can’t support the high flux and demagnetizes.
You can put the motor together and it will “work”, in the sense that the rotor will go around, but the decreased magnetic field reduces the torque for a given winding current. You can’t increase the winding current, because the motor will overheat.
The PCB traces look mangled and warped
There’s a conformal coating over the whole PCB to prevent corrosion, so what you see is perfectly normal.
Any analysis of the data from my previous posts?
You’ve been doing a lot of fiddling with the machinery as part of finding the extruder problem, so: did you, at any time, even once, unplug / disconnect the Z axis motor when the power was turned on?
If so, that likely killed a driver transistor in that channel. Order a new RAMBo board along with the new motor.
New Rambo board came today and the z axis is working properly now.
Moral of the story: never fiddle with the electronics with the power turned on!
As soon as my z endstop triggers, the firmware resets
The Z endstop cable is plugged backwards into the RAMBo socket.
The RAMBo socket has three pins: [+ – S].
The two-wire switch cable ends in a three pin connector shell (*) with one empty contact. Unfortunately, the cable connector is not symmetric, not keyed to fit the socket latch, and easily fits into the RAMBo socket either way.
Plugged correctly, the two switch wires go to the [- S] socket pins, putting the [+] socket pin in the empty contact.
If the cable is plugged backwards, the two switch wires go to the [+ -] pins, putting the [S] pin in the empty contact.
Plugged backwards, when the switch trips, it shorts the power supply to ground. Unpleasant consequences ensue.
(*) I’d be unsurprised to discover a machine with a two-wire switch cable ending in a two-pin connector shell. Those must plug into the [- S] pins, leaving the [+] pin waving in the breeze.
all of a sudden I noticed that my bed temps had started dropping
With a 12 V heater, the most likely problem is at the power input connector on the RAMBo board. The wires from the 12 V power brick generally work loose inside their screw terminals, whereupon the absurdly high current heats up the weak joint and destroys the connector. You can find some hideous pictures somewhere on the forum.
Next most likely is a broken wire between the RAMBo and the heater, caused by repetitive stress injury from all that back-and-forth motion. You may be able to find this with a ohmmeter and some wiggle-jiggle action on the cable, but if even one strand remains intact, the resistance will remain very low at the meter’s trivial test current. Pulling the wires out of the braided sheath will be more definitive; the insulation will be wrecked at the break.
Least likely seems to be the connector where the cable from the heater terminates on the RAMBo.
Start by inspecting the connectors; you may find some seriously charred plastic.
Depending on what you find, you may have a zero-dollar repair.
It’s like you’re psychic.
Suffice it to say you’re not the first person to see charred plastic … [grin]
My solution was to move the high-current switching off the RAMBo board to a solid state relay, with the heater power from a separate 40 VDC supply:
Is there a 3D CAD software out there that natively creates .g or .gcode files It’s not just a 3D printing thing.
CAD (computer-aided design) software produces a solid model, which a CAM (computer-aided manufacturing) program then converts into the specific dialect(s) of G-Code required by whatever machine tool(s) will create the widget. You can create the solid model using many different CAD programs and convert it into G-Code with many different CAM programs, each with its own collection of features and warts.
3D printing calls the CAM program a “slicer”, but it’s a different name for the process of converting geometry into machine instructions.
Even in subtractive manufacturing using lathes and mills, you absolutely must understand how the G-Code interacts with the production hardware.
I unfortunately don’t want to learn all the nuances and parameters of the slic3r software
Then you must use a service like Shapeways: you create the model, send it to them, and get a neat widget a few days later. Their laser-sintered powder process provides much better built-in support than you’ll ever get from consumer-grade fused-filament printers, you can select from a wide variety of materials (including metals!), and, as long as you follow their straightforward design guidelines, you’ll never know how the magic happens.
If you intend to create more than a trivial number of widgets, though, the cost in both cycle time and money will begin gnawing at you. In round numbers, I’ve been designing and printing one widget a week for the last seven years, so adding a printer to my basement shop and learning how to use it has been a major win.
This appeared while harvesting heatsinks and suchlike from a defunct Dell Optiplex:
Clogged CPU heatsink
The only way to get access to that end of the heatsink is to break the heatsink’s thermal bond to the CPU, which seems like a Bad Idea if you intend to continue using the thing:
Problem: Temperature fluctuation on the hotend +/- 7 degrees C when set in the controls. A little more extreme when printing (~+/- 15).
Slow cycling like that indicates the hot end’s PID loop coefficients don’t match reality.
Preheat the extruder to maybe 200 °C, run a PID calibration (M303), store the results in EEPROM (M500), and that should do the trick.
PID coefficients depend on the hot end’s physical condition, so you should re-do the calibration whenever anything changes on the hot end. Even removing & reinstalling the same hardware will change the contact points between, say, the thermistor and its hole in the hot end.
A dab of good heatsink compound on the thermistor should stabilize its contact with the hot end, although that will change the reported temperature and PID coefficients. Probably doesn’t make any real difference, but I felt better:
M2 – Thermistor with heatsink compound
Which prompted a question from a user who regularly swaps entire hot ends to change nozzle diameters:
run a pid cal when I set my starting height each time I switch?
Assuming you swap entire hot ends, including their thermistor & heater, then you can calibrate each one, write down its PID values, manually set ’em with M301 when you install it, then use M500 to store ’em in EEPROM.
Because you bend those fragile thermistor wires every time you swap hot ends, keep a couple thermistors on hand. You’ll need ’em.