Arrakis 3.0 is up and running

I built a new table to replace Arrakis 2.0, making some changes to the design that I hope will be improvements. The new table uses a 24 x 48” glass top - chosen for slightly smaller size than Arrakis 2.0, and lower replacement cost (I broke the glass on Arrakis 2.0 and it cost $330 to replace it). Arrakis 3.0 can fit through doorways without having to turn it on its side.

The mechanism is built on a 2040 v-slot frame that drops into a 2020 t-slot support frame that is slightly smaller than the glass top. The Y axis motion uses wheeled carriages that run in the v-slot, with a 12 mm linear guide used for the X axis. I used the same iHSV servomotors and Duet2 WiFi controller I used in Arrakis 2.0 because I had them handy. The mechanism is a stacked belt coreXY type using 3D printed concave pulleys that prevent squeaky noises. The pulleys use stacked F625 bearings. I used optical endstops. Drawing area is 465 x 1005 mm. All the electronics mount on an aluminum plate screwed to the bottom of the mechanism frame.

The sandbox is also made from 2040 v-slot with a white fake leather cloth covered 3/16” thick G10 fiberglass board fit into the lower slots, and LED strips fit into the upper slots. I painted a black frame on the underside of the glass top that just sits on top of the sandbox. The sandbox screws down onto four posts at the corners of the support frame. I added more LED strips (with a power switch) to the underside of the mechanism frame to light the floor with the same colors used on the top of the table.

The sides of the mechanism will be hidden by some 1/8” mirrored blue acrylic pieces that will fit into the slots in the 2020 t-slot support frame. I am planning to cut and install them tomorrow.

Here are a few photos:

mechanism frame drops into the blue support frame.

motors and 3D printed mounts

Y axis carriage and corner pulleys

twisted belt so that belt teeth only contact the drive pulley

lower belt clamp with X=0 flag

magnet carriage

floor lights off

floor lights on

Video, or it didn’t happen!

8 Likes

Epic, as usual, Mark.

What material are your 3D prints?

I like the minimal center gantry piece. It looks so elegant.

Thanks! I’ve been working on the design for a couple months. Actual construction is going pretty fast. I could probably duplicate it in a couple weeks, most of that waiting for ordered materials and parts to arrive.

All the printed parts are PETG. The magnet carriage has been through 3 or 4 design revisions and reprints. Initially I used some blue PETG and discovered that it was transparent to the optical endstops, so I switched to black. Then I had a problem with the belts coming out of the clamp, until I redesigned it so that the ends of the belts fold back on themselves.

The pulleys are printed so the F625 bearings press fit into them, and there’s a washer between the two halves to ensure that when the pulleys are mounted the pressure applied by the bolt doesn’t side load the bearings. Most of the pulleys are 23mm in diameter at the center, but there are a few that are 33 mm in diameter. I solvent welded the two halves of the pulleys by putting a drop of ethyl acetate (sold at home depot as “MEK substitute”) on the contact point. The pulleys are concave so most belt contact is on the edges of the belt. This may lead to rapid wear of the belts and/or pulleys. I’ll know in a few months.

I originally bought some wheeled carriage assemblies for the Y axis but found problems with the way they were made, so I ended up using the wheels and made my own plates for them from 1/8” aluminum. I bought a 520 mm linear guide for the X axis, and had to shorten it by a few mm on each end using a cutoff saw. The guide rail is mounted using only one M3 screw on each wheeled carriage. the screw passes through a 3mm slot so the rail can slide a little along its length in case the Y axis rails aren’t perfectly parallel. There’s a printed part the ends of the guide rail fit into that restricts rotation around the screw.

The strong magnet on the linear guide bearing block will cause the bearings in the block to tend to stick to each other and will attract ferrous particles from the environment to the rail, so I’ll have to check it periodically to make sure the rail is clean. I tried a 10mm ball initially and the magnet pulled on it so hard it lifted the magnet in the carrier. I have since wrapped it with gaffer’s tape and then put a zip tie around it and now it doesn’t lift up.

I am having shoulder surgery next week, so trying to finish up before then. There are just a few things left to do. I have to assemble and install one of the ReDump protection circuits, cut and install the acrylic side panels, and maybe neaten up the wiring a little.

Next week, when I have only one arm available, I’ll work on the software to scale the Arrakis 2.0 patterns to fit on Arrakis 3.0.

Is there any way to get access to older versions of sandify? It seems impossible to generate some types of patterns I was creating with one of the old versions.

1 Like

Yes. The releases are all tagged. You will need to run the locally, using npm. I use docker, so I don’t have to clutter my local npm install. If you don’t have docker or npm installed, you can choose to run locally using either method.

Npm: GitHub - jeffeb3/sandify: web based user interface to create patterns that could be useful for robots that draw in sand with ball bearings.

Docker compose: sandify/docker-compose.yml at master · jeffeb3/sandify · GitHub

v1.0.0 was the most dramatic change. So I would at least try before that.

You could also import the gcode directly as a new layer. You won’t be able to tweak the patterns. But if you just want to crop and scale, that should be way easier.

Thanks. I’ll see if I can figure out running the old version locally.

I tried importing one of my Arrakis 2.0 files to sandify. I set machine dimensions to the new table size- 465 x 1005. The imported pattern/layer goes in a bit strangely. When I specify the X and Y sizes, Y is exact- I specify the new table size as 1005 and the pattern scales to 1005. But the X axis doesn’t work that way. In order to fill the drawing space that is 465 mm wide, I have to set the X dimension to 768. Import also strips off my dual speed edits, so I have to run my dual speed post processor again to get dual speed on the newly scaled pattern. I can live with that. Once I get the X scaling set it seems to work fine.

Maybe there’s a bug in the import code that causes X to scale differently than Y.

a few minutes later…

Further testing shows the X scaling behaves differently depending on which dimension you set first with the aspect ratio lock turned off.

Further testing finds that there is a file size limitation. Some of my larger pattern files crash the sandify program.

1 Like

I realized that instead of screwing the sandbox down onto the posts in the blue support frame, all I had to do was put threaded pins in the posts and drop the sandbox onto them. The sandbox already has the holes and the posts are already threaded. Pins are on the way.

I added mirrored blue acrylic side panels with some clear silicone edging material to center it in the slots and prevent it from rattling. I think it turned out well.

This is the electronics plate with everything mounted. I did my best to neaten up the wiring with zip ties. The connector between the motors is for the LED strips in the sandbox. If I want to take the sandbox off, I just remove the glass, disconnect the LED strips, and lift the box off the support frame. If I want to do some work on the mechanism, I can just lift it out of the support frame.

6 Likes

It looks great Mark.

2 Likes

WOW!!! :star_struck:

2 Likes

I have to make some guesses on what you want when you import a pattern. If it was text, you wouldn’t want it stretched. If you want it to fill a new table size, you might want it stretched. So you have to do the scaling pretty manually.

That makes sense too. Sandify does not know about most gcode. So when it sees anything other than what it does know, it drops it. And it knows very little.

That makes sense. When I get the scaling program working I’ll post a link here in case anyone else might have a use for it.

The final parts for the table will arrive today - the pins to locate the sandbox on the support frame (currently using Allen wrenches!), and the line cord. I went with a clear jacket 18 gauge lamp cord as Ms. Kitty is unlikely to chew on it. I taped a large piece of cardboard to the underside of Arrakis 2.0 to keep her from chewing on the belts. She has shown some pathological interest in the belts in this table, too, so I may have to add a sheet of cardboard.

I have noticed one potential problem- when sitting idle with LEDs on, the power supply cooling fan kicks on sometimes. I’m thinking there’s a problem with the temperature monitor in the power supply, so I might have to replace it.

Looks like Hackaday was all over this too.

1 Like