3D Printed SCARA Tabletop

Cheers for answering Jeffeb3,

I tried a simple square on Sandify with the output

Square.gcode (3.1 KB)

Square Gcode

; File name: ‘Square’
; File type: scara
;
; BEGIN PRE
M117 Homing

G28 X Y
G92 X0 Y0
M117 Moving
G1 X1.5 Y4.5
G92 X0 Y0
M117 At Noon
M0
; END PRE

G1 X1.909 Y-0.409
G1 X1.893 Y-0.444
G1 X1.876 Y-0.479
G1 X1.856 Y-0.515
G1 X1.835 Y-0.552
G1 X1.812 Y-0.591
G1 X1.787 Y-0.631
G1 X1.760 Y-0.671
G1 X1.731 Y-0.714
G1 X1.700 Y-0.757
G1 X1.667 Y-0.801
G1 X1.632 Y-0.847
G1 X1.595 Y-0.894
G1 X1.556 Y-0.941
G1 X1.515 Y-0.990
G1 X1.472 Y-1.039
G1 X1.428 Y-1.088
G1 X1.382 Y-1.138
G1 X1.334 Y-1.188
G1 X1.286 Y-1.237
G1 X1.237 Y-1.286
G1 X1.188 Y-1.334
G1 X1.138 Y-1.382
G1 X1.088 Y-1.428
G1 X1.039 Y-1.472
G1 X0.990 Y-1.515
G1 X0.941 Y-1.556
G1 X0.894 Y-1.595
G1 X0.847 Y-1.632
G1 X0.801 Y-1.667
G1 X0.757 Y-1.700
G1 X0.714 Y-1.731
G1 X0.671 Y-1.760
G1 X0.631 Y-1.787
G1 X0.591 Y-1.812
G1 X0.552 Y-1.835
G1 X0.515 Y-1.856
G1 X0.479 Y-1.876
G1 X0.444 Y-1.893
G1 X0.409 Y-1.909
G1 X0.393 Y-1.944
G1 X0.376 Y-1.979
G1 X0.356 Y-2.015
G1 X0.335 Y-2.052
G1 X0.312 Y-2.091
G1 X0.287 Y-2.131
G1 X0.260 Y-2.171
G1 X0.231 Y-2.214
G1 X0.200 Y-2.257
G1 X0.167 Y-2.301
G1 X0.132 Y-2.347
G1 X0.095 Y-2.394
G1 X0.056 Y-2.441
G1 X0.015 Y-2.490
G1 X-0.028 Y-2.539
G1 X-0.072 Y-2.588
G1 X-0.118 Y-2.638
G1 X-0.166 Y-2.688
G1 X-0.214 Y-2.737
G1 X-0.263 Y-2.786
G1 X-0.312 Y-2.834
G1 X-0.362 Y-2.882
G1 X-0.412 Y-2.928
G1 X-0.461 Y-2.972
G1 X-0.510 Y-3.015
G1 X-0.559 Y-3.056
G1 X-0.606 Y-3.095
G1 X-0.653 Y-3.132
G1 X-0.699 Y-3.167
G1 X-0.743 Y-3.200
G1 X-0.786 Y-3.231
G1 X-0.829 Y-3.260
G1 X-0.869 Y-3.287
G1 X-0.909 Y-3.312
G1 X-0.948 Y-3.335
G1 X-0.985 Y-3.356
G1 X-1.021 Y-3.376
G1 X-1.056 Y-3.393
G1 X-1.091 Y-3.409
G1 X-1.107 Y-3.444
G1 X-1.124 Y-3.479
G1 X-1.144 Y-3.515
G1 X-1.165 Y-3.552
G1 X-1.188 Y-3.591
G1 X-1.213 Y-3.631
G1 X-1.240 Y-3.671
G1 X-1.269 Y-3.714
G1 X-1.300 Y-3.757
G1 X-1.333 Y-3.801
G1 X-1.368 Y-3.847
G1 X-1.405 Y-3.894
G1 X-1.444 Y-3.941
G1 X-1.485 Y-3.990
G1 X-1.528 Y-4.039
G1 X-1.572 Y-4.088
G1 X-1.618 Y-4.138
G1 X-1.666 Y-4.188
G1 X-1.714 Y-4.237
G1 X-1.763 Y-4.286
G1 X-1.812 Y-4.334
G1 X-1.862 Y-4.382
G1 X-1.912 Y-4.428
G1 X-1.961 Y-4.472
G1 X-2.010 Y-4.515
G1 X-2.059 Y-4.556
G1 X-2.106 Y-4.595
G1 X-2.153 Y-4.632
G1 X-2.199 Y-4.667
G1 X-2.243 Y-4.700
G1 X-2.286 Y-4.731
G1 X-2.329 Y-4.760
G1 X-2.369 Y-4.787
G1 X-2.409 Y-4.812
G1 X-2.448 Y-4.835
G1 X-2.485 Y-4.856
G1 X-2.521 Y-4.876
G1 X-2.556 Y-4.893
G1 X-2.591 Y-4.909
G1 X-2.607 Y-4.944
G1 X-2.624 Y-4.979
G1 X-2.644 Y-5.015
G1 X-2.665 Y-5.052
G1 X-2.688 Y-5.091
G1 X-2.713 Y-5.131
G1 X-2.740 Y-5.171
G1 X-2.769 Y-5.214
G1 X-2.800 Y-5.257
G1 X-2.833 Y-5.301
G1 X-2.868 Y-5.347
G1 X-2.905 Y-5.394
G1 X-2.944 Y-5.441
G1 X-2.985 Y-5.490
G1 X-3.028 Y-5.539
G1 X-3.072 Y-5.588
G1 X-3.118 Y-5.638
G1 X-3.166 Y-5.688
G1 X-3.214 Y-5.737
G1 X-3.263 Y-5.786
G1 X-3.312 Y-5.834
G1 X-3.362 Y-5.882
G1 X-3.412 Y-5.928
G1 X-3.461 Y-5.972
G1 X-3.510 Y-6.015
G1 X-3.559 Y-6.056
G1 X-3.606 Y-6.095
G1 X-3.653 Y-6.132
G1 X-3.699 Y-6.167
G1 X-3.743 Y-6.200
G1 X-3.786 Y-6.231
G1 X-3.829 Y-6.260
G1 X-3.869 Y-6.287
G1 X-3.909 Y-6.312
G1 X-3.948 Y-6.335
G1 X-3.985 Y-6.356
G1 X-4.021 Y-6.376
G1 X-4.056 Y-6.393
G1 X-4.091 Y-6.409

; BEGIN POST
G28 X Y
M117 Done
; END POST

I also filmed it to hopefully help diagnose where my code is going wrong.

My initial thought was the bed size in Marlin which I have currently set to 6

#define X_BED_SIZE 6

#define Y_BED_SIZE 6

Cheers

Tom

That should start and end in the same place. The numbers for X and Y should be one revolution off from start to finish. The start angle isn’t what I get when I use the default square in sandify, but the gcode looks ok to me.

When the arm starts moving from the G92 0,0 position, it goes nearly straight left. That is probably the travel from 0,0 to 1.9, -0.4. The shoulder moves clockwise after that, and the elbow moves counter clockwise. There is a point when they have both moved about half way around and then I think it homes.

So something is still pretty funky there.

You have to turn off all the soft limits. You should be able to send this gcode and watch it spin for a while:

G92 X0
G1 X-60 F3
G1 X60 F3

Or similarly for Y:

G92 Y0
G1 Y-60 F3
G1 Y60 F3

That should move 10 rotations negative and then 20 rotations positive. I never remember which direction is supposed to be positive or negative, but that could be another source of error.

I assume you’re read the (short) wiki already: Scara GCode · jeffeb3/sandify Wiki · GitHub. It seems like you’ve followed the advice there.

Thanks Jeffeb3

I think I worked it out. Either through a missed step in understanding the machine and its parameters, I had the stepper motors turning in the opposite directions. Changing #define INVERT_Y_DIR in Marlin and removing soft endstops with M211 finally reproduced a square from Sandify.

Cheers both of you

1 Like