Monday, March 03, 2025

 

Life throws a curve ball

You may have noticed a lack of updates. This is because I had to enter a long shooting competition some distance from the lab. I have returned to find my father unwell, and have to fly off again in a few days. This is not conducive to getting work done, and why I would appreciate others joining in with the project.

The conductive resin suppliers contacted so far either fail to understand how the printer works and say their inks are unsuitable for 3D printers, or simply fail to respond. If anybody can get some, please let me know. Otherwise I'll be forced to do what I did for RepRap and invent the printing material myself.


Wednesday, February 19, 2025

 

eSun Triangle Print Success!

I re-ran the print of the triangles, this time with a base size of 300μm and eSun Standard Resin. The resin reservoir was a little further away, so this one took about an hour to print. One layer. Well, it's a prototype and I'm not pushing for speed. I've boosted the contrast and overlaid a 50μm grid on it:


 Damn my lenses are filthy. Here's what PrusaSlicer thinks it is printing:

 

 

The probe, by my CNC console's measurement, needs to be positioned correctly within about 5μm. Getting that better calibrated will result in thinner lines - the 30μm lines (I've made 10μm dot grids before) were just how it turned out rather than a specific aim. But this does show that across 0.6mm the probe height above the stage remains reasonably consistent so that's more data on the stage's parallel flexure design. Also, as the probe was dipped tens of times, the seeking seems to be reasonably consistent.

The microscope image was taken after blasting the thing with UV for 5 minutes. I've given it another 5 before putting it in the sample box.

A few dev notes to self: The "dipify" code is returning to the start of the current line rather than the last plotted point, which needs fixing. I could probably plot a lot more points with one dip, which will speed things up. Might be able to magnify it using a laser to project an image using the "water drop laser microscope" trick, but don't want to submerge one yet.

The idea is to make something that can be folded up into a pyramid. I won't do that with this one, it's a bit of a historical sample that I want to keep and show off!

I have added the PrusaSlicer config and the latest "dipify" python code to the github repo.


Tuesday, February 18, 2025

 

The Mysterious Case Of The Thinning Resin

Looking carefully at the results of the previous print test, I noted a weird thing: A double line drawn in the resin was solid, while single lines tended to bead up. The beading of the resin like this was observed in the very first resin-dragging probe tests here. I wondered if there might be a line width at which the process of curing the no-name resin causes it to contract. A simple experiment was conducted  to see if some new resin did the same thing.

Using a new bottle of eSun Standard Resin, I placed a droplet of resin using a wiped, blunt probe onto a microscope slide. It spread out to 6mm diameter. Then, using a 0.5mm hypodermic I drew out a few trails of resin, and checked with a microscope that very fine trails had been drawn out. I cured the resin, and looked again.

There appears to be a point, somewhere below 10μm, where the resin will pull itself into beads as it cures. However, the eSun stuff seems to be a bit more stable than my earlier no-name batch, so I'll have to re-run the test with the triangles.

Here's a not-very-good screenshot at maximum magnification of my camera setup. I copied a 20μm square from a calibration slide shot through the same lens. You can only just see a fine trail (it's a lot clearer with the naked eye) to the right of the calibration square, which is about as fine as I can go before things blob up.


I really need to find a way to dye the resin to make photography easier. I have tried fluorescein but that does not seem to be resin-soluble. I have no idea what the height is, as I have no way to measure it. This may also be important. Dunno.

So, some fiddling to go, but 10μm features would appear to be possible with the new eSun resin. Stay tuned, folks.


Monday, February 17, 2025

 

First resin print from object file

Cut to the chase. The base of the centre triangle is 200μm (0.2mm) across. Imaged on a 10% tilt to make the clear resin visible.


 Here is the actual test object. Original is as an SVG with 2mm thick lines on a scale of 1mm to 1 micron:


 Note that the images are taken after the resin is cured. I wanted to cure them before I moved anything, so no micrograph of them pre-cure. Here's a screenshot from the USB cameras as I was running the right-hand triangles:


 I do not have a particularly fantastic view! You can see how the probe is dipped in a relatively thin area of the resin reservoir, and how the folded edge of the reservoir's contact foil retains the resin.

Anyway, the right-hand one was done at a height which I could definitely see resin deposited through the USB microscope. Both resin prints granulated significantly on curing. The left-hand one was done more carefully, lowering the probe by 3μm until some perceivable change happened on the slide. The probe was dipped in resin after every 15 droplets were deposited. Droplets are 18μm apart on the right, 15μm apart on the left.

Viewed with an eyeball, the central triangle on the left is a discrete object with a hollow centre. Something useful may be happening if two lines are deposited close together. For further investigation.

The height of the cured droplets is not readily discernible at 100x magnification with a bench microscope. Better lighting and slider holders are going to be needed to get decent images.

Wow. So much learned with this session.


Sunday, February 16, 2025

 

Create 16 micron points in GCODE directly from PrusaSlicer

First, how does RepRapMicron's current accuracy compare with a commercial resin printer? These have pixel sizes going down to 25μm, however this is not their print resolution. According to this 2023 paper a modified $10,000+SLA resin printer with 37μm pixels can be persuaded to create a solid feature as small as 100μm wide. That's the with of the "m" in the photo below.

To create the model I've written a simple script that is compatible with Prusaslicer that lets you generate GCODE for a RepRapMicron by slicing a model just as you normally would. I run the PrusaSlicer printer configuration on the scale of 1mm = 1 micron and change the bed, extrusion width, and layer size to suit RepRapMicron. I have not played with infill yet. The printer configuration is set to Mach 3/LinuxCNC and the extruder is basically otherwise ignored.

I've put the python filter and simple script (which, yes, is a bit of a hack and should be done in the python code) up on github. The script now trims out all the "M" commands and movement of the A axis from the GCODE, as these confuse GRBL and are unnecessary.

The latest 0.5mm test line looks like this (I've turned the contrast up) which was created by just bashing the probe into a layer of Sharpie marker:

 


By my reckoning (scaling the image in Inkscape and using the W/H tools) the scale line is about 30μm wide worst case, which is about right for something poked in Sharpie with a hypodermic every 15μm. The drawn "m" is 120μm high and 95μm wide and the three legs of the "m" are clearly separate, so placement looks to be around 10μm but let's carry on. The original SVG file has the width at 108μm and height of 78μm but does not define the line width.

The left pair of legs on the "m" are 50μm edge-to-edge, and the right pair 66μm. So I feel fairly justified in saying I'm positioning within 16μm with this probe on at least one axis, which I'm happy with.


Tuesday, February 11, 2025

 

Plotting points, 500μm initial test with hypodermic tip

Time to move on to placing dots of resin configured in useful shapes. I've written some python code to take a GCODE file of a model from PrusaSlicer and break all moves below safe Z height into segments. The maximum and minimum segment lengths are controlled so that they can be set to roughly the size of a resin dot. The code then lowers the probe onto each of the points on that segment.

I put a hypodermic probe on to test it, and used this to poke at a glass slide covered in Sharpie marker:


The marker is half a millimetre - 500μm - long and made up of individual points approximately 15μm apart. Previous etched logos shown on the blog were 400μm tall.

Previously, there have been great big splats every time the probe touches the slide. These were eliminated by changing the probe movement so that it dramatically reduces its feed rate 10μm above the surface of the slide. X & Y acceleration rates were also reduced to 50μm/s/s to reduce vibration, as previously the acceleration was taxing the stepper motors giving a bumpy ride.

I think this is simply reducing vibration in the system as a whole. The probe comes to a stop on XY, then gently touches the surface, giving plenty of time for vibrations to be dampened.

The python code allows the probe to be directed into the resin reservoir after a certain number of points are touched. This is going to make for slow work, as the image above took about 25 minutes to produce. As you can see, the motion is not linear enough for my liking, but it is reasonably consistent as the individual points are adjacent to each other and not randomly scattered about. Things seem to be within 20μm of where I would expect them to be.

I hope to try this out with resin and a fine probe soon, and generate some simple solid artefacts. Positioning without surface contact has so far been more accurate.

I've added the rudimentary python code to github https://github.com/VikOlliver/RepRapMicron/tree/main/gcode_segmentation


Monday, February 10, 2025

 

Microscope holder

Now I have some idea as to where the microscope goes, I've added a bracket to hold the USB microscope's pole in place on the frame. One less thing I have to screw down to the bench.


I can either swing the mount sideways if it gets in the way of doing things to the print bed, or just pull the whole pole out. Doesn't seem to vibrate when the machine is running. Plan is to make a bracket to hold the microscope I use for watching the initial probe height, then build a base to tuck the electronics in. I'll put the brackets on github when I've made sure the pair don't collide or anything stupid.

I get the feeling I'll need to make a portable package because (a) people are going to want to see Maus at various events, and (b) I want to get this bloody great chunk of plywood off my desk.


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

Subscribe to
Posts [Atom]