Dual Z setup help



  • ok i have read the dozuki on bed lvling with multiple independent z motors and its very vague on how to do it and im having a hard time even figuring out how to setup 3.0. Is there a walk through on how to set it up especially on 3.0 and newer?



  • there is no difference here from rrf2 to rrf3.

    start with connecting two z motors by changing the M584 command.
    if you have everything working for that move on to define the M671 command and the bed.g file.

    what command are you unclear about or need help?



  • Its not the commands its the setup. I understand i need to configure most of it by hand i was just hoping there was a clearer walk through of setting dual z up. So far i have gotten E0 seen as z2 and they workish together i think i need to add E0 to the z probe endstop list so it will stop z and E0. Really most of the gcode im not sure of. im mainly cobbling together what i can and trying and going forward if it works and back if it doesnt.



  • you either need 2 endstops for each z motor, or your replace the z endstop with a probe.

    the second is the better option because then the levelling is based on your actual bed.

    do you have a probe?



  • yeah i have a bltouch and sofar ive gotten the location its at compared to the hotend and the trigger distance setup.



  • post your current config.g



  • ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 09 2020 13:00:38 GMT-0700 (Pacific Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"My Printer" ; set printer name
    M669 K1 ; select CoreXY mode

    ; Network
    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 S1 ; physical drive 1 goes forwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S0 ; physical drive 3 goes backwards
    M569 P4 S1 ; physical drive 4 goes forwards
    M584 X0 Y1 Z2:3 E4 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z4000.00 E418.60 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X14000.00 Y14000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X700 Y700 Z700 E500 ; set motor currents (mA)
    M84 S0 ; Disable motor idle current reduction

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X330 Y330 Z400 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 S3 ; set endstops controlled by motor stall detection
    M574 Z1 E0 S2 ; set endstops controlled by probe
    M915 X330 Y330 S5 F0 R3 H400 ; Stall detection. Higher S value -> less sensitive

    ; Z-Probe
    M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
    M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-62 Y-14 Z0.18 ; set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20 ; define mesh grid

    ; Heaters
    M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C

    ; Fans
    M106 P1 C"Fan0" S1 I0 F500 H-1 ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 C"Fan0" S0 I0 F500 H1 T45 ; set fan 1 name, value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Tools
    M563 P0 D0 H1 F0:1 ; 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 are not defined

    ; 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



  • M584 X0 Y1 Z2:3 E4 ; set drive mapping

    this looks fine.

    M92 X80.00 Y80.00 Z4000.00 E418.60 ; set steps per mm

    are you sure you have 4000 z steps and not 400?

    M574 Z1 E0 S2 ; set endstops controlled by probe

    this should only be
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z
    e0 is not required here because you are configuring the probe and its independent of the motors

    M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0

    your bed is not configured correctly B4138 is not correct for an ender they use epocs 100k



  • I have a tronxy x5sa pro i wish i had an ender lol. Ill check to see if the bed setting is wrong but sofar its printed like that just fine so far. Well except for the lifting i get with large prints. The stock setting is exactly what i have for lead screws and motor. And when i tell it to move 10mm it moves 10 mm so id say it is the right setting. But ill check.



  • @User42 said in Dual Z setup help:

    tronxy x5sa

    according to marlins config
    https://github.com/MarlinFirmware/Configurations/blob/import-2.0.x/config/examples/Tronxy/X5SA/Configuration.h

    thats also a epcos 100k

    • 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
      

    #define TEMP_SENSOR_BED 1



  • ah ok never thought to look at marlin for the configs. ill set that up then and see how it works. and you where right about the 4000 i measured with my calipers and it was off. im sorry i doubted you on those.



  • Well so far im getting way to frustrated with 3. Im gonna stick with 2 for now.



  • what bit are you still struggling with?



  • I think its me but i cant seem to get 3 to work with my printer. It doesnt seem to like the e3d hotend or the bltouch or the bed. Ive being working on trying to get 3 to work for about 42 hours and cant seem to get off first base. so im gonna stick with what i know. The only thing is the dang z motors cant seem to stay in sync too well.



  • @User42 said in Dual Z setup help:

    The only thing is the dang z motors cant seem to stay in sync too well.

    are all 3 motors the same model?



  • @Veti all of the motors are the exact same model. They are all tronxy SL42STH40-1684A-23 motors. 1.8* motors with belts or .8 pitch lead screws or a 7.3 hobb on the extruder motor. I think that most of my troubles are either the download that im getting from the configurator for the firmware update is not completely downloaded or the file coming from the server is not complete which is causing my issues with 3 not working 100% heck i cant even update my firmware to the latest 2.05 im stuck on 2.03 for some odd reason.



  • @User42 said in Dual Z setup help:

    i cant even update my firmware to the latest 2.05 im stuck on 2.03 for some odd reason.

    what is the error you are getting?



  • Just after i got your question veti i tried the update again and got this error its this one every time too. M997 S0
    Error: M997: In-application programming binary "iap4e.bin" not found



  • @User42 said in Dual Z setup help:

    iap4e

    just upload this file to the duet. it contains all the required files. you dont even need to unpack it
    https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip



  • @Veti thank you that worked like a charm.



  • ok so far i have both z's working in tandem on z1 and e0. I can do a true level and a mesh level. What else could i do to ensure the bed is as level as possible via the dual z setup on the board? i swear i saw an walkthrough last night that talked about probing at the lead screws and syncing them up some how.



  • now you need to find the lead screw position in x and y coordinates

    in the example
    the first is a position x-20 y0
    the second is x220 y0
    M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis

    then you need to create the bed file and put in a position close to the leadscrews that you can probe on the bed
    in this example we choose X20 Y0 for the first and X180 Y0 for the second
    bed.g

    G28 ; home
    G30 P0 X20 Y0 Z-99999 ; probe near a leadscrew, half way along Y axis
    G30 P1 X180 Y0 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors



  • ok just so i get this right and not piss my self off. i measure with calipers from the lead screw to the probe? Or the nozzle? i havent had enough coffee or calm sanity from having to also teach my 2nd grader since schools are not "open" in our area yet.



  • from the nozzle.

    the nozzle is the point of reference



  • ok this is what i got and filled in the areas. On the left side lead screw i have a measurement of 154.3mm from lead screw to nozzle. And on the right side i have a measurement of 89mm from lead screw to nozzle. and since i have the nozzle lined up on both lead screws i took those measurements and added on the right and subtracted on the left. If i did this wrong let me know.

    M671 X-84.3:419 Y0192:192 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis

    bed.g
    G28 ; home
    G30 P0 X70 Y192 Z-99999 ; probe near a leadscrew, half way along Y axis
    G30 P1 X330 Y192 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors


Log in to reply