Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Z-axis / tramming issues with 3.6.0-alpha2+3

    Scheduled Pinned Locked Moved Unsolved
    Beta Firmware
    6
    52
    2.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DonStaufferundefined
      DonStauffer @Exerqtor
      last edited by DonStauffer

      @Exerqtor Doing an iterative G32:

      Here's some data. I turned on the machine, then used my "single Z stepper" macro to adjust the best I could by eye. Just to be sure, I did an M999 next. Then I homed and did G32. My Z steppers are 5, 6, and 7. The console log:

      G32

      Leadscrew adjustments made: 0.771 -0.973 0.823, points used 3, (mean, deviation) before (0.064, 0.712) after (0.000, 0.000)

      Leadscrew adjustments made: 0.010 -1.957 -0.017, points used 3, (mean, deviation) before (-0.811, 0.787) after (-0.000, 0.000)

      Here you can see the adjustments to #5 and #7 are not bad, but obviously #6 got much worse, and fact it almost exactly doubled. So this stepper was adjusted in the wrong direction. But the stepper isn't reversed all the time. Homing works fine, and my "single z stepper" macro works fine. Also odd is that the first I noticed it, it was #7 that was doing this and #6 was fine. This without me changing anything (such as wiring or M569 in config.g). It's as if which stepper goes backwards just for leveling depends on the time of day.

      When I started getting these messages, I emergency stopped. Once you start getting these with this problem, you just keep getting them:

      Error: M280: Probe was not triggered during probing move
      Error: Compensation or calibration cancelled due to probing errors

      This is new behavior. To get the first error, previously something had go wrong that would happen to keep the probe from triggering. But it's triggering fine, because the carriage immediately goes back up with the dive height, just as with a normal probe. So my iterative leveling in bed.g is now just going around and around, giving these errors every time, and making no adjustments.

      I notice you've gotten some of the "Warning: phase B may be disconnected" messages which usually mean a connector or wire problem. But checked all pins with a meter and they were all good. Not sure if this was because there was an intermittent plug issue that went away from pulling the plugs out to test, but it seems odd because I hadn't moved anything, and with you reporting the same thing...

      gloomyandyundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
      • gloomyandyundefined
        gloomyandy @DonStauffer
        last edited by

        @DonStauffer Can I suggest that for now you disable as many (ideally all) of the fancy macros and test just the basics, that would hopefully allow you to switch between 3.6 and 3.5 so we can establish if the problems you are seeing are related to the new firmware or not (please remember this is an alpha release and may have problems).

        DonStaufferundefined 1 Reply Last reply Reply Quote 0
        • o_lampeundefined
          o_lampe @DonStauffer
          last edited by o_lampe

          @DonStauffer @Exerqtor
          I was wondering if the motor that acts up during bed tramming is set to a different rotation direction? M586 Px S1 while the other two motors are M586 Px S0

          DonStaufferundefined 1 Reply Last reply Reply Quote 0
          • DonStaufferundefined
            DonStauffer @o_lampe
            last edited by

            @o_lampe It varies. It's not just one motor.

            1 Reply Last reply Reply Quote 0
            • DonStaufferundefined
              DonStauffer @gloomyandy
              last edited by

              @gloomyandy I could, but hasn't Exerqtor already confirmed that? I think I saw a post where he said he reverted and the problem went away. This didn't happen on 3.5.2 ~2 or 3 weeks ago when I leveled the bed hundreds of times.

              I understand about alpha. I was stuck because I couldn't print but I found a way for now that works OK. It's a pain though.

              What I have done is set my bed.g for one iteration and used the S-1 parameter for the last G30, so it only prints the adjustments that are needed. Then I've been manually adjusting the various Z motors according to that. Then I re-home and G32 again. It took me a couple hours, but the bed is level and the printer is printing now. So it's clearly the G30 S3 that's wrongly adjusting the motors some of the time.

              gloomyandyundefined 1 Reply Last reply Reply Quote 0
              • gloomyandyundefined
                gloomyandy @DonStauffer
                last edited by gloomyandy

                @DonStauffer The more data points we can gather the faster we will be able to identify and hopefully fix the problems. From reading the reports it seems that @Exerqtor was able to tram his bed several times using 3.6 without any issues before then running into problems. I'm not sure how many times it worked after reverting to 3.5 but clearly for Exerqtor it is not a simple case of 3.5 works and 3.6 does not.

                @all it might be useful to understand what direction the stepper that has problems is trying to move in (and perhaps what direction it moved in last), so for instance does the error only occur with a stepper that is trying to move up (or down) and did it last move in the same or a different direction.

                @DonStauffer when you manually adjust the steppers to level the bed what commands are you actually using and do they work correctly?

                Exerqtorundefined DonStaufferundefined 3 Replies Last reply Reply Quote 0
                • Exerqtorundefined
                  Exerqtor @gloomyandy
                  last edited by Exerqtor

                  @gloomyandy Yeah it worked 2-3 times (at least) on 3.6 for me before acting up all off a sudden. On 3.5 it's running stable without issues (and it has been since release).

                  I'll smack together a simplified bed.g, verify it working stabily with 3.5 by doing 20-30 back too back G32's. Then upgrade too 3.6, enable debug logging and do the same there, and report back here with how it went.

                  gloomyandyundefined 1 Reply Last reply Reply Quote 0
                  • gloomyandyundefined
                    gloomyandy @Exerqtor
                    last edited by

                    @Exerqtor If you can please make a note of the stepper that has a problem and the direction that it has been asked to move in.

                    Exerqtorundefined 1 Reply Last reply Reply Quote 0
                    • edspedundefined
                      edsped
                      last edited by

                      Add another to the list of those with tramming issues. Just trashed my build sheet. I've never had an issue with the printer before so I'm pretty sure it's related to the 3.6 A... Reverted back to 3.5.2 and am re printing now. There's definitely a difference in tramming between the two...

                      Tramming with 3.6... This is the print that trashed the sheet...
                      Screenshot 2024-08-03 100058.jpg

                      Tramming with 3.5.2 After crash...
                      Screenshot 2024-08-03 101207.jpg

                      Damage...
                      IMG_3852.JPG IMG_3853.JPG

                      1 Reply Last reply Reply Quote 0
                      • Exerqtorundefined
                        Exerqtor @gloomyandy
                        last edited by Exerqtor

                        @gloomyandy said in Z-axis / tramming issues with 3.6.0-alpha2+3:

                        @Exerqtor If you can please make a note of the stepper that has a problem and the direction that it has been asked to move in.

                        I'm 99.9% sure the what happened in my case (when it was fucking up the adjustments in the coarse tramming pass) is that the "front right" axis (0.4 in my case) went up rather than down. But I might be able to verify this when I get time to run the macro I make for debug later.

                        @edsped said in Z-axis / tramming issues with 3.6.0-alpha2+3:

                        Add another to the list of those with tramming issues. Just trashed my build sheet. I've never had an issue with the printer before so I'm pretty sure it's related to the 3.6 A... Reverted back to 3.5.2 and am re printing now. There's definitely a difference in tramming between the two...

                        Ouch that sucks! Hope your hotend/nozzle didn't take any damage 😢


                        As a baseline reference this is my standard set off tramming macros (if I forgot to add a sub-macro let me know and I'll supply that as well.

                        bed.g
                        bed_probe_points

                        The homing macro's haven't been acting up so I didn't bother adding those.

                        I'll upload the simplified/debug bed.g once I get time to write it!

                        edspedundefined 1 Reply Last reply Reply Quote 0
                        • edspedundefined
                          edsped @Exerqtor
                          last edited by

                          @Exerqtor

                          Nozzle, gammamaster, appears to be okay, No first layer or offset issues so I'm guessing the rapido is okay but I wouldn't be surprised if the heatbreak isn't a little tweaked. I've got thousands of toolchanges and the same with print starts and this is the first time, other than the initial commissioning of the printer that I had something like this happen. I'm definitely bummed but knew what I was getting into when I loaded an alpha firmware. Coarse tramming was definitely not as good on 3.6 as it is on 3.5.2 as can be seen in my screenshots.

                          1 Reply Last reply Reply Quote 0
                          • edspedundefined
                            edsped
                            last edited by

                            My bed.g is pretty basic but am posting just i case it helps..
                            bed.g

                            DonStaufferundefined 1 Reply Last reply Reply Quote 0
                            • DonStaufferundefined
                              DonStauffer @gloomyandy
                              last edited by

                              @gloomyandy

                              ;-------------------------------------------------------------------------------
                              ;	MoveZStepper Macro
                              ;-------------------------------------------------------------------------------
                              ;	Moves one Z stepper independently, for manual, coarse tramming. Creates
                              ;	(or reuses) an A axis for the purpose, then hides it when done.
                              ;
                              ;	Parameters:
                              ;		N	Stepper number (default: 7)
                              ;		Z	Distance. which may be negative to move up (default: 1)
                              ;		S	Speed (default: 150)
                              ;-------------------------------------------------------------------------------
                              ;	Don Stauffer					July, 2024
                              ;-------------------------------------------------------------------------------
                              ;if global.DebugLevel >= 1200
                              ;	var This = "MoveZStepper"
                              ;	set var.This = var.This^(exists(param.N) ? " N"^param.N : "")
                              ;	set var.This = var.This^(exists(param.Z) ? " Z"^param.Z : "")
                              ;	set var.This = var.This^(exists(param.S) ? " S"^param.S : "")
                              ;	echo var.This
                              ;-------------------------------------------------------------------------------
                              ;	Parameters
                              ;-------------------------------------------------------------------------------
                              var StepperNum = (exists(param.N) ? param.N : 7)
                              var Distance = (exists(param.Z) ? param.Z : 1)
                              var Speed = (exists(param.S) ? param.S : 150)
                              ;-------------------------------------------------------------------------------
                              ;	Echo back what will be done
                              ;-------------------------------------------------------------------------------
                              echo "Moving Z stepper", var.StepperNum, "by", var.Distance
                              ;-------------------------------------------------------------------------------
                              ;	Create A axis if necessary; make it visible if it already exists
                              ;-------------------------------------------------------------------------------
                              var DoesAAxisExist = false
                              
                              while iterations < #move.axes
                              	if move.axes[iterations].letter != "A"
                              		continue
                              	set var.DoesAAxisExist = true
                              	break
                              
                              if var.DoesAAxisExist
                              	M584 P4
                              M584 A{var.StepperNum}
                              ;-------------------------------------------------------------------------------
                              ;	Configuration adapted from config.g. Not sure if everything is needed here
                              ;-------------------------------------------------------------------------------
                              M669 K1			    ;	CoreXY mode
                              M350 A16 I1		    ;	16x microstepping for axes & extruder, w/interpolation
                              M574 A1 S2			;	Set Endstop configuration (P"pin_name"); S2 = Z probe
                              M906 A1500 I60		;	Set motor currents (mA)
                              M203 A{var.Speed}	;	Maximum speeds (mm/min)
                              
                              M566 A12			;	Jerk
                              M201 A90			;	Max acceleration
                              
                              M208 A635			;	Set axis maxima & high homing switch positions
                              M208 A-0.5 S1		;	Set axis minima & low homing switch positions
                              
                              M92 A3200			;	Steps/mm
                              ;-------------------------------------------------------------------------------
                              ;	Move the Z stepper as the "A axis"
                              ;-------------------------------------------------------------------------------
                              G91
                              G1 A{var.Distance} H2
                              ;-------------------------------------------------------------------------------
                              ;	Reset everything back to the same as config.g
                              ;-------------------------------------------------------------------------------
                              M584 X0 Y1 Z5:6:7	;	Map Z to drivers 5, 6, 7.
                              
                              M669 K1			    ;	CoreXY mode
                              M350 Z16 I1		    ;	16x microstepping for axes & extruder, w/interpolation
                              M574 Z1 S2			;	Set Endstop configuration (P"pin_name"); S2 = Z probe
                              M906 Z1500 I60		;	Set motor currents (mA)M203 Z600
                              M203 Z600			;	Maximum speeds (mm/min)
                              
                              M566 Z12			;	Jerk
                              M201 Z90			;	Max acceleration
                              
                              M208 Z635			;   set axis maxima & high homing switch positions
                              M208 Z-0.5 S1		;   set axis minima & low homing switch positions
                              
                              M92 Z3200			;   Steps/mm
                              ;-------------------------------------------------------------------------------
                              ;	Hide A-axis by setting number of visible axes back to 3
                              ;-------------------------------------------------------------------------------
                              M584 P3
                              ;-------------------------------------------------------------------------------
                              ;if global.DebugLevel >= 1200
                              ;	echo "Leaving MoveZStepper"
                              ;-------------------------------------------------------------------------------
                              
                              1 Reply Last reply Reply Quote 0
                              • DonStaufferundefined
                                DonStauffer @gloomyandy
                                last edited by

                                @gloomyandy If you tell me the procedure I'll revert and then test it.

                                It's possible that the direction problem is that when a negative adjustment is needed, it does a positive adjustment. That does happen. I don't know if it happens the other way around, but I have seen this.

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @DonStauffer
                                  last edited by dc42

                                  @DonStauffer @Exerqtor @edsped thanks for reporting this. I'm sorry for any damage caused.

                                  I don't have a system with multiple Z motors that I can test on, but I think I know what is causing this. It's to do with getting the motor direction wrong when switching between normal Z moves and leadscrew adjustment moves. Please can you identify for me which of the following is happening:

                                  1. When the first bed tramming move is executed, some of the motors move in the wrong direction.
                                  2. Immediately after the first bed tramming move is executed, when executing a normal Z move (which could be part of a new G32 probing sequence), some of the the Z motors move in the wrong direction.
                                  3. Both of the above.

                                  If the main problem is #2 then a workaround for now might be to insert M400 after the G32 call, to ensure motion stops before another Z move is executed.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  Exerqtorundefined DonStaufferundefined 3 Replies Last reply Reply Quote 0
                                  • Exerqtorundefined
                                    Exerqtor @dc42
                                    last edited by Exerqtor

                                    @dc42 said in Z-axis / tramming issues with 3.6.0-alpha2+3:

                                    @DonStauffer @Exerqtor @edsped thanks for reporting this. I'm sorry for any damage caused.

                                    It's part of the course with testing pre-release stuff imo! Win some loose some 😅

                                    I don't have a system with multiple Z motors that I can test on, but I think I know what is causing this. It's to do with getting the motor direction wrong when switching between normal Z moves and leadscrew adjustment moves. Please can you identify for me which of the following is happening:

                                    1. When the first bed tramming move is executed, some of the motors move in the wrong direction.
                                    2. Immediately after the first bed tramming move is executed, when executing a normal Z move (which could be part of a new G32 probing sequence), some of the the Z motors move in the wrong direction.
                                    3. Both of the above.

                                    If the main problem is #2 then a workaround for now might be to insert M400 after the G32 call, to ensure motion stops before another Z move is executed.

                                    Well, when I think back the first time it happened for me was during the Z homing routine before tramming start. I think it was between one of the "tolerance" moves when doing G30. Did the first move, went to lower the bed to specified dive height, but rather than switching over the two front axis to rise up again to "engage" the second probe once dive height was reached they contiuned on a downwards motion.

                                    The other times it happened it seemd to apply the axis adjustements wronlgy (in 1 or all axis) when it was done with the G30 moves for tramming.

                                    If that made sense?

                                    1 Reply Last reply Reply Quote 0
                                    • DonStaufferundefined
                                      DonStauffer @dc42
                                      last edited by

                                      @dc42 I have not had bed tramming without one of the motors going the wrong direction since installing alpha 2. I will have to test for #2. I don't think I've seen it but I wasn't looking for it.

                                      1 Reply Last reply Reply Quote 0
                                      • DonStaufferundefined
                                        DonStauffer @edsped
                                        last edited by DonStauffer

                                        @edsped Here's my bed.g, and the DefineBed macro you have to run to create the global Bed variable it uses for the data points:

                                        ;-------------------------------------------------------------------------------
                                        ;	bed.g
                                        ;-------------------------------------------------------------------------------
                                        ;	Bed leveling macro.
                                        ;-------------------------------------------------------------------------------
                                        ;	Don Stauffer									July, 2024
                                        ;-------------------------------------------------------------------------------
                                        ;   Subscript Constants
                                        ;-------------------------------------------------------------------------------
                                        var LEV = 1
                                        ;-------------------------------------------------------------------------------
                                        ;   Other Constants
                                        ;-------------------------------------------------------------------------------
                                        var ITERATION_COUNT_MAX = 15
                                        var ERR_ALLOWED = 0.005
                                        ;-------------------------------------------------------------------------------
                                        ;	Clear any existing bed transform and move up
                                        ;-------------------------------------------------------------------------------
                                        M561
                                        G1 H2 Z5
                                        ;-------------------------------------------------------------------------------
                                        ;	Start NeoPixel progress meters
                                        ;-------------------------------------------------------------------------------
                                        ;M98 P"0:/macros/Lights/NeoPixel/Progress/BedLeveling/StartProgressMeters" E{var.ERR_ALLOWED}
                                        ;-------------------------------------------------------------------------------
                                        ;	Iteratively attempt to level the bed
                                        ;-------------------------------------------------------------------------------
                                        var Raw = null
                                        var Abs = null
                                        var Sign = null
                                        var x = null
                                        var y = null
                                        var z = null
                                        
                                        var Err = pow(2, 31)		;	"infinity"
                                        
                                        while iterations < var.ITERATION_COUNT_MAX && var.Err > var.ERR_ALLOWED
                                        	;---------------------------------------------------------------------------
                                        	;   Retrieve and probe the points
                                        	;---------------------------------------------------------------------------
                                        	while iterations < #(global.Bed[var.LEV])
                                        		;-----------------------------------------------------------------------
                                        		;   Decode probe point coordinates
                                        		;-----------------------------------------------------------------------
                                        		set var.Raw = mod(global.Bed[var.LEV][iterations], pow(2, 15))
                                        		set var.Abs = mod(var.Raw, pow(2, 14))
                                        		set var.Sign = floor((var.Raw - var.Abs) / pow(2, 14) + 0.5)
                                        		set var.x = var.Abs * (1 - var.Sign * 2)
                                        
                                        		set var.Raw = floor((global.Bed[var.LEV][iterations]-var.Raw)/pow(2, 15)+ 0.5)
                                        		set var.Abs = mod(var.Raw, pow(2, 14))
                                        		set var.Sign = floor((var.Raw - var.Abs) / pow(2, 14) + 0.5)
                                        		set var.y = var.Abs * (1 - var.Sign * 2)
                                        		;-----------------------------------------------------------------------
                                        		;	Moving this way updates move.axes[i].userPosition faster
                                        		;	(Important for NeoPixel progress meter for index)
                                        		;-----------------------------------------------------------------------
                                        		set var.z =sensors.probes[0].diveHeights[0]-sensors.probes[0].offsets[2]
                                        		;-----------------------------------------------------------------------
                                        		;	Probe the point
                                        		;-----------------------------------------------------------------------
                                        		if iterations ==  #(global.Bed[var.LEV]) - 1
                                        			G30 P{iterations} X{var.x} Y{var.y} Z-99999 S3
                                        			;G30 P{iterations} X{var.x} Y{var.y} Z-99999 S{#(global.Bed[var.LEV])}
                                        		else
                                        			G30 P{iterations} X{var.x} Y{var.y} Z-99999
                                        	;---------------------------------------------------------------------------
                                        	;	Calculate the error sum
                                        	;---------------------------------------------------------------------------
                                        	set var.Err = abs(move.calibration.initial.mean)
                                        	set var.Err = var.Err + move.calibration.initial.deviation
                                        
                                        	if global.DebugLevel > 1000
                                        		echo "Error="^var.Err,"Mean="^move.calibration.initial.mean,"Dev="^move.calibration.initial.deviation
                                        
                                        if var.Err > var.ERR_ALLOWED
                                        	echo "Leveling didn't converge;",var.ITERATION_COUNT_MAX,"tries. Error="^var.Err
                                        else
                                        	echo "Leveling converged. Error="^var.Err
                                        ;-------------------------------------------------------------------------------
                                        ;	Move to center (necessary for NeoPixel progress meters to detect done)
                                        ;-------------------------------------------------------------------------------
                                        G53 G1 X150 Y150 F9000
                                        ;-------------------------------------------------------------------------------
                                        ;	Wait for NeoPixel progress mweter processes to end themselves
                                        ;-------------------------------------------------------------------------------
                                        ;M98 P"0:/macros/Lights/NeoPixel/Progress/WaitForEnd"
                                        
                                        ;-------------------------------------------------------------------------------
                                        ;	DefineBed Macro
                                        ;-------------------------------------------------------------------------------
                                        ;   Initializes global.Bed.
                                        ;   global.Bed[var.LEV] contains the 3 probe points for bed leveling, encoded
                                        ;   as bitmaps to save memory.
                                        ;
                                        ;   This is intended to be called from config.g.
                                        ;
                                        ;   The X and Y coordinates of each point are compressed into a single integer
                                        ;   for memory conservation. The decoding routine is at the bottom of this file.
                                        ;-------------------------------------------------------------------------------
                                        ;	Don Stauffer					            July, 2024
                                        ;-------------------------------------------------------------------------------
                                        ;if global.DebugLevel >= 1200
                                        ;	echo "DefineBed"
                                        ;-------------------------------------------------------------------------------
                                        ;	Subscript Constants
                                        ;-------------------------------------------------------------------------------
                                        var HTR = 0
                                        var OM = 0
                                        ;var STATE = 1
                                        
                                        var LEV = 1
                                        ;-------------------------------------------------------------------------------
                                        ;   Create global.Bed if necessary
                                        ;-------------------------------------------------------------------------------
                                        if !exists(global.Bed)
                                            global Bed = vector(2, null)
                                            set global.Bed[var.HTR] = vector(2, null)
                                            set global.Bed[var.LEV] = vector(3, null)
                                        ;-------------------------------------------------------------------------------
                                        ;   Define probe points for bed leveling; bitmap encode to save memory
                                        ;-------------------------------------------------------------------------------
                                        var x = {10, 10, 265}
                                        var y = {12, 228, 100}
                                        
                                        while iterations < 3
                                            ;---------------------------------------------------------------------------
                                            ;   Encode x and y coordinates into a single integer
                                            ;---------------------------------------------------------------------------
                                            var xEnc = abs(var.x[iterations]) + (var.x[iterations] < 0 ? pow(2, 14) : 0)
                                        
                                            var yEnc = abs(var.y[iterations]) * pow(2, 15)
                                            set var.yEnc = var.yEnc + (var.y[iterations] < 0 ? pow(2, 29) : 0)
                                        
                                            set global.Bed[var.LEV][iterations] = var.xEnc + var.yEnc
                                        ;-------------------------------------------------------------------------------
                                        ;   Set up bed heater information
                                        ;-------------------------------------------------------------------------------
                                        while iterations < #heat.bedHeaters
                                            if heat.bedHeaters[iterations] != -1
                                                set global.Bed[var.HTR][var.OM] = iterations
                                                break
                                        ;-------------------------------------------------------------------------------
                                        ;if global.DebugLevel >= 1200
                                        ;	echo "Leaving DefineBed"
                                        ;-------------------------------------------------------------------------------
                                        M99
                                        ;-------------------------------------------------------------------------------
                                        ;   To decode bitmap-encoded probe points:
                                        ;-------------------------------------------------------------------------------
                                        while iterations < 3
                                        
                                            var P = global.Bed[var.LEV][iterations]
                                        
                                            var xRaw = mod(var.P, pow(2, 15))
                                            var yRaw = floor((var.P - var.xRaw) / pow(2, 15) + 0.5)
                                        
                                            var xAbs = mod(var.xRaw, pow(2, 14))
                                            var yAbs = mod(var.yRaw, pow(2, 14))
                                        
                                            var xSign = floor((var.xRaw - var.xAbs) / pow(2, 14) + 0.5)
                                            var ySign = floor((var.yRaw - var.yAbs) / pow(2, 14) + 0.5)
                                        
                                            var xDec = var.xAbs * (1 - var.xSign * 2)
                                            var yDec = var.yAbs * (1 - var.ySign * 2)
                                        
                                            echo "("^var.xDec^",", var.yDec^")"
                                        
                                        
                                        Exerqtorundefined 1 Reply Last reply Reply Quote 0
                                        • Exerqtorundefined
                                          Exerqtor @DonStauffer
                                          last edited by Exerqtor

                                          Just slapped together a stripped down bed.g, hopefully i get time to test it either today or tomorrow.

                                          bed.g

                                          1 Reply Last reply Reply Quote 0
                                          • DonStaufferundefined
                                            DonStauffer @dc42
                                            last edited by

                                            @dc42 Here are my testing results.

                                            In bed.g, I inserted immediately after my first G30:

                                            		G1 Z25 F75
                                            		M99
                                            

                                            Then I homed and did a G32. Nothing that happened was unexpected. The motors all ran in the correct direction. So the only issue I can confirm is that the adjustment when the G30 with the S parameter executes goes in the wrong direction for one of the motors - and not always the same one. Initially it was #7. Then when I did my "manual" tramming with bed.g doing S-1 to report the correct adjustments, it was #6. I did that manual tramming over and over, making very conservative adjustments, and throughout several hours it remained #6. But it absolutely was a different motor than the problem started on. And there's no doubt it isn't just a simple reversal - it's conditional, only apparently happening on the G30 S adjustments.

                                            So, my answer is "neither #1 nor #2".

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA