Posts Tagged CNC
The fairing mount must aim the flashlight generally parallel to the ground and slightly toed-in toward the bike’s frame, ideally holding the ball more-or-less in the center of its adjustment range. I eyeballed a protractor for the initial estimates and got it reasonably close on the third try:
One more skilled in math than I could define a matrix transformation between the solid model’s XYZ coordinate space and the fairing’s XYZ space, then figure the reverse transformation allowing you to convert real-world angles back to the model’s space. I winged it by setting up adjustments to rotate the ball clamp ring on all three axes around its center:
Lifting the ring upward by half its OD leaves it tangent to the XY plane, firmly embedded in the blank fairing clamp plate, and, through the magic of 3D printing, looking like it grew there.
In practice, aligning the ring isn’t too difficult. Align an eyeball along each of the mount’s axes, center a protractor on the ball with it perpendicular to the line of sight, rotate it so the baseline is level / straight-ahead / crosswise, read off the angle, then type it in. Of course you’ll get the sign wrong at least once.
For a given set of those angles, the mount looks like this:
You can determine by inspection there’s no way to orient the shape for E-Z building, although putting the plate flat on the platform has a lot to recommend it.
The outside being a spherical section, the overhangs will curl upward, so (as with the ball around the flashlight) rows of fins anchor the perimeter threads:
The fins are just under two threads wide to eliminate any possible infill, with a simple sphere chopping their tops to fit just inside the clamp:
Slic3r built support structures under the overhanging screw bosses:
It also added weird little towers that don’t come close to touching the clamp’s lower surfaces, which is why I added those fins. The automatic support should extend to one thread thickness from the bottom surface, but that’s a hard calculation to make for a spherical section represented by tesselating triangles.
After a few test rides, the whole affair seems to be both holding together and holding the flashlight, so it’s good enough for now. A twilight ride around the block may be needed for better aiming, though.
With the flashlight firmly clamped inside its ball, a surrounding clamp ring holds the ball on the mount:
The solid model chops a sphere to a completely empirical 70% of the inner ball’s length (which, itself, may be truncated to fit the flashlight grip) and glues on a hull containing the M3x50 mm screws:
The complete ring looks about like you’d expect, although it’s never built like this:
The top half builds as an arch on the platform:
The uppermost layers on the inside of the arch have terrible overhang pulled upward by the cooling plastic, so the builtin support structure hold the layers downward. The preview shows they don’t quite touch, but in actual practice the support bonds to the arch and requires a bit of effort to crack off:
The ones on the right come from my (failed) attempts to build the ball hemispheres in the obvious orientation. It’s worth noting that my built-in “support” both bonds to the part and breaks off in one piece, quite unlike the pitched battle required to separate Slic3r’s automatic support structures; I think that’s the difference between the minimum feasible and maximum possible support.
Anyhow, the inside of the arch requires only a bit of cleanup with a ball mill before it clamps firmly around the flashlight ball. In the normal orientation, the space over the missing ball cap snuggles into the cleaned-up part of the arch and there’s enough friction on the remaining ball to hold it in place. If it does joggle loose, a wrap of tape should provide enough griptivity.
I started by assuming socket-head cap screws and brass inserts embedded in the clamp ring could provide enough force to hold everything together:
The head recesses into the top opening and the insert sits just below the split line on the XY plane. That turned out to be asking a lot from a pair of 3 mm knurled brass inserts, even with JB Weld in full effect, and I wasn’t at all confident they wouldn’t pop out under duress and fling the flashlight away.
Each screw now compresses the entire boss between a pair of washers and the nyloc nut won’t vibrate loose. The screws also serve to stiffen the clamp ring front-to-back, although I’m not convinced it needs any reinforcement.
I also considered splitting the ring parallel to the front, right down the middle, with screws extending through both halves:
It’d be trivially easy to build the front half face-down on the platform, but the rear would have only half the surface area bonded to the plate against the fairing, which seemed like a Bad Idea. Worse, I couldn’t figure out how to align the rear half on the plate with enough room for the nuts / inserts / whatever and alignment space around the front half.
A flashlight used as a daytime running light must point generally forward and an actual bike headlight must light up the road, so it must sit on an az-el mount. My old bike helmet mirror mount had actual vertical and horizontal joints:
Every doodle along those lines seemed too big, too fragile, too fiddly, or all at once.
Living here in the future, though, we can produce (crude) ball joints to order:
That’s an early version of the outer mount using threaded brass inserts.
The ball around the flashlight separates along the obvious plane of symmetry, with a 2 mm socket-head cap screw and brass insert on each side. I tried printing the hemispheres convex-side-up with hand-hewn support structures inside:
The huge overhanging sections parallel to the axis didn’t bond to the supports, curled upward, and began nudging the dangling Z-axis homing switch actuator. This wasn’t a completely wasted effort, though, as similar support structures came in handy for the outer clamp ring.
Flipping the hemispheres over so they printed U-channel upward didn’t work much better, even sitting on a flat section to eliminate the absurd part of the overhang. This view shows one hemisphere with the missing cap:
Flipped over, the flat surface bonded perfectly to the platform, but the overhang still warped as the upper layers cooled and pulled the perimeter upward:
Because normal support structures don’t contact the outer surface, I added fins to the model to hold the perimeter (almost) flat until the outer walls became sufficiently vertical to stop warping:
They’re fearsome hedgehogs in person:
The grip diameter determines the sphere diameter, as the sphere must have enough meat next to the grip to hold the screws and inserts. Rather than have the diameter different for every flashlight, I set it to the maximum of 45 mm or the actual diameter, which means all the flashlights in my collection have a common ball size. The hemispheres on the right have flattened ends to accommodate flashlight grips shorter than the sphere’s final diameter, achieved with a pair of
intersection() operations lopping off the protruding bits:
Because the fins extend from resolutely convex surfaces, I snipped them off with flush-cutting pliers, reamed out the holes, epoxied the inserts in place, assembled the ball, and introduced it to Mr Belt Sander.
Protip: don’t hold the ball with your finger through the hole. It will eventually fly off under the workbench and it’s better if it doesn’t break your finger in the process.
A somewhat rough outer surface turns out to be an advantage, not a liability, as the clamp ring around the ball must hold it against the normal (and unusually severe) vibrations found on a bike.
The inner cylindrical section is smooth enough to require a wrap of tape around the flashlight grip to anchor it in position. The tape adheres to the flashlight and squishes into the ball’s layer lines, even under mild pressure from the 2 mm screws. The outer clamp ring applies compression to the ball, so the tiny screws need not withstand much force at all, which is a good thing.
A note arrived from someone who obviously couldn’t pass up an orphaned HP 7475A plotter:
The plotter I received works beautifully, except that the carousel doesn’t rotate. I found a YouTube video showing a 7475a running with the cover off, and there’s a little plastic piece – it looks like a teardrop – that advances the carousel, and is apparently part of the carousel motor assembly. Mine is missing that piece …
The keyword is Geneva drive, a wonderfully simple technique to convert one rotation of the stepper motor into 1/6 turn of the pen carousel, with no need for fancy sensors.
Back in the day, you could get the entire Pen Carousel Housing Assembly w/ Motor (PN 07475-60175) as a unit and the Carousel Motor Only (PN 3140-0687) as a separate thing, but not the Geneva drive wheel:
The cam’s drive wheel end (in inches, because early 1980s):
- 0.25 thick overall
- 0.10 thick plate under pin end
- 1.09 OD – rounded end
The pin sticking up from the cam:
- 0.154 OD (or fit to slot?)
- 0.16 tall (above base plate)
I have no good (i.e., easy + accurate) way to measure the distance from the motor shaft to the pin, but I doubt it’s critical. As long as the pin doesn’t quite whack the hub end of the slot, it’s all good:
The 0.10 plate + 0.16 pin height don’t quite add up to the 0.25 overall measurement, but that’s certainly measurement error. I’d round the pin length downward and carve the drive from a 1/4 inch sheet.
A 3D printed part would probably work, apart from the accuracy required to fit the D-shaped motor shaft. Perhaps a round hole, reamed to fit the shaft, carefully aligned / positioned, with epoxy filling the D-shaped void, would suffice. A dent in the round hole would give the epoxy something to grab.
I’d be sorely tempted to use an actual metal / plastic rod for the pin, rather than depend on a stack of semi-fused plastic disks. The pin must withstand hitting the end of the “missing” slot during the power-on indexing rotation, because turning the carousel isn’t quite a non-contact sport. Normally, though, it enters the end of the slot without much fuss:
The blocked slot sits at the bottom of that picture, with a small locating pin sticking upward just above the circular feature at the end of the arm: we’re seeing the negative of a plug inserted into the original injection mold.
[Update: It lives! ]
The final installment of musings about building a large-format 3D printer …
(Continued from yesterday)
Perhaps they saw your blog post?
The old-old (original) high-resistance Kysan motor costs something like $45 and, apart from minor cosmetic differences, looks /exactly/ the same as the old-new low-resistance motor. If you were picking motors and didn’t quite understand why you needed a low-resistance winding, which would you pick? Hence, my insistence on knowing the requirements before plunking down your money.
To be fair, I didn’t understand that problem until the Thing-O-Matic rubbed my nose in it. With all four motors. Vigorously.
So, yeah, I think I had a part in that.
comes back to the same numbers over and over
The new-new leadscrews have something like half the pitch of the old-new and old-old threads; I don’t recall the number offhand. In any event, that gives you twice the number of motor steps per millimeter of motion and roughly twice the lifting force. This is pretty much all good, even though it may reduce the maximum Z axis speed (depends on your settings & suchlike).
When it moves upward by, say, 5 mm and downward by 5 mm, you’re measuring position repeatability. That level of repeatability is pretty much a given (for the M2, anyhow), but it doesn’t involve stiction & suchlike.
Can you move the platform up by 0.01 mm, then down by 0.01 mm, and measure 0.01 mm change after each motion?
Do larger increments track equally well in both directions?
Move upward a few millimeters, then step downward by 0.01 mm per step. Does the measurement increase by 0.01 mm after each step?
Repeat that by moving downward, then upward in 0.01 mm increments.
If the platform moves without backlash & stiction in both directions with those increments, it’s a definite improvement.
I wish I knew more
everything you learned is burned into your head forever
The way to learn more is exactly what you’re doing.
Two things I learned a long time ago:
1. Whenever you have two numbers, divide them and ask whether the ratio makes sense.
2. Whenever you don’t understand a problem, do any part of it you do understand, then look at it again.
Also, write everything down. When you come back later, you won’t remember quite how you got those results.
Which is precisely why I have a blog. I search with Google (site:softsolder.com microstepping) and /wham/ I get a quick refresher on what I was thinking. That’s why I keep link-whoring URLs: that’s my memory out there!
You’ll sometimes find scans of my scrawled notes & doodles. They won’t mean anything to you, but they remind me what I do to get the answers in that blog post.
modern controllers utilize much higher voltage and current bursts
More or less. Microstepping drivers apply a relatively high voltage, far in excess of what the winding can tolerate as a DC voltage, then regulate the current to a value that produces the appropriate waveform.
This may be helpful:
The mass of the bed APPEARS to be cancelling out any magnetic or mechanical stiction.
That can’t be true in both directions: the gravity vector points downward and the results aren’t symmetric. I think you’re reading noise. If the sequences of motions I described don’t produce the results I described, then you’re /definitely/ measuring noise.
From back in the Thing-O-Matic days:
E3D hot end setups vs MakerGear’s?
I’d want that groovemount post in an all-metal socket, though, rather than the traditional plastic, to get solid positioning and tolerance control. Makergear has the right idea with the aluminum V4 heater block mount.
Continued musings about building a large-format 3D printer …
(Continued from yesterday)
taking your challenge and am starting by cloning the M2
That gives you an existence theorem: you know exactly what you want to end up with.
AFAICT, few of the M2’s parts bear standardized numbers you can simply order from a reputable seller. Makergear knows what it’s buying (obviously!), but they’re under no obligation to help out: you must reverse engineer the requirements, find a suitable part, find a supplier, then buy one item.
Let me know how that works out for cost & performance; “cost” should include a nonzero value for your time and “performance” should have numbers you can verify. I (obviously) think the build will be a dead loss on both counts (*), but good data will be interesting.
(*) Albeit useful for educational purposes, which I’ve used to justify many absurd projectst!
How the heck do you read out the current (estimated, obviously) X Y Z position absolute to the machine coordinates?
Perhaps M114 or M117?
My overall list may be helpful, although the RepRap Marlin reference has more detail on their command set:
The LinuxCNC (and, perhaps, Machinekit) G-Code languages give you access to built-in variables and extend G-Code into a true scripting language. Marlin evolved differently and doesn’t support that sort of thing.
G-Code is pretty much a write-only language, but you can do some interesting things:
I use the gcmc compiler whenever I can for actual CNC machining:
Works for me, anyhow, although I don’t do much CNC these days.
move my nozzle up .01 at a time
Stiction / microstep errors / command resolution prevent that:
The only way to measure the nozzle position is to measure a finished part with a known height, because any variation comes from the first layer offset. That’s if you have Z=0 at the platform, of course, rather than whatever offset you get by defining Z=0 at some random height based on jamming business cards / feeler gages / special Japanese rolling papers under the snout. [ptui & similar remarks]
You need numbers. Lots of numbers. [grin]
strip basic tools out of the control interface
Yet another reason I don’t use S3D: that “Simplify” thing gets in the way of my obsessive need for control.
More musings in response to questions about building a large-format 3D printer.
(Continued from yesterday)
make a direct clone of the M2. No thinking required.
The present-day M2 has survived four years of rather fierce Darwininan winnowing, so it’s a much better thought-out product than, ahem, you may think just by looking at it.
To build a one-off duplicate, you’ll spend as much money collecting the parts as you would to just buy another M2 and start printing.
Should you buy cheap parts to save money, without considering the requirements, you’ll get, say, the same Z-axis motor Makergear used on the original M2, the complete faceplant of Thing-O-Matic electronics, or crap from eBay described as being kinda-sorta what you want.
Sometimes crap from eBay can be educational, of course:
I encourage thinking, particularly with numbers, because it leads to understanding, rather than being surprised by the results.
increase the rigidity of the X and Y axis
In round numbers, deflection varies as the fourth power of length: enlarge a frame member by 50% and it becomes five times bendier. If your design simply scales up the frame, it won’t hold the tolerances required to produce a good object.
If you add more mass (“stiffening”) to the Y axis, then the Z axis motor (probably) can’t accelerate the new load upward with the original firmware settings and the Y axis motor may have trouble, too. Perhaps you should measure the as-built torque to support your design:
Reduce the acceleration and lower the print speed? Use bigger motors (if you can find a Z motor with the correct leadscrew) and lose vertical space? Make the frame taller and lose stiffness? Use two Z motors (like the RepRap Mendels) and get overconstrained vertical guides? Try building a kinematic slide and lose positioning accuracy? Your choice!
If your intent is to print more parts at once, buy more M2 printers, which will not only be cheaper, but also give you more throughput, lower the cost of inevitable failures, good redundancy, and generally produce better results. Some of the folks on the forum run a dozen M2s building production parts; they’re not looking for bigger print volumes to wreck more parts at once.
Conversely, if your intent is to learn how to build a printer, then, by all means, think about the design, run the numbers, collect the parts, then proceed. It sounds like a great project with plenty of opportunity for learning; don’t let me discourage you from proceeding!
However, I’ll be singularly unhelpful with specific advice, because I’m not the guy building the printer. You must think carefully about what you want to achieve, figure out how to get there, and make it happen.
To a large extent, searching my blog with appropriate keywords will tell you exactly what I think about 3D printing, generally with numbers to back up the conclusions. Get out your calculator, fire up your pencil, and get started!