Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Adding a lock screw to the camera mount stabilized the camera-to-spindle offset enough to make calibration meaningful. Mark the spot directly under the camera:
bCNC – Camera – hot glue align
Then mark the spot directly under the spindle, perhaps by poking a small cutter into the tape, measure the XY distances between the two center points, and use bCNC’s camera registration process to set the camera offset.
With those numbers in place, switching to the tool view (the green button with the end mill to the right in the ribbon bar) puts the camera at the spindle location:
bCNC – Spindle – hot glue align
The view from outside shows the relation between those two pieces of tape:
MPCNC – USB camera-to-spindle alignment
Now I can align the camera view to a fixture position and be (reasonably) sure the spindle will automagically align to the same XY coordinate when I switch to the “tool” view. Seems to work well in preliminary tests, anyhow.
It turned out the previous version of the USB camera mount lacked sufficient griptivity to hold the ball’s position against even moderate bumps, so the upper “half” is now tall enough to hold a lock screw directly over the ball:
MPCNC – USB Camera mount – lock screw – Slic3r
It doesn’t look much different:
MPCNC – USB Camera Mount – lock screw
A view from the other side:
USB Camera – lock screw mount
The previous iterations used Genuine 3M foam tape, which seemed too flexy for comfort. This one sits on a bed of hot melt glue and is absolutely rigid. We’ll see how long it survives.
Tightening the cap screw requires needle-nose pliers, because the whole affair has no room for a hex key.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The force increases linearly at 30 g/mm up to the trip point, drops by maybe 16 grams, then increases linearly again.
Obviously, the “constant” applies only to switches on MBI-style endstops in the lot I happen to have, but given the ubiquity of parts from the usual eBay sellers, any identical lever switches may have the same “constant”:
Endstop lever switch – detail
Your mileage will vary, fer shure.
Poking a pen into a similar switch used as a tool setter means the Z-axis coordinate of the trip point will depend on the opposing springs. That’s unlike the situation with a cutter mounted in the DW660 spindle, which (by definition) shouldn’t move in response to the pressure from a little bitty switch.
Eyeballing the graph, the switch travels 2.2 mm to the trip point, where it exerts 64 g of force. The pen holder opposes that force and therefore deflects (64 g) / (100 g/mm) = 0.64 mm just before the switch trips: the trip point will be the same as with a rigid tool, but the tool’s Z axis coordinate will be 0.64 mm lower.
I’d been touching off pens in the springy holder, with enough pressure to draw a decent line. Setting Z=0 with the holder deflected upward by 0.3 mm means the pen first touches the height probe at Z=+0.3 and the switch trips at Z=-0.3 mm (-ish), making the force on the paper 60 g, rather than the 30 g I expected.
I think the pen plots worked out pretty well, despite not getting the numbers and, thus, pen positions, quite right.
The 18650 cell protection PCBs with 8205 ICs arrived and seemed small enough to simply tuck into the gap between the rounded cells in the second Baofeng BL-5 pack:
Baofeng BL-5 – new protection PCB – wiring 1
For whatever it might be worth, you’re looking at the only Baofeng battery pack containing an actual 10 kΩ thermistor, harvested from the benchtop Tray of Doom:
Baofeng BL-5 pack – thermistor
Unfortunately, the components on the PCB stuck up a bit too far from the cell surface and held the lid just slightly proud of the case. Applying pressure to lithium cells being a Bad Idea, I rearranged the layout by flipping the cells over, tucking the PCB components between the cells, and connecting everything with nickel tape instead of insulated wires:
Baofeng BL-5 – new protection PCB – wiring 2
The snippets of manila paper and Kapton tape hold things apart and together, as needed. Looks ugly, fits better.
Pop it in the charger to reset the protection PCB lockout and it’s all good again.
My original idea for the APRS + voice gadget was a snap-in battery pack replacement holding the circuit boards and connected to an external battery pack. A trio of deadWouxun radios, plus the ready availability of 18650 lithium cells, suggested putting two cells in the backpack, along with the circuitry, and skipping the external pack.
The grid is parallel to the case body and centered left-to-right, with a Y grid line set at the front face of the pack, where it’s also flush with the lid surface. You can read off the coordinates of all the points, feed them into your CAD model, and maybe, with a bit of care, get something 3D-print-able.
Haven’t used it yet, but it’s bound to come in handy at some point.
A long long time ago, I conjured a short bench for our Larval Engineer from a pair of junked folding-table legs and a truly hideous mid-50s Genuine Formica countertop salvaged from the kitchen refurbishment:
Bench Leg – overview
Most recently, it held a pile of test equipment and random stuff next to the MPCNC, whereupon the welds holding the tube with the feet to one of the vertical tubes on the far end failed. It wasn’t in the critical path, so I broke the welds on the other tube, propped the vertical tubes on wood blocks, and continued the mission. Having finally finished those measurements, I could clear off the bench and repair the legs.
I no longer have my welding gear and, in any event, it’s still winter outside, so a low-excitement repair seemed in order: drill suitable holes into the leg crosspiece, make threaded inserts for the tubes, and join them with 3/8-16 bolts.
So, we begin.
File the broken welds off the foot tube, align it in the drill press vice (where it barely fits!), center drill to make a pilot hole, then poke a 3/8 inch drill completely through to line up both holes:
Bench Leg – through drilling
By the Universal Law of the Conservation of Perversity, a 3/8 inch bolt didn’t quite fit the 3/8 inch hole, so I embiggened the holes with a step drill:
Bench Leg – step-drilling to size
The step drill obviously has hard metric diameters labeled as weird inch sizes:
Quasi-inch step drill
I can’t read the second step, either, but it’s apparently 25/64 inch = 9.8 mm, which is just enough over 3/8 inch = 9.5 mm to be useful. The next step is 14 mm = 35/64 inch, so the drill is a bit of a lump.
The leg tubes were a hair over 0.9 inch ID and not particularly round. Tolerances being slack, slice a bit more than two inches off a 1 inch OD aluminum rod:
Bench Leg – sawing rod stock
I wanted more than one diameter in the tubes, but the bolts in my stash topped out at 2 inches and, really, an inch of aluminum won’t go anywhere.
Clean up one end of the rod to 0.9 inch OD, flip, and center drill:
Bench Leg – center drilling insert
Obviously, surface finish and concentricity aren’t critical, but the cleaned-up OD of the left end lined up at barely perceptible mismatch with the (yet to be done) right end.
Sunder in twain:
Bench Leg – sawing leg inserts
Betcha you can’t spot the junction between the two ODs, either.
Drill 3/8 inch through, then discover you (well, I) have neither a drill big enough nor a boring bar small enough to embiggen one end of the hole for a nasty interference fit against the tips of a 3/8 inch hex nut.
Once again, a step drill to the rescue:
Bench Leg – step-drilling insert
Because it’s a step drill, the counterbore isn’t quite deep enough for the whole nut, so turn the nut to fit the recess left by the drill:
Bench Leg – nut shaping
Put a bolt through the insert as a guide, spin the nut on, backstop the insert with a machinist’s parallel jaw clamp (loose, just to give the head somewhere to go), line ’em up, and mash the nut into place with the bench vise:
Bench Leg – nut pressed in place
Clean up the broken welds with a rat tail file, hammer the inserts into the tubes:
Bench Leg – insert installed
Which, as I expected, rounded them nicely while producing an absolutely solid, ain’t gonna work loose, dry joint.
Add threadlocker to the bolts and it’s all good:
Bench Leg – repaired
Stipulated: butt-ugly.
Tell me you’d have fish-mouthed those inserts just for pretty, after noting the factory didn’t bother fishmouthing the vertical tubes before welding them in place.
But it was good for generous dose of Quality Shop Time!
Although I cannot explain why those ferrite beads lit up, it seems connecting the DE-9 shell to the serial device ground is an Extremely Bad Idea. I removed that wire from the HP 8591 spectrum analyzer cable and everything seems to work, so I’ll declare victory:
Sena PS410 Serial Server – in action
Not shown: the tangle of cables tucked behind that tidy box. You can plug a serial terminal into the DE-9 connector, but it’s much easier to use the PS410’s web interface.
It needs a static IP address to make it findable, although I also told the router to force the same address should it start up in DHCP mode:
IP Configuration
Yeah, Google DNS, if all else fails.
The serial port overview:
Serial port overview
I’ll go into more detail in a while about individual device setups and the scripts slurping screen shots out of them, but giving each one a useful name is a Good Idea, even though it doesn’t appear anywhere else. I changed the default Inactivity Timeout for each port from the default 100 seconds to zero, thereby preventing the PS410 from closing the connection due to inactivity:
Serial Port 2 – host params
The DTR and DSR defaults work out well; the other choices solve problems I don’t have. Indeed, the PS410 has a myriad configuration options best left in their Disabled state.
The serial parameters for each port need tweaking to suit the hardware gadget on the other end of the cable:
Serial Port 2 – serial params
Flow Control applies between the PS410 and the gadget. You can choose:
Disabled
XON/XOFF – in-band characters
RTS/CTS – RS-232 hardware signals
Somewhat to my surprise, It Just Worked despite my blundering.