It’s been a bit over a year since I posted anything here. My first project was a coreXY table built on the cheap using hardware store shelf standards and 3D printed slides as my linear rails. That table is still up and running but I decided to give myself a new challenge going forward. I’ve just built a SCARA arm sand table similar to Rob Dobson’s except for one major change. I’m using herringbone gears instead of belts. Because of this virtually the whole thing is 3D printed. The only exceptions are the 5mm steel balls I’m using as bearings and the screws that hold it together! You can see a video of my efforts here:
I’m using a BTT E3 v1.1 board for my controller and standard NEMA 17 steppers. The software is currently RepRap firmware but this will be changed or modified. I haven’t yet configured the kinematics yet. This means that any motion I make is limited to spinning the steppers and doesn’t correspond to a position on the XY plane. I’ll figure this out next. To this point, do any of you know how to configure either RepRap or Marlin (the two firmwares I can run on this board) to control a SCARA arm? I’d sure appreciate any help on this part. My company is in the middle of Techstars and I just don’t have the time to screw with the software right now. As it will probably be a number of months before my schedule frees up, I’d be happy for the help.
I built this using Fusion 360 and my Ender 5 plus printer. Any part with a bearing surface was printed at 0.08mm layer height. The rest was printed at 0.2mm layer height. I only needed supports on two or three parts I’ll be glad to share the files if you want to build one.
I’ve been looking over the SCARA code you shared (thank you for this!) and I had a question for you. Due to the mechanics of the device the elbow join can move independent of the shoulder joint but, due to the gearing involved, moving the shoulder by itself actually causes the elbow to rotate as well by a third of the shoulder’s motion. This can be easily corrected for by counter-rotating the elbow for every shoulder movement. In other words, if I want the ball to follow the outer most perimeter of the table I need to issue a g0 x720 y240. I hope this makes sense. I can only assume that Rob Dobson’s machine (and all the derivatives) work this way as well but I have no way of confirming this.
So, my question is, does your SCARA code address this issue?
But the math in sandify and the previous SCARA machines did not have that 1/3. This is the code I am using to convert from a regular theta rho position to a SCARA position:
This whole thing started because I wrote a python script you could run in a web interpreter that would read in the thetarho output and generate the gcode. If we need to play with a 1/3 value, then I think that is where we should do it.
This is that post with the script. It needs to run next to the thr file and it will make a gcode file. I don’t know how much coding you know, so I am starting here.
There are several successful scara machine builds here. I haven’t built one, but I help out often. If you’re going to design your own, I would study the kinematics of the ones here. If you want to just get it done, then copy a machine that has some designs posted.
On the software side, many of them set up grbl or marlin and don’t tell the firmware it is on a scara machine. Sandify has a scara output now that will send X and Y commands that will rotate the shoulder and elbow appropriately. There is a light wiki page about it:
If you want to chat more about it, make your own post so we can get focused on your details. If you need a kick start, this is it: Go for it. It will be a rewarding project even if you never finish.