Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
It’s been running more-or-less continuously since late 2016, so call it
Because I’d be crazy to replace it with another likely-to-fail WS2812, I had to remove both of them before installing SK6812 RGBW LEDs and updating the Arduino Nano.
Unfortunately, I did a really good job of bonding the side light to the tube with epoxy:
Failed WS2812 – 5U4GB broken glass
The last tube manufacturing step involved flashing the getter onto the tube envelope, so as to remove the last vestige of air. Admitting air oxidizes the getter:
Gently pry the metal cover outward to clear the latches along the sides:
DSC-F717 – Memory Stick socket cover latches
The cover remains held in place by two tabs inside the holes on either side of the Memory Stick contacts, one of which is already free in the previous photo:
DSC-F717 – Memory Stick socket – bottom
The small spring on the left ejects the Memory Stick and will, if suitably provoked, launch itself across the bench. Be prepared!
Use a pointy instrument to ease those tabs away from their latches and pop the top:
DSC-F717 – opened Memory Stick socket
I cleaned the contacts, not that they appeared particularly filthy, gently bent them upward by three micro-smidgens to apply a bit more pressure to the card’s contacts, and reassembled the socket in reverse order.
I put a strip of Kapton tape on the back of the cable termination paddle (shown here during the previous repair) to ensure a snug fit:
DSC-F717 Memory Stick socket – cable entry
Unfortunately, I snapped off a locking tab on one of the ribbon cable connections to the main board:
DSC-F717 – broken cable clamp
The cable threads through the middle of the clamp, which then slides into the socket and applies pressure to the contacts through the cable: no clamp, no pressure, no good.
For lack of anything smarter, I tamped the clamp into the socket and applied a strip of Kapton tape to maintain everything in more-or-less the right position:
DSC-F717 – tape-anchored cable
Definitely unpretty, but better than nothing. While I was in there, I reinforced the other connections with similar clamps.
Reassemble the camera in reverse order and it’s all good:
DSC-F717 – repaired – first image
It probably won’t last another decade, but ya never know …
An RD JDS6600 Signal Generator recently arrived from around the curve of the horizon, leading me to measure its warmup time:
RDS6600 Signal Generator – Warmup plot
Looks like it’s good to go after maybe 90 minutes and, after much longer, it settles to 10 MHz +36 Hz, for a correction factor of 0.9999964 on those days when you’re being really fussy.
The need for frequencies accurate to better than 4 ppm doesn’t happen very often around here, but it’s best to be prepared. It’s amazing what you can get for under $100 these days …
RDS6600 Signal Generator vs. Z3801 GPS Frequency Standard
Basically, trigger the scope on either trace, crank the JDS6600 frequency in 1 Hz, then 0.1 Hz steps, until the traces stop crawling past each other, and you’re done.
It’s worth noting you (well, I) must crank eleven 0.01 Hz steps to change the output frequency by about 0.1 Hz around 10 MHz, suggesting the actual frequency steps are on the order of 0.1 Hz, no matter what the display resolution may lead you to think.
The RDS6600 main PCB (Rev 15) sports a 24 MHz oscillator close to the Lattice FPGA:
The bottom trace is the scope’s internal function generator, also set to 10 MHz. Zero-beating the JDS6600 against the scope’s output produces a similar result:
IMG_20190312_130925 – RDS6600 vs SDS2304X frequencies
The scope’s function generator actually runs at (9.999964 MHz) × (0.9999964) = 9.999928 MHz, a whopping 72 ppm low. The on-screen frequency measurements don’t have enough resolution to show the offset, nor to zero-beat it with the Z3801 input, so it’s as good as it needs to be.
The Z3801’s double-oven oscillator takes a few days to settle from a cold start, so this wasn’t an impulsive measurement. Having the power drop midway through the process didn’t help, either, but it’s March in the Northeast and one gets occasional blizzards with no additional charge.
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: