Scara support ?
-
To operate a Scara kinematics it must specify to him where is its zero in the space before making a G92, no?
Example in Smoothie I have 2 parameters to say where is zero in space with compared to the main axis of the first armmorgan_offset_x 150 #my X offset
morgan_offset_y -68 #my Y offset
http://smoothieware.org/configuration-optionsI'm not good at math, but it seems to me that it lacks these parameters.
-
To operate a Scara kinematics it must specify to him where is its zero in the space before making a G92, no?
Example in Smoothie I have 2 parameters to say where is zero in space with compared to the main axis of the first armmorgan_offset_x 150 #my X offset
morgan_offset_y -68 #my Y offset
http://smoothieware.org/configuration-optionsI'm not good at math, but it seems to me that it lacks these parameters.
You may have a point. I don't have a SCARA printer yet, nor have I ever used one, so I don't know how they are normally set up. Where is X=0 Y=0 normally placed on a Scara printer?
-
No rule in my opinion…
You can definitely define X0 / Y0 on the axis of the main arm and G92 will define the offsets, right?
-
Thanks, but that's not the way G92 works in RRF, nor in other 3D printer firmwares AFAIK. G92 is used to tell the firmware where the print head is, from which it works out the motor positions - in this case the arm positions. In essence, using G92 is an alternative to homing.
So G92 X0 Y0 is telling the firmware that the print head reference point is coincident with the proximal arm joint - which is not possible.
If there is a need to tell the firmware that we wish to define (0,0) somewhere else - for example, in the centre of the printable area - then I can see two possibilities:
1. Allow X and Y bed origin offsets to be configured for SCARA printers, as Smoothieware appears to do;
2. Use the tool offset facilities provided by G10 and M206.
-
ok
When I tested smothie I used M206 X … Y ... to redefine the offsets x0 / y0 with respect to the position of homingExample in Smoothie we define the position x0 / y0 on the bed with respect to the axis to the main arm
Morgan_offset_x 150
Morgan_offset_y -68And after homing I measure the distances xo / y0 and I correct the offsets with M206 and they are put in memory for recalculation
I'm really not sure how to express myself correctly in English ... -
Without the homing currently you can add M206 to calculate the position x0 / y0 with respect to the axis of the first arm, No?
And after when the homing will be functional you will add the offsets … -
I've decided to add X and Y parameters to 1.19beta9 to allow the bed to be offset from the proximal joint. I will also change the way that the crosstalk factor works, which will have the effect of making C0:0:0 correct for your machine and C-1:0:0 correct for the Helios.
Until homing is implemented, I suggest you manually move the arms (slowly, to be kind to the electronics) so they are in line and the proximal joint is at the half way position. Then power on. The displayed coordinates should show Y=0 and X= just below the sum of the arm lengths. If you then send a G92 command with the same X and Y coordinates as the displayed ones, it will then consider that the machine has been homed.
We're planning to display a Helios at the TCT show in September, which means that I will get SCARA homing working before then.
-
Firmware 1.19beta9 is out, with added X and Y bed origin offsets and a fix for G92 X0 Y0.
-
Oup's…
I had not seen page 2 of the post
A big thank you for your responsiveness !
I test this afternoon at fablab -
Hello,
Again a big thank you for your responsiveness
My tests:The M669 command used (X150.0 Y-61.0):
M669 K4 P200 D200 A-175:175 B-175:175 1:0:0 S200 X150.0 Y-61.0; set SCARA kinematics parametersok
Test moves First arm of 20 ° it's ok?
G1 S2 X10 ;anticlockwise
G1 S2 X-10 ;clockwiseok
Test moves second arm of 20 ° it's ok?
G1 S2 Y10 ;anticlockwise
G1 S2 Y-10 ;clockwiseAll movements in Pronterface in debug mode return:
SENDING:G92 X0 Y0
[ERROR] Traceback (most recent call last):
File "printrun\printcore.pyc", line 241, in _readline
File "printrun\pronterface.pyc", line 1713, in recvcb
File "printrun\pronterface.pyc", line 1669, in update_pos
ValueError: could not convert string to float:Homing goes in the right direction x/y/z
I manually move the arms to position x0/y0
I power on with Pronterface I send command G92 X0 Y0I'm testing x/y placements everything works but upside down
When i do x + i get an x-
And when i do a y + i get a y-I reverse the engines in config.g and the displacements do anything?
I put the file config.g normal, and I reverse the connector of the engines,
Same results the movements do anythingIn short I did not succeed in reversing the meaning, how to do?
It's almost perfect we're not far -
In writing the firmware I assumed that the bed is to the right of the proximal joint, and the zero angle position of both arms is with them stretched out to the right so that they point towards the +X direction. Do you by any chance have your arm mounted the other way round?
-
hi
My Kinematics
for later End-stops (hall effect +on5v) are on X22.00 Y-35.00
-
Ok, so what i have assumed is +X is your +Y, and what I have assumed is +Y is your -X. Thinking about it, there are 4 possible orientations of the bed if we only consider the obvious ones, and I guess the firmware should allow any of them in a configuration option. Or maybe it should allow an arbitrary bed rotation angle.
For now, if you define the top left corner of the bed in your diagram as (0,0) and the axis directions as I have assumed them, then you should be able to print
Regarding homing, I was assuming there will be a limit switch at one end of the travel of each joint.
-
Of course I'm stupid, I did not think about it
I test this afternoon -
Hi
define the top left corner of the bed, change on M669 x/y
and print…
okVideo, sorry the machine is under development all is not clean ...
http://www.openhardware.eu/tmp/DuetWifi/VID.mp4I still have to solve the same vibrations as with Smoothie …
My M669
M669 K4 P200 D200 A-175:175 B-175:175 1:0:0 S200 X118.0 Y-150;My reduction motor and pulley
Motor 400 step/revolution 0.9°
Pulley 80/16
Microstepping 256
Calcul Step/° X/Y (Réduct 80/16) ==> 400256(80/16)/360=1422,2222222222222222222222222222What can be the cause in your opinion not enough mechanical reduction, or other ?
Thank you very much ! -
I'm glad you are making progress.
Have you tried adjusting the segments/sec and minimum segment length in the M669 command, to see whether it affects the vibration?
-
I am also pleased !
Not tried, i test tomorrow. -
Hello,
I've done a lot of testing, and the best configuration seems to be
M669 S200 T0.5
It's not perfect, but it's better
But on another piece the result is not satisfactorySaturday I tried on cubes and diamonds to try to understand,
Because the vibrations seem to be present only on the diagonals of the bed …
If you have an idea to improve ...I will redo the arm to pass in reduct of 160/16
And GT2 belts 10mm high to see if it improves
http://www.openhardware.eu/tmp/DuetWifi/VID_20170713_181706.mp4 -
Hello,
I'm Happy
It is almost perfect there are still some vibrations but I think I can further refine the firmware settingsI completely redraw the arms of scara
Now reduction 160/16
pulley DIY gt2 lasercut and Wide belt 10mm high
New experimental firmware 1.19beta10
http://www.openhardware.eu/tmp/DuetWifi/new/VID_20170721_171557.mp4 -
I can't help to think how a set of shock absorbers would help. You have so much mass hung out so far that you are trying to stop and start. Am I wrong in thinking that something that could help dampen the movement would help?