Replication Team: Open Source Motorized XYZ Mirco-Manipulator

I am in the process of replicating the XYZ micro-manipulator by Diffraction Limited. This is a motorized motion platform that can achieve repeatable sub-micron precision. As of February this year, Diffraction Limited updated the ball joint design and manufacturing process which I will be using in this replication.

This replication will be interesting because documentation is spread out between Github, Youtube, an active discord server, and few guilds on StepWiseDocs.

The last item of the BOM should be arriving this week. I will be documenting the process in the replies below.

2 Likes

BOM

When I started this replication, I used the Bill of Materials listed on the MircroManipulatorStepper repo on Github and YouTube videos as a reference for ordering my components. It wasn’t until I started exploring the StepWiseDocs BOM and build guilds that I found that the repo’s BOM is incomplete and has some deprecated parts. If you are going to replicate this project, use the BOM from StepWiseDocs.

The Github repo’s BOM has not been updated for the new precision ball joint arms so note that the 2mm brass pipe listed should be a 2mm brass rod. Other materials like calipers, a mallet, sandpaper, glue, JP weld, XT60 connectors, JST ph 6 headers, crimp beads, and the encoderboard PCB are not listed on the Github BOM.

I have started construction of the ball joint arms and I would like to point out that it would be valuable to have a few spare materials. Specifically extra brass rods, 1mm ball bearings, ball joint plate PCBs, and Ball alignment disc PCBs. I had one or 2 rods and ball joint plates that didn’t turn out perfectly on my first attempt but luckily I had extra materials to work with.

I had little trouble ordering all of my materials with the exception of the magnetic encoders. I originally picked a vendor through amazon that could not complete my order so I am now waiting for the encoders through Aliexpress. The StepWiseDocs BOM has multiple links for each component.

2 Likes

Precision Ball Joint Rods

As mentioned previously, there has been a update to the micro-manipulator that includes improved ball joints. This new design involves more manufacturing tools and steps but result in lower friction joints and higher dimensional accuracy.

I followed the YouTube video for this process and here are my notes:

I purchased 2mm solid brass rods which are not listed in the Github BOM, but are in the StepWiseDocs BOM. They were easy to cut using metal snips/ pincers but they sometimes left uneven edges. When I cut the rods flush with the sanding jog, they would sometimes shear below the sanding line. I made sure to cut them a few millimeters longer to avoid this.

While sanding, the rods would somethings slip out of position so I secured them with tape before proceeding. I used a 120 grit sanding disk I had laying around and dampened the sandpaper with tap water.

I originally only made 6 rods but I would recommend processing a few extra in case a rod bends or is embossed incorrectly in later steps.

I then used a 2mm drill bit to ensure a snug fit on the rod guild. instead of a 18mm utility knife blade, I used 4 mini utility blades.

I sacrificed a rod to adjust the sharpening jig to the correct height for the following rods. I then use a sticky note to check that my sharpened rods were consistently sharpened to 1mm diameter throughout the set.

2 Likes

This is really great documentation chris! These kinds of little details are a great resource for folks when they are trying to build a thing

1 Like

Embossing Rods

To finish the manufacturing of the ball joint arms, you have to emboss the tips to a consistent depth using a vice, calipers, and a custom rod alignment jig.

I created the rod alignment rig by gluing the ball alignment disks to the 3D printed rod collects. I used a 2 mm drill bit and a spare rod to friction fit the collects to the rods diameter. I then used a spare sharpened rod to center the disks on the collect and secured them using super glue. (another reason to have spare rods).

After the glue dried, I inserted a 1mm ball bearing into the disk and sealed it with a small amount of glue. It is important that there is not an excess of glue on the end to ensure that the embossing depth can be constant on both sides of the rod for all rods.

I rigged up a pair of calipers with the rod guilds. Minor detail: but I did not see a rubber band in the BOM. A rubber band is used to keep tension on the rod to maintain an active depth reading. I zeroed the calipers and then used a mallet to gradually emboss the rods to a depth of around 0.25 mm (0.125 mm on each side). After I reached 0.25 mm, I zeroed the calipers again and continued to manufacture the other rods till the calipers read 0.00 mm.

It’s important to note that after processing the rods, there will be small indents in the caliper’s arms. I would recommend using a caliper that you do not care too much about.

I was having issues with my alignment disks detaching from the 3D printed rod collects during this process. I tried different glues and using extra glue on the edges of the rod collects but still had this issue. I would recommend having multiple rods and alignment disks prepared in case this happens. I ordered 5 of the ball alignment disk PCBs from jlcpcb and ended up using all of them.

I noticed that it was actually the rod guilds that attached to calipers arms that were causing the disks to fall off. I tried filing them to sit flush with the caliper arms and got better results. I also tried a few rods without the arm guilds. This worked but was slightly awkward because I had to rest the calipers at an angle.

I was quite impressed with this DIY process for embossing the rods. Even though this was the most finicky step, the rods that I made were consistent and the process was very repeatable. My biggest tip would be embossing a couple extra rods and to check for depth consistency as you go.

2 Likes

Ball Joint Arm Construction

Now that I have the rods processed, the last step before the mechanical assembly is to make the 3 ball joint arms. This process is straightforward and used the BOM on the StepWiseDocs to order my components.

I first soaked the ball bearings in 90% Isopropyl alcohol to remove any oils and grease left behind by the manufacturer and any fingerprints to ensure strong adhesion. Once the ball bearing dried, I used gloves and clean blunt tweezers to handle them.

I used JP weld steel reinforced epoxy as my adhesive. JP weld is not on the StepWiseDocs BOM but this is what was used in the original YouTube tutorial. After I mixed the two parts of the epoxy, then I added a small amount to the end hole on the PCB ball joint plate. I scraped away any excess with a clean razor blade and inserted the ball bearing using the tweezers. I then pressed down on the ball bearing using the back of the tweezers to ensure a snug and accurate placement. Then I let these cure overnight.

I would recommend making a couple extra PCB plates. Once I started attaching the rods, I had 2 plates that had their ball bearings detach.

I would also recommend going through the build guild and finding all the steps that require gluing and doing them all at the same time to be as efficient as possible. This includes the rod collects, PCB plates, and magnets to the ball joint horns.

Once the plates had dried, I cut 25 mm sections of the PU cord and attached them using jewelry crimping beads and pliers. It’s important to leave about 1 mm of PU cord on either side of the beads so they don’t slip out under tension.

I then added the rubber band collects onto each rod. I had to use pliers and a 2 mm drill bit to wide the collects to get them to fit on the rods. I would recommend printing extra rubber band collects. I found it very easy to over widen the hole on the collects which caused them to slide down the rods when under tension.

Both build guilds I followed attached the rods to the ball joint plates at this point. I would recommend doing this just to test that the ball joint connections and rods fit as expected. But during the full mechanical assembly, I found it much easier to attach the ball joint plates to the horns and platform with the rods detached from them.

I found it easiest to attached the rods to the joints by initially moving the rubber band collects to the edge of the rod. Then inserting the rod on the joint and tightening the rubber band collects so that each connection has similar tension. Pliers and tweezers might be useful here.

2 Likes

Mechanical assembly

Now that the ball joint arms are complete, I am ready for the full mechanical assembly.

I first added the magnets and arm plates to the 3D printed horn. All of my 3D printed parts were printed on a Centauri Carbon 2 using a 0.4mm nozzle and red PLA. I ran out of the red PLA at towards the end of all my prints, so some parts were printed in white Elegoo PLA pro. I first cleaned the magnets in 90% isopropyl alcohol like I did the ball bearings. I also cleaned the horn surface using isopropyl alcohol. Once dried, I attached them to the horn using super glue. My magnets are slightly larger than the once in the BOM. I was only able to fit 16 on the horn while the original design could hold 17.

I made the mistake of handling the horns with the magnets before they were fully cured and ended up ripping the magnets off of a horn when I bumped them too close together. I would be cautious about this.

This project uses 2M 8 mm dowel rods to align pieces together before tightening them together using screws. I found that the holes for the rods was too tight straight off the printer so I had to use a 2 mm drill bit to expand the holes to insert them. This was true for all of the 3D printed components in this build.

I then took apart my ball joint arms and attached a plate to each horn. The orientation of the plate should have the shorter side of the plate facing the magnets on the horn. I then added the dowel rods and matching plates to the end effector. Note that the image of the end effector on the StepWiseDocs BOM does not match the current version. Though the link still takes you to the correct STL file.

Next, I added dowel rods to the base block. During this step it’s important not to force the rods too far into their respective holes. The CAD files show that the holes are longer than 8 mm. I pushed one of the rods too far into the base block and had to reprint the part. I then attached the motor mount to the Nema motors. Remember that 3 of the 4 screws are M3 12 mm while the fourth screws that goes in the slightly lower level is a M3 6 mm screw. I then attached each motor assembly to the base block using M3 12 mm screws.

To attach the horns to the motors, its important to align the set screw holes with the flat portion of the motor rod. I then folded a piece of paper to around 1 mm thickness to create a spacer for the horn against the motor. Then I used set screws to set them at the correct distance. You could use normal screws here.

I then attached the rods to the plates on the horns and then attached the arms to the end effector. This part was extremely finicky. A couple tips I would give would be to attach the rods to the end effector first, and then to the horns. It’s also important that the rubber band collects are properly aligned before attaching them to the assembly. I first threaded the rod and rubber band collects through the loop and slotted the PU loop into the collect before adding tension and placing on the ball joint. Tweezers are helpful to attach the last couple of rods.

Onto the electrical assembly!

1 Like

I made the older model, it was actually cool.

I still have a few pcbs left, if you want. I am in NL and happy to post it to you!

1 Like

This is complicated as all get out and you are doing a good job documenting!

I don’t totally understand the embossing step. Also if you are leaving dents in your calipers, are the dents .25mm ? Because that might be bad right?

Such a fun project!
Unfortunately I already ordered my PCBs for this build. Thank you though!

The dents in the calipers are less than 0.25 because where the disk and the ball bearing meet the caliper arm it is flush. I still agree that this caliper should probably be decommissioned. This was a warning in the original YouTube video documenting the rod embossing process.

Electronic Assembly

It took a while to get all the components I needed for the electrical assembly but after a few delayed packages and an Amazon return I finally received all the parts and assembled them.

I followed the StepWiseDocs electrical assembly instructions which do a great job of laying out the different pathways that you could go about arranging wires and connections.

PCB

This was my first time micro soldering small capacitor and resistors to a board. Its not my best work but In got the job done using a vice and tweezers. Any tips would be greatly appreciated!

I soldered the small capacitors, small resistors, diode, female headers, DCDC step down and then the female XT60. The orientation for the resistors and capacitors do not matter, but its important to solder the diode, DCDC step down, and XT60 in the orientation directed by the silk screen. I used XT60-H connectors which essentially are normal XT60 connectors with a plastic wire cover.

Before adding more components to the PCB, the DCDC step down module must be tuned to 5.2V. This is a vital step since the board input is 12V and without doing so we could potentially fry the capacitors. I nearly experienced this with my first board attempt when I accidentally used a 24V power source instead of a 12V and already soldered in the capacitors.

After tuning, I added the rest of the components. I noticed that when I completed the assembly, there is a empty JST 4 pin connection that is not utilized labeled J5. I am not sure if this is a deprecated port or if this step was missed in the instructions.

Encoders

Boy these were a pain. After a while was able to get a good system going for soldering the wires to these tiny leads. I would definitely recommend using a vice, magnifying glass, and lots of alligator clips to organize the wires. Again, any tips are welcome.

Note that that HVPP lead is not connected to a wire.

Since I have an abundance of flat ribbon cable, I opted to make my own JST connecting cables.

I also made my own 8-pin data cable. One option you have during this build is what pitch JST connectors you will use. The main PCB has an 8-pin JST connection with a pitch of 2.0mm. The current encoder PCB files on the GitHub Repo have JST connections with a pitch of 2.54mm. Since my encoder PCB had 2.54mm pitch connections, I made my encoder cables have 2.54mm JSTs. But since the main PCB has an 8-pin 2.0mm JST, my 8-pin data cable has one 2.0mm and one 2.54mm connector. This is by no means the “correct” way to do this, but whatever path you choose it would be good to map out all of your connectors first before ordering parts.

Encoder PCB

I decided to make my own encoder PCB rather than ordering one because A: I had all the parts needed to make one and B: I forgot to order one when I originally ordered my PCBs…

I used a small 2.54mm pitch perf-board, 2.54mm JST connectors, and awg solid core wire. I followed the wire diagram found here and shown below.

For daisy chaining some of the leads, I used the trimming from the diode and capacitors from the main PCB.

I plan on making a little enclosure for this part.

Now that all my electrical components are soldered up its time to power them up and start micro manipulating!

1 Like

I just noticed my pins on the pico in this picture are shifted over 1 haha

1 Like

Assembly update / note:

I would recommend attaching the soldered magnetic encoders at this step. I had not gotten to soldering them when I first assembled this. I found that when I added the encoders to the fully assembled manipulator, it was very awkward and the rods/end effector got in the way. Not imposible to do but I feel like at this step would be the more convenient and easiest step to attach them.

I also had to drill out these screw holes as before and used the M2.5 screw that I used for attaching the ball plate PCBs to the horns and end effector.

Wow this is quite a build! Good job making your own connectors!

1 Like