stepper direction wont reverse.



  • Just having an issue reversing my z axis. changing the values in config.g from s0 to s1 doesn't have any effect. I ended up reversing my motor direction manually but im worried the value will eventually work, since i had a similar issue with my network setting where the values wouldn't take then eventually randomly did. The only difference is my z axis will crash into my tool head if it does randomly work lol. i checked the override and there are no values that pertain to motor direction.



  • @davidvh86 I'm guessing you've checked this, but you don't have anything resetting it in your homing files do you? Not that I er... ever er... did that... 😛



  • I dont believe so most of the values are strait out of the rep rap configurator, the biggest change i made was mirroring the y axis on the e2 driver, since i have two y stepper motors driving the y axis.


  • Moderator

    Please share more informatin. What board? What firmware version? Share the results of M122. Also share your config.g and homing files.



  • Sure its a duet wifi running the latest stable firmware

    Config.g

    Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"CubePro" ; set printer name

    ; Network
    M551 P"123456" ; set password
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S1 ; physical drive 0 goes Forwards
    M569 P1 S0 ; physical drive 1 goes backwards (make sure it matches p4 they are mirrored)
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S0 ; physical drive 3 goes backwards
    M569 P4 S0 ; physical drive 3 goes backwards (make sure it matches p1 they are mirrored)
    M584 X0 Y1:4 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X160.00 Y160.00 Z2133.33 E882.1 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X15000.00 Y15000.00 Z1200.00 E1800.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z250.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1400 Y1400 Z1900 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X287.2 Y291.8 Z216.9 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y2 S1 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop
    M574 Z2 S1 P"!zstop" ; configure active-high endstop for high end on Z via pin zstop

    ; Z-Probe
    M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X47 Y0 Z5.12 ; set Z probe trigger value, offset and trigger height (Increasing z value Brings nozzel closer to bed)
    M557 X50:290 Y10:272 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S115 ; set temperature limit for heater 0 to 115C
    M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
    M950 H2 C"e1heat" T2 ; create chamber heater output on e1heat and map it to sensor 2
    M307 H2 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit
    M141 H2 ; map chamber to heater 2

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S1 H1 T45 ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off
    M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off

    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    M501
    ; Custom settings are not defined

    Home.z

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Thu Jun 04 2020 21:50:50 GMT-0400 (Eastern Daylight Time)
    G91 ; relative positioning
    ;G1 H2 Z-3 F6000 ; lift Z relative to current position
    G1 H1 Z280 F3000 ; move Z up until the endstop is triggered (first pass)
    G1 H2 Z-3 F6000 ; go back a few mm
    G1 H1 Z280 F360 ; move slowly to Z axis endstop once more (second pass)
    G92 Z216.9 ; set Z position to axis maximum (you may want to adjust this)
    G1 Z-1.5 F100 ; lift Z relative to current position

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    Homeall.z

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Thu Jun 04 2020 21:50:49 GMT-0400 (Eastern Daylight Time)
    G91 ; relative positioning
    G1 H1 X-292 Y300 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y-5 F6000 ; go back a few mm
    G1 H1 X-292 Y300 F360 ; move slowly to X and Y axis endstops once more (second pass)
    ;G1 H2 Z-3 F6000 ; go back a few mm when starting
    G1 H1 Z215 F1800 ; move Z up until the endstop is triggered (first pass)
    G1 H2 Z-3 F6000 ; go back a few mm
    G1 H1 Z280 F360 ; move slowly to Z axis endstop once more (second pass)
    G90 ; absolute positioning
    G92 Z216.9 ; set Z position to axis maximum (you may want to adjust this)
    G1 Z2210.3 F100 ; lift Z relative to current position

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning


  • Moderator

    What type of printer is this? Where are the endstops located? Are you intending to use the z probe to home z or the endstop? Right now it's configured to home to Z max, as in the farthest point from the nozzle, is that correct? It can be tempting to change the Z direction sometimes when the real issue is misconfigured endstop positon.



  • @Phaedrux said in stepper direction wont reverse.:

    e z or the endstop? Right now it's configured to home to Z max, as in the farthest point from the nozzle, is that corre

    Yes i home to max to get a rough start point then i just add some start code to my prints to use the z probe to get an accurate z0 when the print starts. Idk im used to delta printer and want everything to basically go away from the tool head when i home. Oh and probably the should have mentioned that the printer is working at this point, just was worried about not being able to change directions without manually re pinning the connector. just wanted to sort everything before i get it all back together.



  • This post is deleted!

  • Moderator

    @davidvh86 said in stepper direction wont reverse.:

    just was worried about not being able to change directions without manually re pinning the connector. just wanted to sort everything before i get it all back together.

    Yes that is a little bit weird. Things to check is that you are editing config.g and not config.g.bak or config.json. Also make sure you're editing the files in the /sys folder and not somewhere else. Also the board must be reset after saving the changes for them to take effect. Also ensure you've identified the right driver and M569 command.



  • I have the same problem with my extruder on my 1LC board. Updated both the board and the Pi (which somehow made my Pi4 not boot, as it has been for weeks, using the 5V-->SBC but does with USB power weirdly) with no change. My GCode included below.

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jun 28 2020 06:07:32 GMT+0000 (Coordinated Universal Time)
    
    ; General preferences
    G90                                                       ; send absolute coordinates...
    M83                                                       ; ...but relative extruder moves
    M550 P"Cube"                                              ; set printer name
    M669 K1                                                   ; select CoreXY mode
    
    ; ATX power
    M80
    
    ; Drives
    M569 P0.4 S1                                              ; physical drive 0.4 goes forwards
    M569 P0.3 S0                                              ; physical drive 0.3 goes forwards
    M569 P0.0 S0                                              ; physical drive 0.0 goes forwards
    M569 P0.1 S0                                              ; physical drive 0.1 goes forwards
    M569 P0.2 S0                                              ; physical drive 0.2 goes forwards
    M569 P0.5 S1                                              ; physical drive 0.5 goes forwards
    M569 P20.0 S1                                              ; physical drive 20.0 goes forwards
    
    M584 X0.4 Y0.3 Z0.0:0.1:0.2 E20.0 U0.5               			  ; set drive mapping
    
    M350 X32 Y32 Z32 E32 U16 I1                             ; configure microstepping with interpolation
    M92 X320.00 Y320.00 Z3200.00 E873 U30.5	          ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E900 U500.00         	  ; set maximum instantaneous speed changes (mm/min)
    M203 X20000.00 Y20000.00 Z900.00 E900 U3000.00 	  		  ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E500 U250.00         ; set accelerations (mm/s^2)
    M906 X1700 Y1700 Z1400 E900 U1100 I30                ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                                   ; Set idle timeout
    
    ;Setup 3 motor z
    M671 X-50:-50:350 Y246:54:150 S10
    
    ; Axis Limits
    M208 X0 Y0 Z0 U0 S1                                       ; set axis minima
    M208 X330 Y330 Z300 U200 S0                               ; set axis maxima
    
    ; Endstops
    M574 X2 S1 P"io1.in"                                      ; configure active-high endstop for low end on X via pin !io1.in
    M574 Y2 S1 P"io2.in"                                      ; configure active-high endstop for low end on Y via pin !io2.in
    M574 Z1 S2                                                ; configure Z-probe endstop for low end on Z
    M574 U1 S1 P"io4.in"									  ; configure U end stop
    
    ; Z-Probe
    M558 P8 C"!20.io1.in" H5 F120 T6000                           ; set Z probe type to switch and the dive height + speeds
    G31 P500 X0 Y0 Z2.5                                       ; set Z probe trigger value, offset and trigger height
    M557 X30:300 Y30:300 S90                                  ; define mesh grid
    
    ; Heaters - Bed
    M308 S0 P"temp0" Y"thermistor" T100000 B4100              ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out8" T0                                        ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B1 S1.00                                          ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                                   ; map heated bed to heater 0
    M143 H0 S150                                              ; set temperature limit for heater 0 to 150C
    
    M570 H0 P30												  ;give more time for heater to rise
    
    ; Fans - frame
    M950 F0 C"out7" Q500                                      ; create fan 0 on pin out7 and set its frequency
    M106 P0 S200 H-1                                          ; set fan 0 value. Thermostatic control is turned off
    
    ; Toolboard 1
    M308 S1 P"20.temp0" Y"thermistor" T100000 B4100           ; configure sensor 0 as thermistor on pin temp0 on board 20
    M950 H1 C"20.out0" T1									  ; Sets heater 1 and maps it to temp probe 1
    M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0  			      ; Default Tool Heater Parameters.
    M143 H1 S300                               			      ; Maximum H0 (Extruder) heater temperature
    
    
    M950 F3 C"20.out1" Q500                                   ; create fan 0 on pin out7 and set its frequency
    M106 P3 S0 H-1                                         	  ; set fan 0 value. Thermostatic control is turned off
    M950 F2 C"20.out2" Q500                                   ; create fan 0 on pin out7 and set its frequency
    M106 P2 S255 H-1                                         	  ; set fan 0 value. Thermostatic control is turned off
    
    M563 P0 D0 H1 S"1LC" F3									  ; Define tool 0
    G10 P0 X0 Y0 Z0											  ; Set tool 0 axis offsets
    G10 P0 R0 S0											  ; Set tool temperature defaults
    
    
    ; Custom settings are not defined
    
    ; Miscellaneous
    M575 P1 S1 B57600                                         ; enable support for PanelDue
    
    
    
    ; Endstop based buttons
    M950 J0 C"io5.in" 					;creates trigger input for io5
    M950 J1 C"io6.in" 					;creates trigger input for io6
    M950 J2 C"io7.in" 					;creates trigger input for io7
    
    M581 P0 T2 S1				;Triggers trigger2.g (turns off power)
    M581 P1 T0 S1				;Triggers emergency stop 
    M581 P2 T1 S1				;Triggers pause
    
    


  • @Phaedrux
    Yea I kinda just re-pinned and continued with the build. I was defiantly editing the config.g . Just worried the settings are gonna take one day like they did with my wifi setting ( went from dynamic to static) and destroy my printer lol.



  • @davidvh86 I just had to do the same. I thought I was being stupid for a good bit before I worked out it wasn't me.


Log in to reply