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

    Homing X fails with new Mini5+ board

    Scheduled Pinned Locked Moved Solved
    General Discussion
    3
    9
    41
    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.
    • Trietundefined
      Triet
      last edited by Triet

      I just replaced my Duet 2 WiFi and am setting up a Mini5+ now.
      After rewiring and adapting the config.g almost everything works fine (bed+hotend heating, steppers, manual trigger of endstop switches, etc), with a strange exception, namely my printer refuses to home the x axis.

      The printhead just won't move towards the endstop, as dictated by homex.g:

      ; homex.g
      ; called to home the X axis
      ;
      ; generated by RepRapFirmware Configuration Tool on Tue Oct 09 2018 13:27:56 GMT+0300
      G91               ; relative positioning
      G1 Z5 F1000 H2    ; lift Z relative to current position
      G1 H1 X-355 F6000 ; move quickly to X axis endstop and stop there (first pass)
      G1 X5 F3000       ; go back a few mm
      G1 H1 X-355 F360  ; move slowly to X axis endstop once more (second pass)
      G1 Z-5 F1000 H2   ; lower Z again
      G90               ; absolute positioning
      

      When I test the direction of moves it is correct at this point, for all axes.

      When executing homex.g line by line from the PanelDue console, it fails to execute the line
      G1 H1 X-355 F6000 ; won't move! EDIT: Correction, it moves about 3 mm to the right - in the wrong direction. Why?
      It does not like the H1 option with negative values, as it would otherwise execute the negative movement correctly (but to test this, I use lower values to avoid continuous ramming against the endstop if no H1 option provided). The X axis is shown as "homed" afterwards, despite the failure. Y and Z can be homed without issues. My coordinate origin is on the near left side (from observer standpoint), as in most cases. So for X, the endstop is in the low end, and for Y it is in the high end.

      I am baffled because I did check homing of all axes hours before without problem (after correcting the stepper direction, it changed in some cases). Without changing anything concerning endstops, suddenly x homing fails to execute correctly.

      My config.g:

      ; General preferences
      M80 C"pson"	                ; PS-ON header: pin 1=GND + pin2=pson - closes SSR output for permanent power
      G90                             ; Send absolute coordinates...
      M83                             ; ...but relative extruder moves
      M669 K1                         ; Select CoreXY mode
      
      ; NETWORK
      M550 "Mini5"                    ; Set machine name 
      M552 S1                         ; Enable network
      M586 P0 S1                      ; Enable HTTP
      M586 P1 S1                      ; S0=Disable FTP, S1=enable FTP
      M586 P2 S0 T0                   ; Disable Telnet
      
      ; MISCELLANEOUS
      M404 N1.75                      ; filament diameter
      M575 P1 S1 B57600               ; Enables PanelDue
      
      ; DRIVES
      M569 P0.0 S0 D2                 ; Drive 0 goes backwards - X - D2=spreadcycle
      M569 P0.1 S0 D2                 ; Drive 1 goes backwards - Y
      M569 P0.2 S0 D2                 ; Drive 2 goes backwards - right Z 
      M569 P0.3 S0 D2                 ; Drive 3 goes backwards - E (36 mm pancake stepper with orig. cable)
      M569 P0.4 S1 D2                 ; Drive 4 goes forwards - left Z
      M584 X0.0 Y0.1 Z0.4:0.2 E0.3    ; set drive mapping for ind. Z axis: Z4=Left, Z2=Right
      M671 X-62:372 Y155:155 S9       ; define positions of pivot points (screws)
      
      M350 X16 Y16 Z16 E16 I1         ; Configure microstepping with interpolation
      M92 X200 Y200 Z400 E697         ; Set steps per mm for Sherpa micro (700) 
      M566 X7000 Y7000 Z6000 E6000 P1 ; Set maximum instantaneous speed changes (Jerk) (mm/min)==M203 (mm/sec) 
      M203 X20000 Y20000 Z6000 E7200  ; Set maximum speeds (mm/min) 
      
      M201 X10000 Y10000 Z200 E8000	; Set max. accelerations (mm/s^2) 
      M906 X1700 Y1700 Z1000 E1400 I30 ; Set motor currents (mA) and motor idle factor in per cent
      M84 S30                         ; Set idle timeout
      
      ; AXIS LIMITS
      M208 X-24 Y0 Z0 S1             ; Set axis minima
      M208 X310 Y310 Z350 S0         ; Set axis maxima
      
      ; ENDSTOPS
      M574 X1 S1 P"^io5.in"           ; Set active high endstop (GND+io5.in)
      M574 Y2 S1 P"^io6.in"           ; Y endstop is high(max) (GND+io6.in)
      M574 Z1 S2                      ; Set endstops controlled by probe
      M581 T3 X Y S1                  ; invoke trigger 3 when the X or Y endstop switch is triggered
      
      ; Z-PROBE
      M950 S0 C"io2.out"              ; create servo pin 0 for BLtouch
      M558 K0 P9 C"io2.in" H5 F360:120 T12000 A3 S0.02    ; configure BLTouch probe
      G31 P25 X28.5 Y-5 Z0.740        ; Set Z probe trigger value, offset and trigger height
      
      ; HEATERS
      M308 S0 P"temp0" Y"thermistor" A"Bed Temp" T100000 B3950     ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out5" T0 Q10          ; relocate bed heater control signal output on PWM out5 and map it to sensor 0
      M307 H0 R0.475 K2.064:0.000 D2.80 E1.35 S1.00 B0 ; bed heater: Set PID values, disable bang-bang, set PWM limit
      M140 H0                         ; map heated bed to heater 0
      M143 H0 S120                    ; Set temperature limit for heater 0 (bed) to 120C
      
      M308 S1 P"temp1" Y"thermistor" A"Nozzle Temp" T100000 B4725 C7.06e-8   ; configure sensor 1 as thermistor on pin temp1 (nozzle temp.)
      M950 H1 C"out2" T1              ; create nozzle heater 1 output on out2 and map it to sensor 1
      M307 H1 R2.946 K0.563:0.000 D7.06 E1.35 S1.00 B0 V23.8   ; PID values for hotend, T=210 Copper block+CHT nozzle 14.02.25
      M143 H1 S290                    ; set temperature limit for heater 1 (nozzle) to 290C
      
      ; FANS
      M950 F0 C"out3" Q500            ; create fan 0 (layer fan) on header OUT3 (pin 2=V_OUTLC1+ and pin4=OUT3-) and set its frequency
      M106 P0 C"LAYER_FAN" S0 H-1 X1  ; set fan 0 value. Thermostatic control is turned off
      
      M950 F1 C"out4" Q500             ; create fan 1 (hotend) fan on header OUT4 (pin 2=V_OUTLC1+ and pin4=OUT4-) set its frequency
      M106 P1 C"HOTEND_FAN" S0 H1 T45  ; set fan 1 name and value. Thermostatic control based on sensor 1, starts at 45 deg.
      
      ; TOOLS
      M563 P0 S"E3Dv6" 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 
      M564 H0 S1                       ; Let the Jog buttons work 
      M915 X Y S11 R1 F1               ; stall detection, executes driver-stall.g, logs to driver-stall.txt
      M376 H3                          ; Set bed compensation taper (Z fade height)
      
      M592 D0 A0.0025 B0.0002 L0.3     ; Non Linear Extrusion  PETG 240C <------------
      M593 P"ei3" F39                  ; Input Shaping
      M98 P"0:/Macros/Bltouch/Reset"
      
      if fileexists("/sys/resurrect.g")  ; if there is a resurrect file... 
          M98 P"offer-resume.g"          ; ...then execute it (thanks to DC42)
      T0                                 ; make tool 0 active
      

      I am using an SSR to provide power to the bed, to avoid high currents on the board itself (this toasted my previous board), but my setup is otherwise quite standard. Also, I am using a BLTouch. This is a custom CoreXY printer.

      This happened the first time using firmware 3.6.0-rc1, but nothing changed after upgrading to 3.6.0-rc3. I even reformated the SD Card, just in case (because this is so strange).

      Perhaps I am dealing with some kind of firmware quirk provoked by reversed directions of some steppers and am afraid to have to rewire the stepper connections and configure stepper movements all forwards - except someone finds my configuration error.

      Thanks in advance.

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

        @Triet said in Homing X fails with new Mini5+ board:

        Correction, it moves about 3 mm to the right - in the wrong direction. Why?

        Does it mark itself as homed at the end of that move? If so, it's detecting the endstop is triggered, either from being misconfigured or picking up interference.

        Z-Bot CoreXY Build | Thingiverse Profile

        Trietundefined 2 Replies Last reply Reply Quote 0
        • Trietundefined
          Triet @Phaedrux
          last edited by

          @Phaedrux Yes, the axis is showing up as homed afterwards. By the way, how can the homing state be reset as "not homed"?

          I cannot find any misconfiguration, for the life of me. Can you perhaps? This is a vanilla setup.

          Interference is a valid assumption, I will check that - although I would expect an erratic behaviour in this case.

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

            @Triet

            Is moving away from the end-stop sensor 5mm enough to deactivate it?

            If the end-stop sensor is activated a G1 H1 move will be skipped over.

            Frederick

            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

            Trietundefined 2 Replies Last reply Reply Quote 0
            • Trietundefined
              Triet @fcwilt
              last edited by

              @fcwilt That makes sense. This board has no endstop LED, and the DWC runs somewhere else, so at that very moment I could not see if the state of the endstop was already triggered. I will check that when I am at the site again.

              Again, how would I tell the printer "your X axis is not homed"? In other words, how do I de-home an axis?

              1 Reply Last reply Reply Quote 0
              • Trietundefined
                Triet @fcwilt
                last edited by

                @fcwilt Just to be clear: there is no physical contact with the endstop. If it is triggered, it must have a different reason and a short movement to the right won't release anything, as the printer head is far away.

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

                  @Phaedrux @fcwilt A cable was just sitting in the plug of the endstops and looking goot but had no contact - I only noticed when pulling it out. Re-crimped it and... problem solved!

                  Thanks guys for leading me to the obvious.

                  1 Reply Last reply Reply Quote 1
                  • Phaedruxundefined Phaedrux marked this topic as a question
                  • Phaedruxundefined Phaedrux has marked this topic as solved
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    My next question was going to be, does the endstop show as triggered even when the switch itself isn't pressed. M114 will show you the endstop status.

                    To unhome, you can power down the motor.

                    Z-Bot CoreXY Build | Thingiverse Profile

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

                      @Phaedrux With that one cable loose, yes. I wondered why it was showing constantly being triggered, and at that point, it was clear that something was wrong with the connections.

                      I do use a crimping tool but I feel that I need three hands and a magnifying glass to insert the three mm free of insulation to exactly fit where they should, and then press without shifting it. I don't know who invented that crimping technique, but he/she does not deserve the Nobel price for that.

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