Tuesday, April 30, 2024

 

Pretty Good 400μm tall RepRapMicron Logo, 20μm Feature Size.

This one came out well. I've made a test square in gcode that gradually spirals down 2μm a side, and I reset the Z height every time I run it until I touch the surface, then back it out to correspond with the height of the first side of the square that touches. This needs to be done to a precision of 1μm, and because it's a fairly consistent and binary scratch/no scratch I'm pretty sure I'm getting 1μm accuracy on the Z height. The lines are wavey because the relatively blunt tip on the hypodermic is hitting surface imperfections and pushing around them, as you can see at the roughly 4 o'clock position on the outline:


This might get better with a finer tip as there is less material on the probe for potential collisions and a sharper cutting edge. I'll try that next. As you can see from the image, the smallest feature - the thin bottom curve on the μ - is a 20μm gap. This is approximately the pixel size of a good home MSLA printer. The line width is somewhat less than 10μm which is the best I've ever managed with a hypodermic needle tip.


 

Second Crack At Logo

Getting closer. You can see the 'u' if you squint...


Getting the Z height right is the tricky part, there being no bed levelling. I'm not sure what increment to move the Z axis down at. Might set up a file that draws a square moving down 0.001mm per corner and keep doing those until I hit the surface.

Other developments: UV LED turned up, and it sets the resin I've got. Using the UV hole to illuminate the slide from underneath with white light helps too - I just put a piece of white paper under it and shine the side microscope LED onto the paper.


 

First Crack At Automated Drawing

So this is not the most graceful or successful attempt to draw a RepRap logo with a μ in the middle of it, but you can see where I'm headed. It was meant to be 400μm tall but looks a little less. The calibration squares are 50μm on a side. What I think is happening here is that I'm driving the point firmly into the substrate and actually bending the point around as the slide moves.



The cool part though is that this was controlled from the standard cncjs app, so I'm eliminating all my dodgy homebrew interface.

That's what I can do with a standard hypodermic needle. Now I have a little more confidence I'll give one of my fine points a go next.


Monday, April 29, 2024

 

Introducing "Titch"

Here's the first Block Stage prototype which might one day manage actual fabrication. As it has half a chance of working, I've given it a name: "Titch"

It is a reinforced OpenFlexure Block Stage with a larger flexure angle (to increase work area) and a probe platform. The probe holder is now canted at 45 degrees so I don't have to bend probe tips. Various holes have been made to make it possible to screw the thing together, and I've upgraded the NEMA17 motor adaptor plates. The whole thing is screwed down to a board together with two USB microscopes: One for gauging probe height, the other with a more expensive 5MP camera for viewing the XY motion. It can be moved around the bench without knocking everything out of alignment. The USB microscopes are still no match for the proper turret microscope but should resolve well-illuminated scratches down to 15-20μm - good enough for lining stuff up.

Having a basic XYZ configuration it can be driven with either GRBL or standard RepRap firmware like Marlin. As the angle of the delta struts is no longer an issue, the endstops have been temporarily ditched and I'll roughly centre it with a Mk I Calibrated Eyeball.

The stage is much smaller and so instead of microscope slides I am using 22mm x 22mm x 0.13mm microscope slide cover slips (7 cents each here). Attachment is currently with duct tape which is actually working out quite well.

Having less glass in them, the cover slips will let more UV through when it comes to curing resin. The OpenFlexure housing has been modified to have a hole through the stage, and a cavity at the back to stuff a UV light source into. The hole is offset, the theory being that the resin and dunking probe tip will go in the shade when the UV is turned on to cure the resin.

Titch is gloriously uncalibrated but I've given it a test flight with cncjs software and it seems to be moving everything consistently. I don't know the actual resolution but it was reliably drawing parallel lines about 30μm apart using a sturdy hypodermic tip. I'll let you know how it goes, and publish the STL files when I've ironed the kinks out.


Sunday, April 28, 2024

 

First pass at proper prototype

Well, that didn't work so good. the base part was overly long, lots of holes needed to be drilled to access construction screws, and the anti-backlash bands didn't fit. Darn. I've reworked it, and the reworked version with holes already in it and a bit more reinforcement etc. is now printing. Also, I blew a stepper controller. More updates when the next print is completed.


 

The μRepRap Is Dead. Long Live The μRepRap.

Time to announce the decommissioning of the original OpenFlexure delta stage so I can salvage parts to build the new block stage. If I don't announce it, I'll never get round to it, because I'm kinda fond of the thing and it did teach me a heck of a lot. But progress. So here's a photo of it and the optics I use just prior to the salvage operation.




Wednesday, April 24, 2024

 

Z axis variations

Now I can actually move around and scratch things with the probe I'm noticing an awful lot of variation in the Z axis. Whenever I move to a new bit of the slide, the height is out. I don't know if this is just the setup I have, or if it's a thing with the delta stage in general.

However, I've got a lot of data and micron-scale experience from the delta stage. Time to move on to the XYZ stage that has a smaller work area (4x4x2mm) but higher accuracy. Allegedly down to 250nm. That'll take a while to do, so I'll be playing with the delta for a bit longer while I sort it out. The good news is that the XYZ stage should work with standard 3D printer firmware and I can ditch a lot of the more painful delta work.

So there are a few things I still want to explore with the delta, mostly involving photopolymer resin tests. I have resin, and a 3W UV lamp is on order. I doubt I'll break any resolution records in the initial tests, but if I can make objects smaller than a millimetre that don't look like a jellyfish I'll be happy.


Tuesday, April 23, 2024

 

Head Crash At 50μm

Here's how it works so far. Getting the Z height dialled in is tricky, and I can no longer really see what I'm doing - I'm looking for a spot of light coming through the Sharpie layer on the slide. I have moved to a different marker pen which has a much finer grain to the ink.


So this image shows a trail of Z height adjustment leading up to a 50μm square with a line drawn in the middle of it (actually a 20/30μm split). Note that the Z height is moving within the thickness of a layer of Sharpie ink as I guide it in. Probe tip appears to be about 5μm.

Then disaster. I switch from 0.001mm steps to 0.1mm steps to guide the probe out of the way, go the wrong direction on Z, and plough into the slide. The huge gash resulting (top right) is about the thickness of a human hair. The image was taken on a turret microscope after I removed the slide. My best USB macro camera has a fraction of that magnification, and I'm working on a new mount to get it closer. I'm guiding the Z height initially by looking at a side view from another USB macro camera. I'll post a picture of the setup when I fire it up next.

Upside: I'm now showing a feature 20μm in size, which beats the resolution of a high-end resin printer if I can keep it up.


 

0.1mm Cross - Can I call it microns now?

Here is a cross made from 0.1mm squares, or 100 microns on a side. Etched into sharpie on a glass slide with a 0.3mm base conical nichrome tip. This is not my sharpest tip but at least the lines are relatively consistent in width on X and Y unlike the hypodermic needle tip. I'm now running into the limits of Sharpie as a substrate. I think I can call it micron scale now with some plausible justification.

Calibration slide shows 0.05mm or 50 micron squares.




Monday, April 22, 2024

 

0.2mm square vs. calibration slide

Nothing like proving your results. On the left we have my notional 0.2mm square (somewhat dusty by now) scratched into a sharpie-covered slide. On the right we have my new 0.01mm/div calibration slide. The small squares in the centre are 0.05mm a side each. So yes, I'm at about 0.2mm and can prove it. I'll freely admit I need to get my steps/mm dialled in a bit better but my efforts are pretty much within the error of line widths. With the big microscope though it's possible to see that even with the (relatively) chonky hypodermic needle tip the interior corners of the square are nice and sharp.

We can also see that the hypodermic tip is cutting a swath about 25 microns in one direction and 50 microns in a perpendicular direction, which one might expect as the things are obliquely sharpened.

The image of the square is at an angle basically because I mounted the slide in the μRepRap at an angle when I cut it. Bits of equipment just got in the way...

I've made headway into being able to set up the Z axis in software, so I might risk a slightly sharper, conical tip. I'll make one out of 0.3mm wire and try not to make it too pointy.


Sunday, April 21, 2024

 

Back again. Implementing CNC-like controls

EverythingOpen conference presentation done, back to project work. I'm implementing CNC-like controls to home the axes and set the zero positions for XY and Z to allow CNC-like control.

This is not a straightforward as it seems. I can't just tell the GRBL to home because the XYZ on the GRBL does not correspond to the XYZ of the stage. So to do a HOME I have to first position the stage XY to zero, then move stage Z to zero. This stops me dragging the probe over the stage, and I think that bit works.

Setting new zero positions for XY and Z before beginning "work" has a similar problem, so I have to design a relative zero for all axes and factor that in for all move commands. Haven't done that yet.

Finally, I'll want to read in a gcode file and move the stage around. Again, this requires translating stage positions into relative positions, then moving the towers with GRBL. I'll experiment with using jscut http://jscut.org to generate the gcode from SVG files. I'll probably have to implement some kind of scaling system for the gcode because I'm not sure how jscut will handle very tiny numbers (Inkscape certainly fails on this).


This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]