Y axis moves on wrong direction when homing after power cycle
-
I tried "sensorless" homing but experienced the same - sometimes movement in the wrong direction.
I never found the fix and gave up and installed actual endstop sensors.
Someone here must know the fix.
Frederick
-
@fcwilt I have 2 other machines with Duets and Sensoreless homing. Not an issue whatsoever...
-
@fcwilt Going to watch this because my attempt at sensorless homing X and Y on a Sunlu S8 did the same. Also gave up and installed endstops.
-
@FelixH said in Y axis moves on wrong direction when homing after power cycle:
@fcwilt I have 2 other machines with Duets and Sensoreless homing. Not an issue whatsoever...
I know that many folks use it without problems.
However to me it's like stopping my car by running into a tree rather than use the brakes.
Good luck.
Frederick
-
@FelixH Your two Y homing sequences are different (one has a Z move between changing the motor current and adjusting the stall settings, the other does not). You should probably also add an M400 or a small dwell after changing the motor current and stall detection settings (see examples here: https://docs.duet3d.com/User_manual/Connecting_hardware/Sensors_stall_detection)
I'd recommend just calling the individual homex, homey, homez macros from homeall, it just keeps things simple and avoids having to update the same things in multiple places.
From what you describe it sounds like stall detection is happening when you first try to move the motors,you may need to adjust the stall level and/or the M915 H setting,I'd try increasing the H setting until you no longer get a stall straight away. The 5+ uses Trinamic TMC2209 drivers, these need to be in stealthchop mode for stall detection to work, when operating in this mode the drivers need a specific start up sequence to ensure that the stealthchop autotune mechanism is operating correctly. I assume that your other printers do not use TMC2209 drivers? If so then any settings (like motor current reduction during homing), may need to be adjusted (along with the M915 parameters and homing acceleration and speed), for correct stall detection, settings used on other boards (that have different Trinamic drivers), will probably not carry over. It can be tricky to get stall detection to work and the settings will almost certainly vary from one printer to another, often a physical endstop is simpler! For some general notes on the process see:
https://docs.duet3d.com/User_manual/Connecting_hardware/Sensors_stall_detection
and
https://teamgloomy.github.io/btt_octopus_1.1_f429_sensorless.html (ignore the stuff about board.txt and the diag pins that is not required on Duet3D boards).Good luck!
-
@gloomyandy thanks for your response. I already did play quite a bit with the M913 value (% current) as well as the M915 S parameter (sensitivity). I have been playing even more for the last hour. I see no improvement on my part. I have the impression the M915 S parameter does absolutely nothing. It makes no difference if I set it to -10 or +25, the Y axis does not work correctly.
However, I found an example configuration on the documentation in which a second pass is used for homing. I added this and in the first pass, the Y stalls immediately but the second pass goes all the way to the back end of the printer, which is good. Just for kicks I added a third pass, so I have the benefit of having two good passes for setting the Y-home.
I will have to live with it until I learn more about this.
On a related topic, I will have a read to setting the drivers correctly. On the first print tests the results are quite underwhelming. More precisely, I have been having problems with the extrusion in which as soon as the model has some gap where retraction has to be done, it begins to underextrude or something similar. I have check every hardware issue and I am confident that it is not a hardware problem at all. So I will look if there is something I left when configuring the drivers.
-
@FelixH Did you try changing the M915 H parameter as I suggested? Did you add the M400/G4 commands after changing the current/stall settings?
-
@gloomyandy I changed the H parameter. I actually calculated the value with the formula I found in the documentation, which gave me around 130 as minimum speed.
I did not yet tried to add the M400/G4 commands. I had yesterday so many things going on, I completely forgot.
What I wanted to mention, however is that the homeall.g files is diferent because if I just call the diferent macros for each axis, the z is lifted three times instead of just the one. Just a matter of elegance for me
-
@FelixH Don't assume that the calculated figure for the H parameter is correct. You can use it to prevent stalling until the motor is up to speed. If you are having problems with the motor stalling as it tries to start to move, you can raise the H setting until that no longer happens (though this may mean that the stall is not detected at all), as I said before it is all part of the tuning process.
I would not worry about the Z move happening multiple times (does it really matter), if it really bothers you, then fix it after you have a homing sequence that works correctly and reliably.
-
@gloomyandy I actually set it to 200. I experimented with higher but since there was no change I left it at 200.
I will experiment further this afternoon
-
well, I just found this post here which has some insightful info:
https://forum.duet3d.com/topic/20622/duet-3-mini-5-sensorless-homing-configuration
I will have a look later this afternoon and report back.
-
for the life of me, I cannot understand what is going on here.
After having a look at the thread I posted, I got my printer homing perfectly every single time. I was so happy. here is my homey.g file:
; homey.g ; called to home the Y axis M913 Y70 ; drop motor current to 70% G4 P100 ; wait 100ms M915 Y S-3 R0 F0 ; set Y sensitivity, do nothing when stall, unfiltered G4 P100 ; wait 100ms M400 ; wait for current moves to finish G91 ; set relative movements G1 H2 Z5 F1200 ; lift Z ; tune drivers ; relative positioning G1 H2 Y0.4 F3000 ; power up motors to ensure they are not stalled G4 P100 ; wait 100ms M400 ; wait for current moves to finish ; home Y G1 H1 Y5 F1200 ; move slowly away G1 H1 Y-300 F6000 ; move to Y axis endstop and stop there (first pass) ; eren 3600 G1 Y5 F1200 ; go back a few mm G1 H1 Y-10 F6000 ; move to Y axis endstop once more (second pass) ; eren 3000 G1 Y10 F1200 ; go back a few mm M400 ; wait for current moves to finish M913 Y100 ; restore motor current to 100% G4 P100 ; wait 100ms G1 H2 Z-5 F1200 ; reset Z G90 ; reset absolute movements
Now, I came yesterday from my winter break. Today I wanted to try a new method of steps calibration I though out. I moved the printer over the bench so I can have better access to it (the calibration involves having a pen attached to the extruder, a piece of paper and so on).
I start up the printer and I home it. The Y homing starts failing miserably again in the same fashion it did before.
I cannot understand how come it worked perfectly before, I change absolutely nothing at all and starts failing again. It did work perfectly. Nice homing, nice prints, reliable... and all of the sudden it stopped working again.
Any insights?