Scara arm overshoots position during homing routine
-
I’ve built a 5bar scara arm, I can home the 2 arms in the home5barscara.g but when I try to do a G0/G1 move to set the hotend position to the center to home z, the arms overshoot the required position. If I only home the arms then send a G92 Z## from the dashboard the arm works as expected.
This is the config.g file: config (1).g
This is the homig file: home5barscara (2).gThanks in advance for the help.
-
-
@gnmrc_ when the homing file issues
G1 X0 Y0 F300 S2
the S2 is an old parameter which is H2 today. So your command tells individual axis moves to move left arm to X0 and right arm to Y0, and the hotend result is somewhere, but not the desired X0Y0 coordinate.
You shoud use
G1 X0 Y0 F300
instead. -
@JoergS5 sorry, I forgot to link the old thread, @Phaedrux told me to open a new one to make DC42 read it. So here’s the link there you can find also the video of the machine.
I tried not to use any parameter but the printer gives me an error, the arm cannot be moved because it’s not homed even if the arms have reached the endstops. -
You can check homing by triggering the endstop manually (I use a pencil to avoid damage to my fingers), then check whether the corresponding letter in DWC changes its color (which means it's homed). If this is not the case, the M574 definition is wrong.
All axes must be homed before you can make an normal G1 move, so Z must be homed also before you can move the arms. For testing, you can home an axis with G92 without endstop help, e. g. G92 Z0 to home Z and setting its current position to 0.
-
@JoergS5 The endstops work correctly, I tried at the start of the homing file to set G92 Z0 but the arm still does not work.
-
@gnmrc_ so I lost the overview, what is missing? You say the endstops work correctly. Do you mean the axes are marked as homed? (i. e. the color changes in DWC). And all letters are colored as homed?
When you power on, the DWC should mark all letters as unhomed. If some letters are marked homed already after starting up without any triggering, configuration of M574 is wrong (change NC normally closed to NO normally open or other round by removing or adding !). It should be marked homed when you trigger the endstop, not earlier.
One possibility after homing all axes is that the hotend is out of position of the allowed region, so a G1 is not possible. But you should get an error message on the console (something like "position unreachable"). You can solve that by moving the hotend with G1 H2 commands so the hotend is in a valid area. Then G1 should be allowed and possible.
-
@JoergS5 , so endstops works, the leds on the mobo turn on when the machine reaches the endstop in the correct position and if I interrupt the homing sequence before trying to home z the dashboard gives me x,y homed. What I am not able to do is home Z, my z endstop in an FSR switch that triggers when the nozzle touches the bed. My hotend in the home position is outside the build plate, to home Z I need to move the nozzle to the bed center, that is my 0,0 position, to do so I wanted to use a G0/G1 move, but the command continues to move the arm without stopping. This is a post with the video of the machine behaviour.
Something curious that is happening is that if in my homing file I do not home z, and in the dashboard I use a g92 command to home z, the arm works in the right way, but if I add the same command inside the homing file it does not work.
-
@gnmrc_ said in Scara arm overshoots position during homing routine:
command continues to move the arm without stopping.
you may have overlooked my comment above: there are two G1 types of moves:
- G1 X0 Y0 S2 (or better H2) are values of 0 degree for the first and 0 degrees of the second axis. The result is a hotend position which is not 0,0
- G1 X0 Y0 uses coordinates. But they require all axes to be homed.
In you homing file the S2/H2 type is used.
So instead your command I would try G1 X70 Y180 H2, which results in about the 0,0 hotend position, coordination based. Then you can home Z and start using G1 commands without H paramters.
Why G92 doesn't work in the homing file - I don't know. Please post how you tried it. Maybe you used commands after G92 which un-homes Z again.
-
@gnmrc_ if you need the exact 0,0 angles, then the following procedure will help:
- use the procedure where you can position the hotend to 0,0
- call M114 at the console. The Count values give information about the current single arm positions. They are the M92 values multiplied with angles (you have to take microsteps and gear ratios into account).
- in your case your M92 for X is 1777.78, so 1777.78 steps for every degree. E.g. the first Count value is 124000, then 124000/1777.78 = 69.75 degrees of the first axis.
-
@JoergS5 thanks for the help, you fixed it. I moved the G92 command position and now it works as it should, it was such a dumb fix..... I am so stupid.
-
-