Troubleshooting dual z axis sync



  • My setup is supposed to have z1 in the z axis, z2 in E1. I can't get it to move correctly. All other issues have been resolved (beyond my issue of printing 5-10 mm above the bed). I still have not figured out the runnout sensor, but that is for another time.

    code_text
    
    Config:
    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"CoreXY"                                 ; set printer name
    M669 K1                                            ; select CoreXY mode
    
    ; Network
    M551 P                                     ; set password
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S1                                         ; enable FTP
    M586 P2 S1                                         ; enable Telnet
    
    ; Drives
    M569 P0 S0 ; X motor runs forwards
    M569 P0 S1 ; Y motor runs forwards                                       ; physical drive 1 goes forwards
    M569 P2 S0                                         ; physical drive 2 goes forwards
    M569 P3 S0  
    M569 P4 S0                                     ; physical drive 3 goes forwards
    M584 X0 Y1 Z2:4 E3 
    M671 X300:-20 Y0:0 S0.5				; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    M208 X5:-305 Y0:300                                   ; set drive mapping
    M350 X256 Y256 Z256 I0                             ; configure microstepping without interpolation
    M350 E16 I1                                        ; configure microstepping with interpolation
    M92 X1280.00 Y1280.00 Z6400.00 E420.00             ; set steps per mm
    M566 X27000.00 Y27000.00 Z7200.00 E27000.00        ; set maximum instantaneous speed changes (mm/min)
    M203 X30000.00 Y30000.00 Z7200.00 E27000.00        ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00                ; set accelerations (mm/s^2)
    M906 X1500 Y1500 Z1200 E900 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 X330 Y330 Z400 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"!xstop"                              ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop"                              ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2                                        ; set endstop controlled by probe
    ;M574 Z1 S1 P"!zstop+!e0stop"                     ; Z axis with two motors, individual min endstops, active low                                        ; configure Z-probe endstop for high end on Z
    
    ; Z-Probe
    M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
    M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H3 F120 T4800 ; set Z probe type to bltouch and the dive height + speeds
    M558 H30 ;*** Remove this line after delta calibration has been done and new delta
    parameters have been saved
    G31 P500 X-40 Y-10 Z1                            ; set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20                           ; define mesh grid
    
    ; Heaters
    M308 S0 P"e1temp" Y"thermistor" T100000 B4138      ; configure sensor 0 as thermistor on pin e1temp
    M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S90                                        ; set temperature limit for heater 0 to 90C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138      ; configure sensor 1 as thermistor on pin e0temp
    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
    
    ; Fans
    M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
    M106 P0 C"Electronics" S0.75 H1 T45                ; set fan 0 name and value. Thermostatic control is turned on
    M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
    M106 P1 C"Part Fan" S1 H0:1 T45                    ; set fan 1 name and value. Thermostatic control is turned on
    M950 F2 C"fan2" Q500                               ; create fan 2 on pin fan2 and set its frequency
    M106 P2 C"Hot End" S1 H1 T45                       ; set fan 2 name and value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 S"Hotend" 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
    
    ; Custom settings
    M591 P1 C"e0stop" S1
    
    ; Miscellaneous
    M501                                               ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    
    
    
    Bed:
    0:/sys/bed.g
    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time)
    G28 ; home
    M401 ; deploy Z probe (omit if using bltouch)
    G30 P0 X20 Y175 Z-99999 ; probe near a leadscrew, half way along Y axis
    G30 P1 X300 Y175 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
    M402 ; retract probe (omit if using bltouch)
    M561 ; clear any bed transform
    G29  ; probe the bed and enable compensation
    

    Any help would be greatly appreciated. I work on people, not code, so I may have made some missteps.



  • Well, i don't think it will help your z axis issue but 2 things I see wrong are that you have 3 M208 entries and you will have serious problems having your microstepping at 256 given the max speeds you have. at 256 microstepping you will be limited to rather slow speeds and should set your X, Y and Z up for 16x microstepping with interpolation. You will have hiccups which will cause you grief at 256 microstepping.



  • Hi,

    You've got a couple of issues - one major and one minor.

    config error.png

    Examine your M569 commands. The first two (for X and Y) both have P0.

    You have a M208 X5:-350 Y0:300 which likely should be removed as you have two other instances down below which actually make sense, this one doesn't.

    Also just FYI you might want to post code using the </> tag as this puts the code in a scrolling section all it's own.

    See below.

    M118 S"FIRST COMMAND"
    G90
    M83
    M106 S0
    ;M140 S60
    ;M104 S190 T0
    M98 P"print_begin_test.g"
    G1 Z10 F600
    G1 X0    Y0     F3000
    G1 X150  Y-150
    G1 X150  Y150
    G1 X-150 Y150
    G1 X-150 Y-150
    G1 X0    Y0
    M98 P"print_end_test.g"
    M0
    
    

    Frederick



  • @chuymatt how exactly does it move? What is it doing/not doing?

    When you connected the single motor to the Z-driver, did you put the jumpers on the other Z-header? There is a note about this on the duet wiring diagrams.

    Also have you checked that both motors work okay/are wired up correctly? Try plugging them in to different drivers and checking they spin etc.

    Do you get any errors come up when you try to move Z?



  • @JamesM
    Would hat have made the y and x motors run hotter?

    I have changed to 16 with interp.

    Thanks!

    This is my first reprap firmware printer and only my second printer overall.



  • @fcwilt I was banging my head against the wall for a while trying to get the corexy movement correct and this was what seemed to make commands have the intended effect. I'll admit I was flailing with that section.



  • @JamesM Oh. wow. So much faster. Also, homing is kinda scary now...



  • @engikeneer
    Well... I moved on to the next aspect of my build after getting movement and the bltouch to work I neglected to put the jumpers back on. It is moving correctly now. Before, z1 was not moving anything. now they are both going at it.

    Rookie mistakes.



  • Now z homing does not work correctly. X slams into the non-triggered side and then pingpongs back and forth on the y axis while the z is raising up. Super weird.



  • @chuymatt said in Troubleshooting dual z axis sync:

    Now z homing does not work correctly. X slams into the non-triggered side and then pingpongs back and forth on the y axis while the z is raising up. Super weird.

    Well you've got two Z motors and a BLTouch - correct?

    At one point in your config file you had two endstops for Z but now it is one.

    Are you using end stops (either 1 or 2) for homing Z or are you using the BLTouch.

    In your bed.g M401 and M402 appear with the comment to remove if using BLTouch?

    Since you appear to be using a BLTouch you should remove them.

    Please post your home*.g files.

    Frederick



  • @fcwilt I am using the BL touch only.

    Thank you for taking the time to help.

    It no longer pingpongs.

    All

    
    0:/sys/homeall.g
    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time)
    G91                   ; relative positioning
    G1 H2 Z5 F18000        ; lift Z relative to current position
    G1 H1 X-335 Y-335 F6000 ; move quickly to X or Y endstop and stop there (first pass)
    G1 H1 X-335            ; home X axis
    G1 H1 Y-335            ; home Y axis
    G1 X5 Y5 F2800      ; go back a few mm
    G1 H1 X-335 F360       ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-335            ; then move slowly to Y axis endstop
    G90                   ; absolute positioning
    G1 X55 Y25 F27000      ; go to first bed probe point and home Z
    G30                   ; home Z by probing the bed
    
    ; Uncomment the following lines to lift Z after probing
    ;G91                  ; relative positioning
    ;G1 Z5 F100           ; lift Z relative to current position
    ;G90                  ; absolute positioning
    
    
    
    CoreXY
    Send code...
    Status
    Idle
    Mode: FFF
    Tool Position
    X
    0.0
    Y
    0.0
    Z
    0.00
    Extruder Drives
    Drive 0
    0.0
    Speeds
    Requested Speed
    0 mm/s
    Top Speed
    0 mm/s
    Sensors
    Vin
    23.9 V
    MCU Temperature
    38.0 C
    Z-Probe
    0
     Tools
     Extra
     Control All
    Tool	Heater	Current	Active	Standby
    Hotend
    T0 - Load Filament	Heater 1
    active	207.9 C	
    205
    0
    Bed	Heater 0
    active	45.2 C	
    60
    0
    Temperature Chart
    System Directory
    
    
    
    0:/sys/homex.g
    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time)
    G91              ; relative positioning
    G1 H2 Z5 F6000   ; lift Z relative to current position
    G1 H1 X-335 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000     ; go back a few mm
    G1 H1 X-335 F360  ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-5 F6000  ; lower Z again
    G90              ; absolute positioning
    
    
    
    0:/sys/homey.g
    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time)
    G91              ; relative positioning
    G1 H2 Z5 F6000   ; lift Z relative to current position
    G1 H1 Y-335 F6000 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000     ; go back a few mm
    G1 H1 Y-335 F360  ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000  ; lower Z again
    G90              ; absolute positioning
    
    
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time)
    G91              ; relative positioning
    G1 H2 Z5 F1000   ; lift Z relative to current position
    G90              ; absolute positioning
    G1 X100 Y-155 F1000 ; go to first probe point
    G30              ; home Z by probing the bed
    
    ; Uncomment the following lines to lift Z after probing
    ;G91             ; relative positioning
    ;G1 Z5 F100      ; lift Z relative to current position
    ;G90             ; absolute positioning
    


  • Hi,

    Glad to hear it is work.

    I assume you cleaned up the config.g file?

    Frederick



  • @chuymatt You need to adjust the steps/mm appropriately after changing the microstepping. That is probably why it's moving so fast. So X and Y should be set at 80 and Z at 400



  • @JamesM said in Troubleshooting dual z axis sync:

    @chuymatt You need to adjust the steps/mm appropriately after changing the microstepping. That is probably why it's moving so fast. So X and Y should be set at 80 and Z at 400

    If M92 appears before M350 and M92 contains the correct values for 16x micro-stepping then any needed adjustments will be made for the values used in M350 if for some reason they are other than 16x micro-stepping.


Log in to reply