5bar scara Problem configuring z probe using fsr switch
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@gnmrc_ the thing i cannot find on the documents is how to make a z endstop switch run as z probe.
The configurator tool is not great - it generates some wonky code at times.
A Z endstop and a Z probe are two totally different things. You can have one or the other or both.
As to the probe type of 5, that is for a "switch" with two states - on or off. Is that what you want the FSR to behave like?
You have to include two commands to configure a Z probe: M558 and G31
Do you have these? What do they look like?
Frederick
-
@fcwilt yes at the moment i want to run the fsr as an on of switch,this is my code at the moment:
; Endstops
M574 X2 S1 P"!xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !xstop
M574 Y2 S1 P"!ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !ystop
M574 Z1 S1 P"!zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin !zstop; Z-Probe
M558 P5 C"!zstop" H5 F1800 T6000 ; set Z probe type to switch and the dive height + speeds
G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M557 X-100:100 Y-100:100 S5 ; define mesh grid -
Comment out the line for the Z endstop and see if the Z probe works as expected. I don't think you can have two devices connected to the same input.
Frederick
-
@fcwilt, it works, thank you so much!!!
But now I have another problem, when I say to the machine to go to 0,0 it overshoots the target for no apparent reason, I also checked the code and it seems correct, do you have any idea? -
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt, it works, thank you so much!!!
But now I have another problem, when I say to the machine to go to 0,0 it overshoots the target for no apparent reason, I also checked the code and it seems correct, do you have any idea?I thought about a step-per-degree error but I have checked and it's correct, 200(steps per revolutio)*128(microstepping)*25(reduction)/360=1777.777778
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt, it works, thank you so much!!!
But now I have another problem, when I say to the machine to go to 0,0 it overshoots the target for no apparent reason, I also checked the code and it seems correct, do you have any idea?I thought about a step-per-degree error but I have checked and it's correct, 200(steps per revolutio)*128(microstepping)*25(reduction)/360=1777.777778
When you say you checked it, do you mean the math above OR did you actually measure a known length of movement to see if it is correct.
For example, if the current X position is reported as 0, note the point on the bed where it is and then move to X=100. Measure from the 0 point to the 100 point.
Then do the same for Y.
In your math you show a 25 reduction - what is that?
Thanks.
Frederick
-
@fcwilt the reduction is used to increase the steps needed to complete a 1degree move(all 5barscaras actuated by steppers use this). The movement to the x0y0 is wrong because it moves outside the print area, while the 0,0 should be in the center.
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt the reduction is used to increase the steps needed to complete a 1degree move(all 5barscaras actuated by steppers use this). The movement to the x0y0 is wrong because it moves outside the print area, while the 0,0 should be in the center.
Is whatever part is moving, moving in the wrong direction?
Post your config.g file please.
Frederick
-
@fcwilt no everything works as it should directionally-wise.
This is the config file: config.g
and this is the homing file:home5barscara.gThank you so much for the help!
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt no everything works as it should directionally-wise.
This is the config file: config.g
and this is the homing file:home5barscara.gThank you so much for the help!
Unrelated to your problem but just FYI:
If you put M92 before M350 in the config file AND then use the values in M92 that are correct for 16x micro-stepping, any values you put in M350 make the needed adjustments to the M92 values "internally". So any future changes need only be made to M350.
Back to the problem:
So if everything is moving in the correct direction is it simply that it is not moving far enough?
Thanks.
Frederick
-
@fcwilt no it’s the opposite it overshoots the target.
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt no it’s the opposite it overshoots the target.
Does it home correctly to each axis?
Frederick
-
@fcwilt yes it homes the left and right actuator, than want to home z positioning the arm at the center of the bed using G1 x0 y0 s2, but it completely overshoots the position
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt yes it homes the left and right actuator, than want to home z positioning the arm at the center of the bed using G1 x0 y0 s2, but it completely overshoots the position
How do things behave if you use the axes "jog" buttons of the Dashboard on the Duet web interface?
Frederick
-
@fcwilt I cannot jog the machine due to insufficient axis homed. But I can say that the machine knows its homed position relative to bed 0,0
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt I cannot jog the machine due to insufficient axis homed. But I can say that the machine knows its homed position relative to bed 0,0
You can execute G92 Z## where ## is some position that the Z could reach in the real world.
Once you did that Z would be considered homed.
Or you can execute M564 H0 S0. The H0 means "ignore the homed state". The S0 means "ignore the axes limits". H1 means "respect the homed state". S1 means "respect the axes limits". You can use H or S alone or together. And all axes are affected.
So you could home X and Y and then use G92 or M564 to allow Z to be jogged.
Frederick
-
@fcwilt so I tried to position the arm to the home position and input the offsets manually with g92, now if I move the arm to the 0,0 position it works as it should.
If in the homing file I add a g92 x0 y0 than move the arm it should work, for sure is not the cleanest solution but seems reasonable.
Tell me what you think.Gianmarco
-
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt so I tried to position the arm to the home position and input the offsets manually with g92, now if I move the arm to the 0,0 position it works as it should.
If in the homing file I add a g92 x0 y0 than move the arm it should work, for sure is not the cleanest solution but seems reasonable.
Tell me what you think.Gianmarco
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt so I tried to position the arm to the home position and input the offsets manually with g92, now if I move the arm to the 0,0 position it works as it should.
If in the homing file I add a g92 x0 y0 than move the arm it should work, for sure is not the cleanest solution but seems reasonable.
Tell me what you think.Gianmarco
I tried this solution using first s2 and that h0 but it does not work.
with h0 it does not work and with s2 it overshoots as before. -
@gnmrc_ said in Problem configuring z probe using fsr switch:
@fcwilt so I tried to position the arm to the home position and input the offsets manually with g92, now if I move the arm to the 0,0 position it works as it should.
If in the homing file I add a g92 x0 y0 than move the arm it should work, for sure is not the cleanest solution but seems reasonable.
Tell me what you think.Gianmarco
I only use G92 during testing and in my homing files.
For example:
Let's say my bed is 300 x 300. But I like to have X=0, Y=0 at the center of that area. So the printable limits of the X axis are specified in M208 as -150 and 150.
But my endstop is actually at -175.
So when doing a typical homing move...
G91 ; relative moves G1 H1 X-399 F600 ; move toward the endstop
...when the endstop is activated the behavior of the H1 move is to set the logical X axis position to Xmin as specified in the M208, which as mentioned above is -150.
But the physical position is -175 because that is where movement stops when the endstop was triggered.
We now have a situation where the logical position of -150 is out of sync with the physical position of -175.
So to get them in sync I do something like:
M564 S0 ; ignore axis limits G90 ; absolute move G1 X175 F600 ; move to physical position X=0 G92 X0 ; set logical position to X=0 M564 s1 ; respect axis limits
Now things are in sync. I usually find that the X175 is a bit off and needs repeated testing to tweak the value so X=0 is just where I want it.
There are other ways to do this but this is how I do it.
Frederick
-
@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