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

    help setting z axis 4 motors and endstop and one probe

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    4
    15
    617
    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.
    • OsherHachmundefined
      OsherHachm
      last edited by

      Yet in your home file you are moving X and Y toward the low end (min end of axis)
      Is that actually working for you?

      how do I fix this ?

      Are you Z axis end stop sensors really positioned at the high end (max end of axis)?

      yes the end stop for the Z axis is at the high positioned.
      I try to change the config file to and it stop the error but it stop all the motors when the !duex.e2stop is triggered ```

      M574 X2 S1 P"!zstop"                               ; configure active-high endstop for high end on X via pin !zstop
      M574 Y2 S1 P"!xstop"                               ; configure active-high endstop for high end on y via pin !xstop
      M574 Z2 S1 P"!duex.e2stop+!duex.e3stop"         ; configure active-high endstop for high end on z via pin !duex.e2stop+!duex.e4stop+!duex.e5stop
      1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt
        last edited by fcwilt

        Hi,

        You did not say if X and Y homing was working as you have it now.

        I will assume it isn't until you say otherwise.

        In your homing file change X-1005 to X1005 and Y-1005 to Y1005 in the two G1 commands.


        As to the position of your Z end stops you said "is at the high positioned" - I don't know what that means.

        So let me ask another way. If you move the bed on the Z axis toward the extruder assembly are you moving towards Z min and the Z end stops?


        And why did you remove those two Z end stop entries from the M574?

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • OsherHachmundefined
          OsherHachm
          last edited by

          @fcwilt said in help setting z axis 4 motors and endstop and one probe:

          Z min and the Z end stops?

          yes 🙂

          And why did you remove those two Z end stop entries from the M574?

          because it write my the erorr "G28 field to enable endstop."

          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @OsherHachm
            last edited by fcwilt

            @OsherHachm said in help setting z axis 4 motors and endstop and one probe:

            @fcwilt said in help setting z axis 4 motors and endstop and one probe:

            Z min and the Z end stops?

            yes 🙂

            Then in your config file you need to...

            • change M574 Z2 to M547 Z1

            Then in your homing file you need to...

            • change the G1 H1 Z990 F360 to G1 H1 Z-990 F360

            • remove or comment out the G92 Z990

            And why did you remove those two Z end stop entries from the M574?

            because it write my the erorr "G28 field to enable endstop."

            Well if you have four physical Z end stop sensors you are going to need four end stop inputs referenced in the M574 for Z.

            I don't know why you are getting the error but restore all four pin name references for now.


            Onec you make the change reboot and try to home the printer.

            Frederick

            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

            1 Reply Last reply Reply Quote 0
            • Vetiundefined
              Veti
              last edited by

              run M92 P"config.g" to check for errors in your config

              OsherHachmundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                Please also share the results of M122.

                How many Z endstops do you physically have? Are you intending to use multiple endstops to level the 4 motors?

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • OsherHachmundefined
                  OsherHachm
                  last edited by

                  Ok after reading a lot of articles I still did not succeeded to operate the end stop triggers each motor individual but I think that's not necessary because I'm leveling the nuzzle from the low end ( z min is close to the bed) so I decided for every axis will be one end stop.

                  The new problem I'm having is when I homing the X axis it's run slowly and the Z axis as well at the same time(hapooening only for the X axis).

                  Configuration file

                  
                  ```    ; Configuration file for Duet WiFi (firmware version 3)
                  ; executed by the firmware on start-up
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 17 2021 14:40:54 GMT+0200 (Israel Standard Time)
                  
                  ; General preferences
                  G90                                                ; send absolute coordinates...
                  M83                                                ; ...but relative extruder moves
                  M550 P"My Printer"                                 ; set printer name
                  
                  ; Network
                  M551 P"Osh753951"                                  ; set password
                  M552 S1                                            ; enable network
                  M586 P0 S1                                         ; enable HTTP
                  M586 P1 S1                                         ; enable FTP
                  M586 P2 S1                                         ; enable Telnet
                  
                  ; Drives
                  M569 P0 S1                                         ; physical drive 0 goes forwards Y
                  M569 P1 S0                                         ; physical drive 1 goes forwards XL
                  M569 P2 S1                                         ; physical drive 2 goes forwards XR
                  M569 P3 S1                                         ; physical drive 3 goes forwards E0
                  M569 P4 S1                                         ; physical drive 4 goes forwards
                  M569 P5 S0                                         ; physical drive 5 goes forwards ZRR
                  M569 P6 S0                                         ; physical drive 6 goes forwards ZRL
                  M569 P7 S0                                         ; physical drive 7 goes forwards ZFR
                  M569 P8 S0                                         ; physical drive 8 goes forwards ZFL
                  M569 P9 S1                                         ; physical drive 9 goes forwards 
                  
                  M584 X1:2 Y0 Z5:6:7:8 E3                           ; set drive mapping X=1,2, Y=0, Z=5,6,7,8, E0=3
                  M669 K0                                            ;select Cartesian printer mode
                                                                                              
                  M350 X16:16 Y16 Z16:16:16:16 E16 I1                                   ; configure microstepping with interpolation
                  M92 X80.00:80.00 Y80.00 Z1600.00:1600.00:1600.00:1600.00 E420.00         ; set steps per mm
                  M566 X900.00:900.00 Y900.00 Z60.00:60.00:60.00:60.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
                  M203 X6000.00:6000.00 Y6000.00 Z180.00:180.00:180.00:180.00 E1200.00   ; set maximum speeds (mm/min)
                  M201 X500.00:500.00 Y500.00 Z20.00:20.00:20.00:20.00 E250.00              ; set accelerations (mm/s^2)
                  M906 X800:800 Y800 Z900:900:900:900 E800                               ; set motor currents (mA)
                  M84 S0                                                             ; Disable motor idle current reduction
                  
                  ; Axis Limits
                  M208 X0 Y0 Z0 S1                                                        ; set axis minima
                  M208 X1000 Y1000 Z970 S0                                                ; set axis maxima
                  
                  ; Endstops
                  M574 X1 S1 P"!zstop"                                                    ; configure active-low endstop for low end on X via pin !zstop
                  M574 Y1 S1 P"!xstop"                                                    ; configure active-low endstop for low end on Y via pin !xstop
                  M574 Z2 S1 P"!duex.e2stop+!duex.e3stop+!duex.e4stop+!duex.e5stop"       ; configure active-low endstop for high end on Z via pin 
                  
                  ; Z-Probe
                  M558 P1 C"zprobe.in" H5 F120 T6000                 ; set Z probe type to unmodulated and the dive height + speeds
                  G31 P500 X0 Y0 Z5                                  ; set Z probe trigger value, offset and trigger height
                  M557 X5:995 Y5:995 S20                             ; define mesh grid
                  
                  M667 X1000:1000:0:0 Y0:1000:0:1000 S2              ;coordinates of the leadscrews 5=(1000,0) 6=(1000,1000) 7=(0,0) 8=(0,1000) 
                  
                  ; Heaters
                  M308 S0 P"spi.cs1" Y"rtd-max31865"                 ; configure sensor 0 as thermocouple via CS pin spi.cs1
                  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 S120                                       ; set temperature limit for heater 0 to 120C
                  M308 S1 P"spi.cs2" Y"rtd-max31865"                 ; configure sensor 1 as thermocouple via CS pin spi.cs2
                  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
                  M143 H1 S280                                       ; set temperature limit for heater 1 to 280C
                  M308 S2 P"e1temp" Y"thermistor" T100000 B4138      ; configure sensor 2 as thermistor on pin e1temp
                  M950 H2 C"e1heat" T2                               ; create nozzle heater output on e1heat and map it to sensor 2
                  M307 H2 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
                  M143 H2 S280                                       ; set temperature limit for heater 2 to 280C
                  
                  ; Fans
                  M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
                  M106 P0 S1 H1:2 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 S1 H1:2 T45                                ; set fan 1 value. Thermostatic control is turned on
                  
                  ; Tools
                  M563 P0 S"e1..h1" D1 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
                  M563 P1 S"e0..h2" D0 H2 F0                         ; define tool 1
                  G10 P1 X0 Y0 Z0                                    ; set tool 1 axis offsets
                  G10 P1 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
                  
                  ; Custom settings are not defined
                  
                  ; Miscellaneous
                  M575 P1 S1 B57600                                  ; enable support for PanelDue
                  M501                                               ; load saved parameters from non-volatile memory
                  M911 S15 R20 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                  
                  
                  
                  

                  ; bed.g

                  ; called to perform automatic bed compensation via G32
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 24 2021 06:53:58 GMT+0200 (Israel Standard Time)
                  M561 ; clear any bed transform
                  G29  ; probe the bed and enable compensation
                  
                  
                  G28                              ; home
                  M401                             ; deploy Z probe (don't know if it's good for the IR probe)
                  G30 P0 X1000 Y0 Z-99999          ; probe near a leadscrew
                  G30 P1 X1000 Y1000 Z-99999       ; probe near a leadscrew
                  G30 P2 X0 Y0 Z-99999             ; probe near a leadscrew
                  G30 P3 X0 Y1000 Z-99999 S4       ; probe near a leadscrew and calibrate 4 motors
                  M402          ; don't know if it's good for the IR probe
                  
                  

                  code_text

                  ; homeall.g
                  ; called to home all axes
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 17 2021 14:40:54 GMT+0200 (Israel Standard Time)
                  G91                       ; relative positioning
                  G1 H2 Z5 F6000            ; lift Z relative to current position
                  G1 H1 X-1005 Y-1005 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                  G1 H2 X5 Y5 F6000         ; go back a few mm
                  G1 H1 X-1005 Y-1005 F360  ; move slowly to X and Y axis endstops once more (second pass)
                  G1 H1 Z990 F360           ; move Z up stopping at the endstop
                  G90                       ; absolute positioning
                  G92 Z990                  ; set Z position to axis maximum (you may want to adjust this)
                  
                  ; Uncomment the following lines to lift Z after probing
                  ;G91                      ; relative positioning
                  ;G1 Z5 F100               ; lift Z relative to current position
                  ;G90                      ; absolute positioning
                  
                  

                  code_text

                  ; homex.g
                  ; called to home the X axis
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 17 2021 14:40:55 GMT+0200 (Israel Standard Time)
                  G91                ; relative positioning
                  G1 H2 Z5 F6000     ; lift Z relative to current position
                  G1 H1 X-1005 F1800 ; move quickly to X axis endstop and stop there (first pass)
                  G1 H2 X5 F6000     ; go back a few mm
                  G1 H1 X-1005 F360  ; move slowly to X axis endstop once more (second pass)
                  G1 H2 Z-5 F6000    ; lower Z again
                  G90                ; absolute positioning
                  
                  

                  code_text

                  ; called to home the Z axis
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 17 2021 14:40:55 GMT+0200 (Israel Standard Time)
                  G91              ; relative positioning
                  G1 H2 Z5 F6000   ; lift Z relative to current position
                  G1 H1 Z990 F1800 ; move Z up until the endstop is triggered
                  G92 Z990         ; set Z position to axis maximum (you may want to adjust this)
                  
                  ; Uncomment the following lines to lift Z after probing
                  ;G91             ; relative positioning
                  ;G1 Z5 F100      ; lift Z relative to current position
                  ;G90             ; absolute positioning
                  1 Reply Last reply Reply Quote 0
                  • OsherHachmundefined
                    OsherHachm
                    last edited by

                    I forgat to mention the error
                    "G28 Z
                    Error: Failed to enable endstops"

                    @Phaedrux said in help setting z axis 4 motors and endstop and one probe:

                    Please also share the results of M122.
                    M122
                    === Diagnostics ===
                    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.02 or later + DueX5
                    Board ID: 0JD0M-9P61A-J8PS8-6J1F4-3S86Q-KUV2T
                    Used output buffers: 3 of 24 (19 max)
                    === RTOS ===
                    Static ram: 23460
                    Dynamic ram: 73992 of which 88 recycled
                    Never used RAM 14540, free system stack 118 words
                    Tasks: NETWORK(ready,185) HEAT(blocked,317) DUEX(blocked,35) MAIN(running,463) IDLE(ready,19)
                    Owned mutexes: WiFi(NETWORK)
                    === Platform ===
                    Last reset 00:12:49 ago, cause: software
                    Last software reset at 2021-01-24 18:44, reason: User, GCodes spinning, available RAM 14604, slot 2
                    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                    Error status: 0x00
                    Aux0 errors 0,0,0
                    MCU temperature: min 18.8, current 19.7, max 20.0
                    Supply voltage: min 22.8, current 23.9, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
                    Driver 0: position 200, standstill, SG min/max 9/82
                    Driver 1: position 0, standstill, SG min/max 13/80
                    Driver 2: position -4004, standstill, SG min/max 0/66
                    Driver 3: position 0, standstill, SG min/max not available
                    Driver 4: position 0, standstill, SG min/max not available
                    Driver 5: position 0, standstill, SG min/max 69/213
                    Driver 6: position 0, standstill, SG min/max 56/195
                    Driver 7: position 0, standstill, SG min/max 39/200
                    Driver 8: position 0, standstill, SG min/max 29/192
                    Driver 9: position 0, standstill, SG min/max not available
                    Driver 10: position 0
                    Driver 11: position 0
                    Date/time: 2021-01-24 18:57:17
                    Cache data hit count 954438988
                    Slowest loop: 9.48ms; fastest: 0.18ms
                    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                    === Storage ===
                    Free file entries: 10
                    SD card 0 detected, interface speed: 20.0MBytes/sec
                    SD card longest read time 1.4ms, write time 0.0ms, max retries 0
                    === Move ===
                    DMs created 83, maxWait 617139ms, bed compensation in use: none, comp offset 0.000
                    === MainDDARing ===
                    Scheduled moves 16, completed moves 16, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                    === AuxDDARing ===
                    Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                    === Heat ===
                    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
                    === GCodes ===
                    Segments left: 0
                    Movement lock held by null
                    HTTP is idle in state(s) 0
                    Telnet is idle in state(s) 0
                    File is idle in state(s) 0
                    USB is idle in state(s) 0
                    Aux is idle in state(s) 0
                    Trigger is idle in state(s) 0
                    Queue is idle in state(s) 0
                    LCD is idle in state(s) 0
                    Daemon is idle in state(s) 0
                    Autopause is idle in state(s) 0
                    Code queue is empty.
                    === Network ===
                    Slowest loop: 80.72ms; fastest: 0.00ms
                    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                    HTTP sessions: 1 of 8

                    • WiFi -
                      Network state is active
                      WiFi module is connected to access point
                      Failed messages: pending 0, notready 0, noresp 0
                      WiFi firmware version 1.23
                      WiFi MAC address 48:3f:da:72:9b:29
                      WiFi Vcc 3.44, reset reason Power up
                      WiFi flash size 4194304, free heap 21656
                      WiFi IP address 10.0.0.5
                      WiFi signal strength -78dBm, mode none, reconnections 0, sleep mode modem
                      Clock register ffffffff
                      Socket states: 4 2 0 0 0 0 0 0
                      === DueX ===
                      Read count 1, 0.08 reads/min

                    How many Z endstops do you physically have? Are you intending to use multiple endstops to level the 4 motors?
                    leveling the nuzzle to the bed I using the IR sensor, this is the one I bought OrmerodSensor V1.2 IR Height Sensor

                    1 Reply Last reply Reply Quote 0
                    • OsherHachmundefined
                      OsherHachm @Veti
                      last edited by

                      @Veti
                      M92 P"config.g"
                      Steps/mm: X: 80.000, Y: 80.000, Z: 1600.000, E: 420.000

                      1 Reply Last reply Reply Quote 0
                      • OsherHachmundefined
                        OsherHachm
                        last edited by

                        maybe I need to put the leveling in the macros folder ?

                        1 Reply Last reply Reply Quote 0
                        • Vetiundefined
                          Veti
                          last edited by Veti

                          according to the configurator the endstops are called like
                          exp.e3stop

                          your steps configuration is incorrect.

                          only on E are : notations allowed. remove them for the commands.

                          1 Reply Last reply Reply Quote 0
                          • fcwiltundefined
                            fcwilt
                            last edited by

                            With v3 firmware homing with multiple Z steppers each with their own end stop sensor couldn't be much easier.

                            This are just a few settings you have to get right and it's easy to test step by step to get it working.

                            The nice thing about that setup is, with a bit of care, you can quickly get the bed very close to level before utilizing the slower process of Automatic Bed Leveling (ABL) to fine tune the result.

                            Hope you change you mind.

                            Frederick

                            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                            1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              M350 X16:16 Y16 Z16:16:16:16 E16 I1                                   ; configure microstepping with interpolation
                              M92 X80.00:80.00 Y80.00 Z1600.00:1600.00:1600.00:1600.00 E420.00         ; set steps per mm
                              M566 X900.00:900.00 Y900.00 Z60.00:60.00:60.00:60.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
                              M203 X6000.00:6000.00 Y6000.00 Z180.00:180.00:180.00:180.00 E1200.00   ; set maximum speeds (mm/min)
                              M201 X500.00:500.00 Y500.00 Z20.00:20.00:20.00:20.00 E250.00              ; set accelerations (mm/s^2)
                              M906 X800:800 Y800 Z900:900:900:900 E800                               ; set motor currents (mA)
                              

                              should be

                              M350 X16 Y16 Z16 E16 I1                                   ; configure microstepping with interpolation
                              M92 X80.00 Y80.00 Z1600.00 E420.00         ; set steps per mm
                              M566 X900.00 Y900.00 Z60.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
                              M203 X6000.00 Y6000.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 X800 Y800 Z900 E800                               ; set motor currents (mA)
                              

                              Only the extruders need to be independently defined for each motor because each extruder is an independent axis. Multiple motors on an axis only get the values per axis.

                              @OsherHachm said in help setting z axis 4 motors and endstop and one probe:

                              The new problem I'm having is when I homing the X axis it's run slowly and the Z axis as well at the same time(hapooening only for the X axis).

                              I'm not really sure what you mean by this.

                              @OsherHachm said in help setting z axis 4 motors and endstop and one probe:

                              I'm leveling the nuzzle from the low end ( z min is close to the bed) so I decided for every axis will be one end stop.

                              I'm not sure what you mean by this either. Your endstops are configured at the high end of the Z axis. Are they actually located at the low end?

                              If you're using the probe to level, does your bed.g work correctly?

                              Also, if it's an IR probe, you don't need M401 and M402 in your bed.g

                              Z-Bot CoreXY Build | Thingiverse Profile

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