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

2 independent Z motors and limit switches on Zmax

Scheduled Pinned Locked Moved
General Discussion
3
9
432
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.
  • undefined
    gdefranc
    last edited by 29 Jan 2021, 12:18

    hello everybody,
    I'm upgrading to fix the two Z axis threaded guides using for the Right motor Z1 and for the Left motor E1 and I'll use the M584 command like this:
    M584 X0 Y1 Z2:4 U4 E3 P3 ; Driver 0 For X, 1 for Y, Z=2:4 U=4, Extruder 3
    I wanted to insert two proximity sensors, on Z-max to align the motors, that I have in the company, these are Wenglor.
    https://www.wenglor.com/product-world/products/produktdetail/?no_cache=1&tx_wsshoploader_pi1[artikel]=IB040BM46VB8&cHash=0e56c9d600bb158fba5c601b478f659d

    Does anyone know if I can use them?

    Who can help me in the configuration?

    1 Reply Last reply Reply Quote 0
    • undefined
      gdefranc
      last edited by 29 Jan 2021, 12:39

      I tested the sensor.
      powered at 24 V.
      at open circuit it signals me 0.48V at closed circuit 0.78V.

      1 Reply Last reply Reply Quote 0
      • undefined
        Phaedrux Moderator
        last edited by 29 Jan 2021, 17:21

        First off You don't need a U axis when using RRF3. And you should be using 3.2. The Z axis would be configured to use both drivers and the endstops would both be added to the Z axis endstop. No need for a U axis anymore.

        https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_In_RepRapFirmware_Num_3

        I think that inductive sensor should work.

        https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_NPN_output_normally_open_inductive_or_capacitive_sensor

        Instead of connecting to the zprobe connector you could use one of the endstop pins.

        Z-Bot CoreXY Build | Thingiverse Profile

        undefined 1 Reply Last reply 29 Jan 2021, 19:39 Reply Quote 0
        • undefined
          gdefranc @Phaedrux
          last edited by gdefranc 29 Jan 2021, 19:39

          @Phaedrux
          Ho installato la 3.2
          Ok I also have a bltouch to level the bed.
          My concern is the two screws on the motors.
          I don't know if I need to work on them mechanically first since they are very wobbly.

          Obviously it is a Tronxy x5sa!

          I think that solving the mechanical problems first, strengthening the two rods so that they do not dance anymore, is the best solution.

          What do you think?

          These are my configuration files:

          Config.g

          ; Configuration file for Duet WiFi (firmware version 3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v3.2.0 on Wed Dec 30 2020 11:26:33 GMT+0100 (Central European Standard Time)
          ; General preferences
          G90                                            ; send absolute coordinates...
          M83                                            ; ...but relative extruder moves
          M550 P"DFFM 3D"                             ; set printer name
          M667 S1                                            ; Select CoreXY mode
          ; Network
          M552 S1                                        ; enable network
          M586 P0 S1                                     ; enable HTTP
          M586 P1 S0                                     ; disable FTP
          M586 P2 S1                                 ; ENABLE Telnet
          
          ; Drives
          M569 P0 S0 ; physical drive 0 goes backwards
          M569 P1 S0 ; physical drive 1 goes backwards
          M569 P2 S1 ; physical drive 2 goes forwards Z1
          M569 P3 S0 ; physical drive 3 goes backwards
          M569 P4 S1 ; physical drive 3 goes forwards Z2
          
          ; DUAL Z
          M584 X0 Y1 Z2:4 E3 P3 ; set drive mapping ;M584 X0 Y1 Z2 E3
          M671 X-90:490 Y200:200 S4 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
          
          ;M584 X0 Y1 Z2 E3                               ; set drive mapping
          M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z560.00 E412.4137           ; set steps per mm
          ;M566 X1000.00 Y1000.00 Z800.00 E120.00         ; set maximum instantaneous speed changes (mm/min)
          ;M203 X18000.00 Y18000.00 Z900.00 E1200.00      ; set maximum speeds (mm/min) 1701ore 9:28
          ;M201 X3000.00 Y3000.00 Z1000.00 E250.00        ; set accelerations (mm/s^2)
          ;M906 X1300.00 Y1300.00 Z1300.00 E1300.00 I35                    ; set motor currents (mA) and motor idle factor in per cent
          ;M84 S30                                        ; Set idle timeout
          ; 1701ore 9:28
          M566 X600 Y600 Z12 E120                                                           ; Set maximum instantaneous speed changes (mm/min)
          M203 X18000 Y18000 Z180 E1500                                                     ; Set maximum speeds (mm/min)
          M201 X3000 Y3000 Z100 E10000                                                      ; Set accelerations (mm/s^2)
          M906 X1000 Y1000 Z1000 E1100 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 X325 Y325 Z400 S0                             ; Set axis maxima
          ;M671 X10:290:290:10 Y290:290:10:10 P0.3; point1 (10,290), point2 (290,290), point3 (290,10), point4 (10,10)
          ; 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 ; configure Z-probe endstop for low end on Z
          ; BLTouch - Heaters
          M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board.
          ; Z-Probe
          M950 S0 C"exp.heater7"                         ; create servo pin 0 for BLTouch
          M558 P9 C"^zprobe.in" H5 F100 T6000 A10 R0.5 S0.003 B0          ; set Z probe type to bltouch and the dive height + speeds
          ;M558 P9 C"^zprobe.in" H5 F120 T6000            ; 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 P25 X-45 Y-4 Z2.977
          ;G31 P25 X-45 Y-4 Z3.200 ; set Z probe trigger value, offset and trigger height piano magnetico Tronxy
          ;G31 P25 X-45 Y-4 Z2.804
          ;G31 P25 X-45 Y-4 Z3.086 ; Piano vetro
          M557 X10:300 Y20:300 S20
          ;M557 X70:330 Y40:330 S14                       ; define mesh grid
          ; Heaters
          M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; 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
          M303 H0 S70
          ;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"e0temp" Y"thermistor" T100000 B4092  ; 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
          
          M143 H1 S280                                   ; set temperature limit for heater 1 to 280C
          ; Fans
          M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
          M106 P0 S0 H-1 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 H-1 T45                              ; set fan 1 value. Thermostatic control is turned on
          ; Tools
          M563 P0 D0 H1 F0                               ; define tool 0
          G10 P0 X0 Y0 Z0                                ; set tool 0 axis offsets
          G10 P0 R0 S0    
          ; Automatic power saving
          M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
          ; Custom settings are not defined
          T0
          M116
          
          M501
          

          homex.g

          ; homex.g
          ; called to home the X axis
          ;
          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 H2 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
          

          homey.g

          ; homey.g
          ; called to home the Y axis
          ;
          
          G91               ; relative positioning
          G1 H2 Z20 F6000    ; lift Z relative to current position
          G1 H1 Y-335 F1800 ; move quickly to Y axis endstop and stop there (first pass)
          G1 H2 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

          ; homez.g
          ; called to home the Z axis
          ;
          ; Homez.g
          G91                ; Posizione relativa
          G1 Z10 F6000 H2    ; Alzo di 10 mm
          G90                ; Posizione assoluta 
          G1 X165 Y165 F6000 ; Posiziono la sonda al centro del piatto 
          G30                ; Sondo il piatto con il BLTouch ; Sondo il piatto con il BLTouch
          

          homeall.g

          ; homeall.g
          ; called to home all axes
          ;
          ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Apr 02 2020 20:16:54 GMT+0200 (Ora legale dell’Europa centrale)
          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 H2 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
          
          
          G1 H2 Z5 F6000    ; lift Z relative to current position
          G1 H1 Y-335 F1800 ; move quickly to Y axis endstop and stop there (first pass)
          G1 H2 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
          
          
          G1 Z10 F6000 H2    ; Alzo di 10 mm
          
          G1 X165 Y165 F6000 ; Posiziono la sonda al centro del piatto 
          G30                ; Sondo il piatto con il BLTouch
          

          config-override.g

          ; config-override.g file generated in response to M500 at 2021-01-12 21:44
          ; This is a system-generated file - do not edit
          ; Heater model parameters
          M307 H0 R0.264 C620.819:620.819 D4.77 S1.00 V24.1 B0
          M307 H1 R3.329 C183.057:183.057 D10.15 S1.00 V24.3 B0
          ; Workplace coordinates
          G10 L2 P1 X0.00 Y0.00 Z0.00
          G10 L2 P2 X0.00 Y0.00 Z0.00
          G10 L2 P3 X0.00 Y0.00 Z0.00
          G10 L2 P4 X0.00 Y0.00 Z0.00
          G10 L2 P5 X0.00 Y0.00 Z0.00
          G10 L2 P6 X0.00 Y0.00 Z0.00
          G10 L2 P7 X0.00 Y0.00 Z0.00
          G10 L2 P8 X0.00 Y0.00 Z0.00
          G10 L2 P9 X0.00 Y0.00 Z0.00
          M486 S-1
          
          M122
          === Diagnostics ===
          RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.02 or later
          Board ID: 08DGM-917NK-F23T0-6J1FG-3SN6T-1H8WH
          Used output buffers: 3 of 24 (11 max)
          === RTOS ===
          Static ram: 23460
          Dynamic ram: 73628 of which 228 recycled
          Never used RAM 14764, free system stack 111 words
          Tasks: NETWORK(ready,183) HEAT(blocked,295) MAIN(running,452) IDLE(ready,19)
          Owned mutexes: WiFi(NETWORK) HTTP(MAIN)
          === Platform ===
          Last reset 00:39:11 ago, cause: software
          Last software reset at 2021-01-29 20:18, reason: User, GCodes spinning, available RAM 15148, slot 0
          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 33.0, current 33.5, max 35.0
          Supply voltage: min 24.3, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
          Driver 0: position 6320, standstill, SG min/max 0/217
          Driver 1: position 2480, standstill, SG min/max 0/191
          Driver 2: position 4467, standstill, SG min/max not available
          Driver 3: position 0, standstill, SG min/max not available
          Driver 4: position 0, standstill, SG min/max not available
          Driver 5: position 0
          Driver 6: position 0
          Driver 7: position 0
          Driver 8: position 0
          Driver 9: position 0
          Driver 10: position 0
          Driver 11: position 0
          Date/time: 2021-01-29 20:57:52
          Cache data hit count 2885279093
          Slowest loop: 10.30ms; fastest: 0.17ms
          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 223563ms, bed compensation in use: none, comp offset 0.000
          === MainDDARing ===
          Scheduled moves 105, completed moves 105, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], 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
          Heater 1 is on, I-accum = 0.0
          === GCodes ===
          Segments left: 0
          Movement lock held by null
          HTTP is ready with "M122 " 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: 39.32ms; 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.25
          WiFi MAC address 84:0d:8e:b2:f6:33
          WiFi Vcc 3.46, reset reason Turned on by main processor
          WiFi flash size 4194304, free heap 24048
          WiFi IP address 192.168.1.67
          WiFi signal strength -51dBm, mode 802.11n, reconnections 0, sleep mode modem
          Clock register 00002002
          Socket states: 0 2 0 0 0 0 0 0
          

          M98 P "config.g"

          	M98 P"config.g"
          HTTP is enabled on port 80
          FTP is disabled
          TELNET is enabled on port 23
          Error: Heater 7 not found
          Error: heater 0 cannot be auto tuned while it is disabled
          Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 634C
          
          undefined 1 Reply Last reply 29 Jan 2021, 22:17 Reply Quote 0
          • undefined
            Phaedrux Moderator @gdefranc
            last edited by 29 Jan 2021, 22:17

            @gdefranc said in 2 independent Z motors and limit switches on Zmax:

            M574 Z1 S2 ; configure Z-probe endstop for low end on Z

            To be able to use endstops for Z you would need to define them here like they are for the other axis.

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 30 Jan 2021, 09:14 Reply Quote 0
            • undefined
              gdefranc @Phaedrux
              last edited by 30 Jan 2021, 09:14

              Thanks @Phaedrux
              For the BL-Touch I used pin H7, for the 2 Z-max endstops can I use H4 and H5?
              How can I specify them in the M574 command?

              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 30 Jan 2021, 18:03

                You can learn more about how pin names are used here as well as a list of available pins.

                https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names

                To make things easy for the endstops would you be able to use the actual endstop inputs? e0_stop e1_stop Z_stop?

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • undefined
                  mr.lizard
                  last edited by mr.lizard 2 Apr 2022, 19:00 4 Feb 2022, 19:00

                  Hello, I have 2 motors connected in Z (Z;E1) and connected to 2 drivers, but they drive at different speeds, it seems that they have different microsteps, what could be the problem?

                  ; Drives
                  M569 P0 S1 D3 H25 V25                          ; physical drive 0 goes forwards   X
                  M569 P1 S1 D3 H25 V25                          ; physical drive 1 goes forwards   Y
                  M569 P2 S0 D3 H25 V25                          ; physical drive 2 goes backwards  Z1
                  M569 P3 S0 D3 H25 V25                          ; physical drive 3 goes backwards  E
                  M569 P4 S0 D3 H25 V25                          ; physical drive 4 goes backwards  Z2
                  
                  M584 X0 Y1 Z2:4 E3 						       ; set drive mapping
                  ; M671 X-20:220 Y0:0 S0.5 					   ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                  M208 X-5:205 Y0:200 						   ; X carriage moves from -5 to 205, Y bed goes from 0 to 200
                  
                  M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
                  M92 X100.00 Y100.00 Z400.00 E690.00            ; set steps per mm
                  M566 X900.00 Y900.00 Z60.00 E600.00            ; set maximum instantaneous speed changes (mm/min)
                  M203 X6000.00 Y6000.00 Z600.00 E7200.00        ; set maximum speeds (mm/min)
                  M201 X2000.00 Y2000.00 Z100.00 E800.00         ; set accelerations (mm/s^2)
                  M906 X1000 Y1000 Z800 E850 I30                 ; set motor currents (mA) and motor idle factor in per cent
                  M572 D0 S0.02 								   ;pressure advance - you may need to finetune it
                  M207 S1.5 F7200 Z0.2 						   ;firmware retraction
                  M84 S30                                        ; Set idle timeout
                  
                  
                  undefined 1 Reply Last reply 4 Feb 2022, 19:14 Reply Quote 0
                  • undefined
                    Phaedrux Moderator @mr.lizard
                    last edited by 4 Feb 2022, 19:14

                    @mr-lizard I don't see anything in your config to cause that. I suggest you start a new thread though.

                    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