Advertisements

Archive for category Software

Tour Easy: Ruggedized Zzipper Fairing Mount

After nigh onto 18 years, the pipe straps holding the Zzipper fairing struts to the handlebars of our Tour Easy recumbents finally shrugged off their plastic wraps:

Tour Easy Zzipper Fairing - OEM mount
Tour Easy Zzipper Fairing – OEM mount

Although they still worked, riding over broken pavement produced distinct rattles; alas, the roads around here feature plenty of broken pavement.

The solution is a rugged plastic block capped with aluminum plates to spread the clamping load:

Tour Easy Zzipper Fairing - block mount
Tour Easy Zzipper Fairing – block mount

The solid model is straightforward:

Zzipper Fairing - Strut Mount - solid model - Show view
Zzipper Fairing – Strut Mount – solid model – Show view

A slight bit of tinkering made the stack exactly the right height for 45 mm screws secured with nyloc nuts. No washers on either end, although that’s definitely in the nature of fine tuning.

The three sections print without support:

Zzipper Fairing - Strut Mount - solid model
Zzipper Fairing – Strut Mount – solid model

I reamed the smaller hole with a 3/8 inch drill to match the fairing strut rod. The as-printed larger hole fit the handlebar perfectly, although the first picture shows the tubing isn’t exactly round on the near side of the block, where it starts the outward bend toward the grips.

The cap plates cried out for CNC, but I simply traced two outlines of the block on 1/8 inch aluminum sheet, bandsawed near the line, introduced them to Mr Disk Sander for finishing & corner rounding, transfer-punched the holes from the plastic blocks, and drilled to suit:

Tour Easy Zzipper Fairing - clamp plates
Tour Easy Zzipper Fairing – clamp plates

Making two pairs of plates by hand counts as Quality Shop Time around here.

The first few rides confirm the fix: no rattles!

The OpenSCAD source code as a GitHub Gist:

Advertisements

, ,

2 Comments

CNC 3018-Pro: GRBL Configuration

The CNC 3018-Pro router arrived with GRBL 1.1f installed on the Camtool V3.3 board and ran well enough, although it accelerated very slowly. After installing Home switches, figuring out the travel limits, and trying different speeds & accelerations, it runs much better:

3018 CNC - Endstop switches - overview
3018 CNC – Endstop switches – overview

Configuration values to remember for next time:

$1=100 turns off the stepper motor drivers after 100 ms of inactivity:

3018 X - 100ms timeout - 100mm-min 12V 500 ma-div
3018 X – 100ms timeout – 100mm-min 12V 500 ma-div

There’s no force worth mentioning on a diamond scribe when the motors stop, so there’s no reason to keep them energized, and the DRV8825 chips resume from the same microstep when re-enabled.

$3=5 reverses the X and Z motor rotation, so you can use the same type of cable on all three axes and have them move the way you’d expect.

$20=1 turns on Soft Limits, thereby producing an error when you (or the G-Code) tries to move beyond the machine’s limits, as defined by the $120 $121 $122 values relative to the Home switch positions.

$21=0 leaves Hard Limits off, because I didn’t see much point in switches on both ends of all the axes for this little bitty machine.

$22=1 enables the Home cycle, after which you must start each session by homing the machine.

$27=1.000 sets the Pull-off distance from all three Home positions, so the machine ends up at absolute XYZ = -1.000 mm relative to the switch trip points after homing. This depends on the mechanics of the limit switches, but seems OK with the MBI-style switches I used:

3018 CNC - X axis endstop - 1 mm pull-off
3018 CNC – X axis endstop – 1 mm pull-off

$100 $101 $102 = 1600 set the XYZ step/mm, which requires knowing the 3018-Pro uses two-start leadscrews with a 2 mm pitch = 4 mm lead:

3018 CNC - two-start leadscrew
3018 CNC – two-start leadscrew

The Camtool V3.3 board hardwires the DRV8825 stepper controllers into 32 microstep mode, so:

1600 step/mm = (200 full step/rev) × (32 microstep/full step) / (4 mm/rev)

$110 $111 $112 = 1100 set the maximum speed along the XYZ axes in mm/min. Note the hard upper limit set by the maximum microcontroller interrupt rate of about 40 k/s:

1500 mm/min = 25 mm/s = (40×10³ step/s) / (1600 step/mm)

I’ll have more to say about speed limits, stepper current, torque, and similar topics.

$120 $121 $122 = 3000 set the acceleration along the XYZ axes in mm/sec². These are two orders of magnitude higher than the default acceleration, which accounts for the as-received sluggish acceleration.

$130=299.000 $131=179.000 $132=44.000 set the XYZ travel limits relative to the Home switch trip points, which feed into the $20=1 Soft Limits. You could probably eke out another millimeter along each axis, but this is what I came up with.

With all those in place, the G54 coordinate system puts the XY origin dead in the middle of the platform and the Z origin a little bit below its upper travel limit. Set them thusly:

G10 L2 P1 X-147 Y-90.6 Z-1.5

The original and tweaked GRBL configuration settings as a GitHub Gist:

The as-shipped configuration is mostly for reference, but ya never know when it might come in handy.

, ,

Leave a comment

Xiaomi-Dafang Hacks: FTP Server for Camera Files

Since the PiHole runs all the time, it now hosts an FTP server to stash snapshots from the cameras onto a 64 GB USB stick. I installed ProFTPD, which Just Worked with a few configuration tweaks:

UseIPv6             off
ServerName          "PiHole"
DefaultRoot         /mnt/cameras
RequireValidShell   off

The cameras use the BusyBox ftpput command to stash their images (with the hostname prepended), which requires a few changes to motion.conf in the cameras:

ftp_snapshot=true
ftp_host="192.168.1.2"
ftp_port=21
ftp_username=$(/bin/hostname)
ftp_password="make up your own"
ftp_stills_dir=$(/bin/hostname)

The last line uses a separate directory for each camera, although they quickly ran into the FAT32 limit of 64 K files per directory; reformatting the USB stick with an ext3 filesystem solved that problem.

Fortunately, nothing much ever happens around here

New Utility Pole Arrives
New Utility Pole Arrives

,

Leave a comment

Beware the Domain Squatters

A squatter has taken over a defunct domain at the far end of a link buried somewhere in the 3800 posts you find here. In place of the useful page I saw, you’ll see this stylin’ popover:

Domain Squat - engineeration dot com
Domain Squat – engineeration dot com

The “standard security check” is a nice touch, although you should keep in mind the Dilbert cartoon about unexpected side effects.

The actual URL, which I will not make clickable, includes the domain ffgetsplendidapps, which tells you just about everything you need to know about what’s going on.

Because they’re squatting, “continue directly to your destination” means being dumped into a Google search after they’ve meddled with your browser & system configuration. Clicking the inconspicuous × in the upper right closes the popover and dumps you into the search, perhaps before doing anything.

I have no good (i.e., automated) way to find broken links and, as far as I know, there is no way to automatically detect domain squatting, so you’re on your own.

Trust, but verify!

5 Comments

Step2 Garden Seat: Replacement Seat

A pair of Step2 rolling garden seats (they have a new version) served in Mary’s gardens long enough to give their seat panels precarious cracks:

Step2 Seat - OEM seat
Step2 Seat – OEM seat

The underside was giving way, too:

Step2 Seat - cracks
Step2 Seat – cracks

We agreed the new seat could be much simpler, although it must still hinge upward, so I conjured a pair of hinges from the vasty digital deep:

Rolling Cart Hinges - solid model - bottom
Rolling Cart Hinges – solid model – bottom

The woodpile disgorged a slab of 1/4 inch = 6 mm plywood (used in a defunct project) of just about the right size and we agreed a few holes wouldn’t be a problem for its projected ahem use case:

Step2 Seat - assembled
Step2 Seat – assembled

The screw holes on the hinge tops will let me run machine screws all the way through, should that be necessary. So far, a quartet of self-tapping sheet metal (!) screws are holding firm.

Rolling Cart Hinges - solid model - top
Rolling Cart Hinges – solid model – top

A closer look at the hinges in real life:

Step2 Seat - top view
Step2 Seat – top view

The solid model now caps the holes; I can drill them out should the need arise.

From the bottom:

Step2 Seat - bottom view
Step2 Seat – bottom view

Three coats of white exterior paint make it blindingly bright in the sun, although we expect a week or two in the garden will knock the shine right off:

Step2 Seat - painted
Step2 Seat – painted

After the first coat, I conjured a drying rack from a bamboo skewer, a cardboard flap, and some hot-melt glue:

Step2 Seat - drying fixture
Step2 Seat – drying fixture

Three small scars on the seat bottom were deemed acceptable.

The OpenSCAD source code as a GitHub Gist:

This original doodle gives the key dimensions, apart from the rounded rear edge required so the seat can pivot vertically upward:

Cart Hinge - dimension doodle
Cart Hinge – dimension doodle

The second seat looks just like this one, so life is good …

,

Leave a comment

MPCNC: Calculating Spring Rates

Calculate the spring rates for the drag knife, diamond engraver, and collet pen holders by measuring the downforce every 0.5 mm (or so):

LM12UU Collet Pen Holder - spring rate test
LM12UU Collet Pen Holder – spring rate test

Then plotting the data points and eyeballing a straight-line curve fit:

MPCNC - Drag Knife Holder - spring constant
MPCNC – Drag Knife Holder – spring constant

Doing it on hard mode definitely has a certain old-school charm. The graph highlights mis-measured data and similar problems, because, if you don’t see a pretty nearly straight line, something’s gone awry.

But we live in the future, so there’s an easier way:

Droid48 - Spring Rate - Linear Fit coefficients
Droid48 – Spring Rate – Linear Fit coefficients

Well, OK, it’s the future as of the early 1990s, when HP introduced its HP 48 calculators. I’m using the Droid48 emulator on my ancient Google Pixel: living in the past, right here in the future.

Start by firing up the STAT library (cyan arrow, then the 5 key), selecting Fit Data … from the dropdown list, then selecting the Linear Fit model:

Droid48 - Spring Rate - Linear Fit screen
Droid48 – Spring Rate – Linear Fit screen

Then tap EDIT and enter the data in a tiny spreadsheet:

Droid48 - Spring Rate - Linear Fit data
Droid48 – Spring Rate – Linear Fit data

My default “engineering mode” numeric display format doesn’t show well on the tiny screen. Tapping the WID→ key helps a bit, but shorter numbers would be better.

With the data entered, set an X value and tap the PRED key to get the corresponding Y value:

Droid48 - Spring Rate - Linear Fit prediction
Droid48 – Spring Rate – Linear Fit prediction

Tapping the OK button puts the line’s coefficients on the stack, as shown in the first picture. Write ’em on a strip of tape, stick to the top of the holder, and it’s all good:

LM12UU Collet Pen Holder - test plot - overview
LM12UU Collet Pen Holder – test plot – overview

Works for me, anyhow.

HP still has the HP 48g manuals online. The (unofficial) HP Museum has a page on the HP 48S. More than you want to know about the 48 series.

,

2 Comments

MPCNC Collet Pen Holder: LM12UU Edition

Encouraged by the smooth running of the LM12UU drag knife mount, I chopped off another length of 12 mm shaft:

LM12UU Collet Pen Holder - sawing shaft
LM12UU Collet Pen Holder – sawing shaft

The MicroMark Cut-off saw was barely up to the task; I must do something about its craptastic “vise”. In any event, the wet rags kept the shaft plenty cool and the ShopVac hose directly behind the motor sucked away all of the flying grit.

The reason I used an abrasive wheel: the shaft is case-hardened and the outer millimeter or two is hard enough to repel a carbide cutter:

LM12UU Collet Pen Holder - drilling shaft
LM12UU Collet Pen Holder – drilling shaft

Fortunately, the middle remains soft enough to drill a hole for the collet pen holder, which I turned down to a uniform 8 mm (-ish) diameter:

LM12UU Collet Pen Holder - turning collet body
LM12UU Collet Pen Holder – turning collet body

Slather JB Kwik epoxy along the threads, insert into the shaft, wipe off the excess, and looks almost like a Real Product:

LM12UU Collet Pen Holder - finished body
LM12UU Collet Pen Holder – finished body

The far end of the shaft recesses the collet a few millimeters to retain the spring around the pen body, which will also require a knurled ring around the outside so you (well, I) can tighten the collet around the pen tip.

Start the ring by center-drilling an absurdly long aluminum rod in the steady rest:

M12UU Collet Pen Holder - center drilling
M12UU Collet Pen Holder – center drilling

Although it’s not obvious, I cleaned up the OD before applying the knurling tool:

LM12UU Collet Pen Holder - knurling
LM12UU Collet Pen Holder – knurling

For some unknown reason, it seemed like a Good Idea to knurl without the steady rest, perhaps to avoid deepening the ring where the jaws slide, but Tiny Lathe™ definitely wasn’t up to the challenge. The knurling wheels aren’t quite concentric on their bores and their shafts have plenty of play, so I got to watch the big live center and tailstock wobbulate as the rod turned.

With the steady rest back in place, drill out the rod to match the shaft’s 12 mm OD:

LM12UU Collet Pen Holder - drilling shaft
LM12UU Collet Pen Holder – drilling shaft

All my “metric” drilling uses hard-inch drills approximating the metric dimensions, of course, because USA.

Clean up the ring face, file a chamfer on the edge, and part it off:

LM12UU Collet Pen Holder - parting ring
LM12UU Collet Pen Holder – parting ring

Turn some PVC pipe to a suitable length, slit one side so it can collapse to match the ring OD, wrap shimstock to protect those lovely knurls, and face off all the ugly:

LM12UU Collet Pen Holder - knurled ring facing
LM12UU Collet Pen Holder – knurled ring facing

Tweak the drag knife’s solid model for a different spring from the collection and up the hole OD in the plate to clear the largest pen cartridge in the current collection:

Collet Holder - LM12UU - solid model
Collet Holder – LM12UU – solid model

Convince all the parts to fly in formation, then measure the spring rate:

LM12UU Collet Pen Holder - spring rate test
LM12UU Collet Pen Holder – spring rate test

Which works out to be 128 g + 54 g/mm:

LM12UU Collet Pen Holder - test plot - overview
LM12UU Collet Pen Holder – test plot – overview

I forgot the knurled ring must clear the screws and, ideally, the nyloc nuts. Which it does, after I carefully aligned each nut with a flat exactly tangent to the ring. Whew!

A closer look at the business end:

LM12UU Collet Pen Holder - test plot - detail
LM12UU Collet Pen Holder – test plot – detail

The shaft has 5 mm of travel, far more than enough for the MPCNC’s platform. Plotting at -1 mm applies 180 g of downforce; the test pattern shown above varies the depth from 0.0 mm in steps of -0.1 mm; anything beyond -0.2 mm gets plenty of ink.

Now I have a pen holder, a diamond scribe, and a drag knife with (almost) exactly the same “tool offset” from the alignment camera, thereby eliminating an opportunity to screw up.

The OpenSCAD source code as a GitHub Gist:

, ,

6 Comments