5bar scara Problem configuring z probe using fsr switch
-
@fcwilt said in Problem configuring z probe using fsr switch:
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt I will give it a try but if I understood correctly it's not our case of error, because my movement limits are min:-250,-250 max:250,250 when the arm is homed I'm inside those limits.
I really can't understand what I'm doing wrong.
We also should open another forum discussion because we are talking a lot about a completely different topic that maybe could help others.Gianmarco
I see in the config.g file that both X and Y range from -250 to +250.
But where do the endstops trigger on each axis? Are they exactly at 250?
Frederick
So I didn’t understood this, no the arm position at home does not correspond to the are limits. -
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt no well you have to consider that being a scara they work on the axis rotation, but the position is inside the reachable area. The home position is aroung x-168 y-98 (I give you rough number because I’m not home right now), so no they do not trigger precisely in that position.
Gianmarco
Hi,
When you say "home position" what do you mean. Maybe what you think of as "home" is different than what I think of as "home".
And how did you determine the values in your M669 command?
Thanks.
Frederick
-
@fcwilt so for me the home is the position in which the machine reach the endstops(this position is outside the are of printing) and it was determined in the design process. The value for m669 are taken by measures of the arm lenght and for the degrees by the design than I put the data in a geometry calculation program and found the other informations that i needed for the configuration.
I made a simple sketch to explain me better
Gianmarco -
-
That sketch helped a lot.
I would suggest you try this:
Execute...
M564 H0 S0 ; H0 = ignore axis homed state, S0 = ignore axes limits
...then carefully jog X and Y to see if the physical position seems correct for various values of X and Y.
Once that seems to be working:
- carefully jog to where you want X=0 Y=0 to be
- execute a G92 X0 Y0 to set the logical positions of X and Y
- carefully jog X and Y until the endstop switches are activated (there is a command that would do this but at this point jogging is probably safer)
- make note of the X and Y values at that position
Then post the results.
Thanks.
Frederick
-
@fcwilt I tried your suggestion, I jogged the machine from a known position that would make the arm move theoretically in the right way, and the arm moved accordingly to my command so -y moved the arm only left +x forward and so on without having noticeable diagonal moves or incorrect ones. Then I started moving the arm until it reached its endstops, the position that I found was x: -161.1 y: -108.53, while the one that I had calculated using theoretical values was x: -162.67 y: -108.53.
Thank you for all the help that you are giving me!
Gianmarco
-
Did you do the set of steps to establish X=0 Y=0 at the center of the bed?
From that position can you reach an endstop switch moving on just one axis or does it require movement on both?
Homing usually involves a G1 H1 move where the H1 causes the movement to stop when the endstop is triggered and set the current position to the min/max value for that axis.
I suppose it is possible to have a G1 H1 Xnnn Ynnn move as long as it ends up triggering one of the endstop switches. It could still set the current position of the axis associated with the endstop switch that was activated. I guess it just ignore the other axis.
Thanks.
Frederick
-
@fcwilt Yes, If I move first the left actuator than the right I can reach the zero position from the home position using only one actuator at the time with no problem.
If I understand correctly you are suggesting that after I reached the home position I rotate only one motor at the time to reach the zero position, right?
In this case I could also only move the arm using angular position.Tell me if I understood everything correctly.
Thanks for the help,
Gianmarco -
Considering a simple two-axis Cartesian printer where each axis, X and Y, can move independently.
The endstop switches for each axis are in known locations. When you power up the machine the location of the tool is unknown.
You issue the G1 H1 commands for one axis at a time. The movement is toward the associated endstop switch. When the endstop switch is triggered movement stops and the location for that axis is now known, as it sets the logical position based on the min or max value from M208, for that axis.
But If the values in M208 are wrong the logical position for that axis will not match the physical position.
I'm trying to figure out how that is done on a machine like yours where movement to any XY point seems to require moving both axes.
Starting from a unknown position is there a single G1 H1 Xaaa Ybbb command that can result in each endstop switch being triggered at some point in time?
Or do you use two commands, G1 H1 Xaaa and G1 H1 Ybbb?
The physical positions of the endstop switches that you posted, positions you verified mathematically and experimentally, don't match the values in the M208 in your config.g file.
Thanks.
Frederick
-
@fcwilt, no it's not possible to home with a single G1 H1 command both axis, you have to home one axis at a time. After the homing arm procedure ends the arm knows its effector position (I also corrected the m208 line).
In the dashboard X and Y values after I get the error "failed to home Z" are correct.
If after the error I send a g92 z0 command and then g0 x0 y0 the arm behaves as it should.
Only if I send the g0 x0 y0 in the home5barscara.g file the arm does not behave properly.
I also took the videos of the 2 arm behaviors, but are too large to upload here, tell me if they could help.Thanks for the help.
Gianmarco
-
Well it sounds like you are making good progress.
Why is Z not being homed? Z is usually easy.
As to the videos I would very much like to see them.
Can you upload them to YouTube?
Thanks.
Frederick
-
@fcwilt, yes we are getting close to make it work perfectly.
I cannot home the z axis because I use the z probe as z endstop for homing.
Being my homing pos outside the bed I have to move the arm at a position inside the bed to complete the procedure but when I try to do so I get the overshooting problem.
That move it’s the only thing left to make everything work.Yes I will post the videos as soon as possible.
Thanks for the help,
Gianmarco
-
-
@fcwilt It will work but would be like skipping the problem. I want to make the homing work properly as intended.
Gianmarco
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt It will work but would be like skipping the problem. I want to make the homing work properly as intended.
Gianmarco
There is no "properly" - there are just several ways to achieve the desired outcome.
Consider this printer of mine using three Z steppers to achieve auto bed leveling:
Now I purposely put the bed way out of level to demonstrate the auto bed leveling. It works because each Z axis has it's on endstop switch. It would not be possible with a typical Z probe to level the bed as it is.
Once the bed is level then I use the Z probe to run the firmware's bed leveling feature which fine tunes the result obtained from leveling with the endstop switches.
It's your printer and you can do anything you want but don't frustrate yourself thinking homing Z with a probe is "as intended".
Good luck.
Frederick
-
@fcwilt Ok, I'm gonna do that way.
By the way I forgot to link the videos of the machine:
This is the overshoot that the arm does
This is the homing only of the 2 arms and after the g92 command followed by the G0 x0 y0.Thanks,
Gianmarco -
That is a fascinating machine.
Please post your most recent config.g file and the various homing files.
We are overlooking something simple - I think.
Thanks.
Frederick
-
This is the most recent config file: config (1).g
and this is the most recent homing file:home5barscara (2).g
(I left commented some workarounds that I tried)Thanks for all the help that you are giving me,
Gianmarco. -
Sorry it is taking so long.
In your homing file at the end you have
G1 X0 Y0 S2
Why the S2?
Frederick
-
@fcwilt, do not worry about the time I’m not in a hurry.
I use S2 because it makes me move the arm even if it’s not homed, other h commands would not make it move, I do not know why.Gianmarco
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt, do not worry about the time I’m not in a hurry.
I use S2 because it makes me move the arm even if it’s not homed, other h commands would not make it move, I do not know why.Gianmarco
What version of firmware are you using?
This is what the docs says about that for v3 firmware:
Snnn In RRF3, this parameter is used to set laser power, when switched into Laser mode (see M452); its use for defining move type is deprecated, use 'H' parameter instead. In RRF2.02 and later, when switched into Laser mode (see M452), this parameter sets the laser power. When not switched into Laser mode, and always in firmware 2.01 and earlier, it defines the move type (see the description of the H parameter).
Also the G1 H1 moves in the homing file, assuming they triggered the endstops, should have marked the axis as homed.
If that is not happening something is wrong with the code or the endstops (configuration, wiring, etc).
Frederick