Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    UNSOLVED Secondary Tool move breaks Z homing

    Duet Hardware and wiring
    3
    62
    307
    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.
    • optical
      optical last edited by Phaedrux

      I have a PNP machine with dual head.
      Board: Duet 3 MB6HC (MB6HC)
      Firmware: RepRapFirmware for Duet 3 MB6HC 3.1.1 (2020-05-19b2

      Axes description.
      X,Y - Standard axes.
      Z - Shared axis for both tools(head).
      E1,E2 - Axes configured to absolute positioning. Thes axes handles rotation of each head.

      Rotation axes has to be set to absolute position, because the openpnp is sending absolute rotation for the tools.

      All axes are using trinamic sensorless feature for operation. Due to some manufacturing inprecissions on the Z axis it uses Induction probe for homing operation with offset to zero. For normal operation it switches back to sensorless. Hoever it should never get to maximum positions. Due to the software.

      Issue:
      G28
      T0
      G0 180 ; Tool 0 moves to 180
      T1
      G0 180; Tool 1 moves to 180
      T0
      G0 180 ; Tool 0 moves to 180
      G28 Z ; Z starts to move in the other direction then it should. Away from the probe
      The problem does not occure when using only tool 0.

      I have zero explenation why this happends. The first long move is executed in oposite direction which causes to hit the axis end without limit switch.
      Could somebody help me resolve this issue ?

      Homing procedure of Z Axis:
      ; homez.g
      ; called to home the Z axis

      G91 ; relative positioning

      M913 Z25

      M574 Z2 P"!io0.in" S1 ; Induction sensor
      M915 Z F0 S3 R1

      G1 H1 Z+40 F500
      G1 H2 Z-2 F500
      G1 H1 Z+5 F500
      M913 Z100
      G90 ; absolute positioning

      G92 Z12 ; Set possition due to probe offset

      G1 Z0 F500; Park

      Whole configuration:
      config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.3 on Tue Jun 16 2020 20:02:20 GMT+0200 (Central European Summer Time)
      
      ; General preferences
      G90                                            ; send absolute coordinates...
      M82                                            ; ...but relative extruder moves
      M550 P"Opto Pnp"                             ; set printer name
      
      ; Network
      M552 S1                                        ; enable network
      M586 P0 S1                                     ; enable HTTP
      M586 P1 S0                                     ; disable FTP
      M586 P2 S1                                     ; disable Telnet
      
      ; Drivesh
      M569 P0 S0                                     ; physical drive 0 goes forwards
      M569 P1 S0                                     ; physical drive 1 goes forwards
      M569 P2 S1                                     ; physical drive 2 goes forwards
      M569 P3 S1                                     ; physical drive 3 goes forwards
      M569 P4 S1                                     ; physical drive 4 goes forwards
      ;M569 P5 S1                                     ; physical drive 5 goes forwards
      
      M584 X0 Y1 Z2 E3:4                             ; set drive mapping
      M350 X64 Y64 Z4 E32:32 I1                       ; configure microstepping with interpolation
      M92 X213.507 Y213.70972 Z20.21 E17.777:17.777             ; set steps per mm
      M566 X900.00 Y900.00 Z900.00 E900.00:900.00            ; set maximum instantaneous speed changes (mm/min)
      M203 X70000.00 Y22500 Z5000.00 E5000:5000         ; set maximum speeds (mm/min)
      M201 X6800.00 Y2000.00 Z2000.00 E2000:2000          ; set accelerations (mm/s^2)
      M906 X3000 Y2800                 ; set motor currents (mA) and motor idle factor in per cent
      M906 Z2300                ; set motor currents (mA) and motor idle factor in per cent
      M906 E600:600 I15                ; set motor currents (mA) and motor idle factor in per cent
      M84 S300                                        ; Set idle timeout for all axis
      
      M917 X15 Y15 Z100 E100:100
      
      ; Axis Limits
      M208 X-7.7 Y-39.2 Z-22.5 S1                               ; set axis minima
      M208 X650 Y400 Z22.5 S0                         ; set axis maxima
      M208 E-18000 S1                         ; set axis maxima
      M208 E18000 S0                         ; set axis maxima
      
      ; Endstops
      M574 X1 S3                                     ; configure sensorless endstop for low end on X
      M574 Y1 S3                                     ; configure sensorless endstop for low end on Y
      M574 Z1 S3
      M574 E1 S3                                     ; configure sensorless endstop for low end on Z
      
      ; Define Tool 0
      M563 P0 D0
      
      ; Define Tool 1
      M563 P1 D1
      
      ;M564 H0										; Allow move with unhomed asix
      
      ; GPIO
      M950 P0 C"out1"								   ; Air Pump
      M950 P1 C"out7"								   ; Air Valve1
      M950 P2 C"out8"								   ; Air Valve2
      
      
      ; Fans
      
      ; Tools
      
      ; Custom settings are not defined
      
      1 Reply Last reply Reply Quote 0
      • Phaedrux
        Phaedrux Moderator last edited by

        Can you also post your tool change files?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • optical
          optical last edited by

          I do not have any tool change scripts inside my configuration.

          My only tool change commands are T0 and T1.

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

            @optical said in Secondary Tool move breaks Z homing:

            ; Define Tool 0 M563 P0 D0 ; Define Tool 1 M563 P1 D1

            I notice no tool offsets here, but I assume that's also because this is a unique machine?

            Can you post your homing files?

            Is this perhaps related to your other thread on this machine?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • optical
              optical last edited by

              These are all of the homing scripts.

              homeall.g homez.g homey.g homex.g

              The maniche is Pick and Place software. The offsets are handled inside openpnp.
              However this issue can be replicated without the openpnp. Just by gcode above.

              In the other thread i'm dealing with issue how to configure absolute independent rotation axis.

              Honestly i do not know what causes the issue. I have spend a lot of time debuging this issue because is seemed to be a random, unitl i found out it stop happedning when i disabled the other pnp head. After that i was able to replicate it by the gcode above.

              1 Reply Last reply Reply Quote 0
              • dc42
                dc42 administrators @optical last edited by dc42

                @optical said in Secondary Tool move breaks Z homing:

                I do not have any tool change scripts inside my configuration.

                What we are asking is whether you have files tfree0.g, tpre0.g and tpost0.g in /sys on the SD card, and similar files for tool 1; and if so, what is in them.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • optical
                  optical last edited by optical

                  I do not have any tool change files tfree0.g, tpre0.g and tpost0.g in /sys on the SD card
                  Untitled.png

                  Phaedrux 1 Reply Last reply Reply Quote 0
                  • dc42
                    dc42 administrators last edited by dc42

                    Thank you.

                    @optical said in Secondary Tool move breaks Z homing:

                    G0 180 ; Tool 0 moves to 180

                    I presume that is a mis-print, because G0 180 doesn't make sense (there is no parameter letter before the 180). What should it be? Does the problem still occur with these three G0 commands removed, i.e. just the T commands between G28 and G28 Z?

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • dc42
                      dc42 administrators last edited by

                      PS:

                      @optical said in Secondary Tool move breaks Z homing:

                      M208 E-18000 S1 ; set axis maxima M208 E18000 S0 ; set axis maxima

                      Extruder are not axes, so those commands won't do anything; but I wouldn't expect them to mess anything up.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • optical
                        optical last edited by

                        So i tested again the minimal sample and discovered following:

                        G28
                        T0
                        T1
                        G28 Z; Works fine
                        
                        G28
                        T0
                        G0 Z10
                        T1
                        G0 Z0
                        T0
                        G0 Z10
                        G28 Z ; works fine
                        
                        G28
                        T0
                        T1
                        G0 E10
                        G28 Z; failed 
                        

                        This makes me think that maybe the issue is related to the other thread regarding this machine.
                        Sorry for the previous gcode example. That has not been accurate enough.

                        1 Reply Last reply Reply Quote 0
                        • optical
                          optical last edited by

                          I have testing different driver mapping to ensure that the issue is not connected to board it self.

                          After that i confirmed that the Induction sensor(it has led on the back) is still working after the failed homing, to ensure that somehow the input has not been disabled.

                          1 Reply Last reply Reply Quote 0
                          • dc42
                            dc42 administrators last edited by dc42

                            Thanks. Please can you upgrade the firmware to 3.2beta1 and see if the issue is still present.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            1 Reply Last reply Reply Quote 0
                            • optical
                              optical last edited by

                              Hi.
                              I have tried 3.2beta2 and 3.2beta1 issue present in both of the versions.

                              1 Reply Last reply Reply Quote 0
                              • dc42
                                dc42 administrators last edited by

                                Thank you. I will try your config file on my bench setup and try to reproduce the problem.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                1 Reply Last reply Reply Quote 0
                                • optical
                                  optical last edited by optical

                                  Hi,
                                  today i have been able to produce behavior to use the tools with axis mapping to remember their position.
                                  I have changed the rotation to be represented by axis X(One nozzle). The other i have mapped to axis V to be able to use M563 to change driver mapping for Axis X.

                                  However, the issue with inverting axis is still present. This time right after homing.

                                  G28
                                  G28 Z
                                  

                                  Note: I think it would be nice to allow using M563 to remap any axis. Due to this limitation i had to move my X axis to be labeled as U. Which makes things rather messy.

                                  G28 Z
                                  G28 V
                                  G28 Z ; Failes
                                  

                                  This is the minimal usecase when the Z homing failes.
                                  It is propable related to the way i'm homing the axis which does not have endstops and are infite(free-rotation).

                                  Could you help me maybe change the way i'm homing the rotation axis ? Is there Gcode which would just declare the axis as homed ?
                                  Currently i set the stall detection to lowest value and move.
                                  These axis can be homed in any position.

                                  The other possibility is that the Z axis breaks whenever the second tool/driver moves.

                                  Configuration:
                                  homeall.g config.g homez.g homey.g homex.g homev.g homeu.g

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

                                    @optical said in Secondary Tool move breaks Z homing:

                                    Is there Gcode which would just declare the axis as homed ?

                                    G92 will let you set the position of an axis.

                                    https://duet3d.dozuki.com/Wiki/Gcode#Section_G92_Set_Position

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • optical
                                      optical last edited by

                                      I tested new homing scripts using G92 for the infinite axis. And i have come to conclusion that whenever the other drive(Currently V axis) moves. The Z axis homing becomes inverted.

                                      1 Reply Last reply Reply Quote 0
                                      • optical
                                        optical last edited by optical

                                        After further testing it seems that somehow the input is inverted.

                                        M574 Z2 P"!io0.in" S1
                                        

                                        Because the problem of the movement is "solved" not present when i remove the induction probe connector from the board.
                                        Is it possible that switching from the probe endstop to sensorless endstop breaks the input ?

                                        After messing with the endstop settings. I think that really something is wrong with the input it self.

                                        G28 
                                        T1
                                        G1 X10
                                        G28 Z ; Broken home
                                        M574 Z2 P"!io0.in" S1
                                        G1 H1 Z+40 F500  ; stops immidiently even when sensor is not triggered
                                        M574 Z0 P"nil" 
                                        G1 H1 Z+40 F500; Continues fine
                                        M574 Z2 P"!io0.in" S1 
                                        G1 H1 Z+40 F500  ; stops immidiently even when sensor is not triggered
                                        

                                        I have tried to change io0 for io1. The issue is still present.
                                        I have checked that the sensor is indeed working even when the problem with the io is present.

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

                                          Well the ! inverts the signal.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          optical 1 Reply Last reply Reply Quote 0
                                          • optical
                                            optical @Phaedrux last edited by optical

                                            @Phaedrux Ofcourse it does the inversion is correct. The input works for the homing until the Tool 1 is moved then it stops working(propably gets inverted (uninverted)).
                                            I'm suggesting that it is propably a bug inside the firmware.

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

                                              Post your gcode so we can see what's all going on.

                                              Z-Bot CoreXY Build | Thingiverse Profile

                                              1 Reply Last reply Reply Quote 0
                                              • optical
                                                optical last edited by

                                                config.g homez.g homey.g homex.g homev.g homeu.g homeall.g

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

                                                  Can you try add M400 before all of your instances of M913?

                                                  https://duet3d.dozuki.com/Wiki/Gcode#Section_M913_Set_motor_percentage_of_normal_current

                                                  Important! When M913 is executed, it does not wait for all motion to stop first (unlike M906). This is so that it can be used in the M911 power fail script. When using M913 elsewhere, you will typically want to use M400 immediately before M913.

                                                  ; Axis Limits
                                                  M208 U-7.7 Y-39.2 Z-22.5 S1                               ; set axis minima
                                                  M208 U650 Y400 Z22.5 S0                         ; set axis maxima
                                                  M208 X-18000 V-18000 S1                         ; set axis maxima
                                                  M208 X18000 V18000 S0                         ; set axis maxima
                                                  

                                                  Can you try condensing that into just two commands?

                                                  Z-Bot CoreXY Build | Thingiverse Profile

                                                  1 Reply Last reply Reply Quote 0
                                                  • optical
                                                    optical last edited by

                                                    @dc42 Did you managed to reproduce this issue ?

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

                                                      @optical Did you try any of my suggestions?

                                                      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