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

    CoreXY, Y endstop and homing not functioning properly

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    13
    894
    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.
    • tdm418undefined
      tdm418
      last edited by

      CoreXY Printer
      The Y endstop has been replaced with a new one, no difference
      Firmware has been flashed and configured from scratch twice, no difference

      The Issue:
      The Y axis will not home or move properly

      The background:
      The printer sets up properly and functions properly, including proper head motion as described in the “Configuring RepRapFirmware for a CoreXY printer” when entered directly into the G-Code Console. Interestingly, reversing the Y motor (M569) from “motor runs forwards” to “motor runs backwards” does not affect the head movement.

      The X axis homes properly, retracts, then slowly actuates the endstop. Just as coded.
      The Y axis just buries itself in the endstop the first try and then stays there. It does not recognize the endstop, even though the indicator light on the board does come on, and the GUI indicates Yes for “endstop hit”.
      The Z axis also homes properly.
      After “homing”, the Y axis will not move more than 1mm at a time in the negative direction (the endstop is at the max position), and only two or three times before refusing to respond. However, it will continue to respond to positive direction inputs.
      The default homing scripts include the lowering and raising of the Z axis. If the Z axis is too close to its homing point during the Y axis homing routine, when the Z axis raises itself, it will crash through its endstop and actually pin itself against the frame.

      config:

      ; Configuration file for Duet WiFi (firmware version 2.03)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.0.3 on Sat Sep 07 2019 15:25:54 GMT-0700 (Mountain Standard Time)

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 ; set printer name

      M669 K1 ; select CoreXY mode

      ; Network
      M551 P"toor" ; set password
      M552 S1 ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S1 ; enable FTP
      M586 P2 S1 ; enable Telnet

      ; Drives
      M569 P0 S0 ; physical drive 0 goes backwards
      M569 P1 S1 ; physical drive 1 goes forwards
      M569 P2 S0 ; physical drive 2 goes backwards
      M569 P3 S1 ; physical drive 3 goes forwards
      M569 P4 S1 ; physical drive 4 goes forwards
      M584 X0 Y1 Z2 E3:4 ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z160.00 E420.00:420.00 ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
      M906 X640 Y640 Z640 E1400:1400 I50 ; set motor currents (mA) and motor idle factor in per cent
      M84 S20 ; Set idle timeout

      ; Axis Limits
      M208 X0 Y0 Z0 S1 ; set axis minima
      M208 X300 Y300 Z280 S0 ; set axis maxima

      ; Endstops
      M574 Y2 S1 ; set active low and disabled endstops
      M574 X1 Z1 S1 ; set active high endstops

      ; Z-Probe
      M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:195 S20 ; define mesh grid

      ; Heaters
      M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
      M143 H0 S150 ; set temperature limit for heater 0 to 150C
      M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
      M143 H1 S285 ; set temperature limit for heater 1 to 285C
      M305 P2 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 2
      M143 H2 S285 ; set temperature limit for heater 2 to 285C

      ; Fans
      M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
      M106 P1 S1 I0 F500 H1:2 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

      ; Tools
      M563 P0 S"Extruder 0" D0 H1 F1 ; 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"Extruder 1" D1 H2 F1 ; 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

      homey:

      ; Custom settings are not defined

      ; homey.g
      ; called to home the Y axis
      ;
      ; generated by RepRapFirmware Configuration Tool v2.0.3 on Sat Sep 07 2019 15:25:55 GMT-0700 (Mountain Standard Time)
      G91 ; relative positioning
      G1 Z5 F6000 S2 ; lift Z relative to current position
      G1 S1 Y305 F1800 ; move quickly to Y axis endstop and stop there (first pass)
      G1 Y-5 F6000 ; go back a few mm
      G1 S1 Y305 F360 ; move slowly to Y axis endstop once more (second pass)
      G1 Z-5 F6000 S2 ; lower Z again
      G90 ; absolute positioning

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

        The comment next to setting the Y end stop mentions active low.

        Is the Y end stop device actually active low? It is configured as active high.

        Frederick

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

        1 Reply Last reply Reply Quote 0
        • tdm418undefined
          tdm418
          last edited by

          First, thank you for your response.
          The comment is wrong, it is configured by the S1 as an active high. I have played with that setting in an attempt to find out what is going on, so that is just an old comment that I didn't update. In fact, the first endstop that I used was an active low, and the behavior of the axis was the same.

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

            If you send M574 by itself in the gcode console, what does it reply with?

            If you trigger the endstop with your finger before the head actually makes contact does it stop?

            Can you confirm that the 0,0 origin point is at the front left of the printer? X+ moves to the right and Y+ moves towards the back?

            Could you post your other homing files as well?

            This is on firmware 2.0.3 I take it?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • tdm418undefined
              tdm418
              last edited by

              Thank you too, this has been a bit frustrating. I primarily work out of state, so I get very little time, and even less uninterrupted time, to build/test/troubleshoot this thing. Going on 8 months of a couple days every two months.

              And this is actually 2.04RC1

              Console Reply:

              8:09:49 PM
              M574
              Endstop configuration: X: low end active low, Y: low end active low, Z: low end active low

              That is really odd, as the config.g file calls out that the y axis is a 2, which is high end.

              Manually hitting the microswitch stops the carriage, but it does not bounce back and then retrigger the switch as it's supposed to. Maybe explained by the confusion about low/high? And the Z axis still crashes into the frame, running right through it's own endstop.

              ; homez.g
              ; called to home the Z axis
              ;
              ; generated by RepRapFirmware Configuration Tool v2.0.3 on Sat Sep 07 2019 15:25:55 GMT-0700 (Mountain Standard Time)
              G91 ; relative positioning
              G1 Z5 F6000 S2 ; lift Z relative to current position
              G1 S1 Z-285 F1800 ; move Z down until the endstop is triggered
              G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

              ; Uncomment the following lines to lift Z after probing
              ;G91 ; relative positioning
              ;G1 S2 Z5 F100 ; lift Z relative to current position
              ;G90 ; absolute positioning

              ; homex.g
              ; called to home the X axis
              ;
              ; generated by RepRapFirmware Configuration Tool v2.0.3 on Sat Sep 07 2019 15:25:55 GMT-0700 (Mountain Standard Time)
              G91 ; relative positioning
              G1 Z5 F6000 S2 ; lift Z relative to current position
              G1 S1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass)
              G1 X5 F6000 ; go back a few mm
              G1 S1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
              G1 Z-5 F6000 S2 ; lower Z again
              G90 ; absolute positioning

              I do not use the homeall (yet).

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

                Try putting the endstop config all on the same line. Delete the entire endstop section and retype it from scratch.

                M574 X1 Y2 Z1 S1

                X at low end, Y at high end, Z and low end, all active high switches.

                At what point exactly is the Z axis crashing into the frame?

                Endstops are only detected when the G1 move has the S1/H1 switch. S2 allows movement without being homed.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • tdm418undefined
                  tdm418
                  last edited by

                  OK, changed the code as you suggested.
                  No change in behavior, and the M574 command still does not recognize the Y2 parameter:

                  ; Endstops
                  M574 X1 Y2 Z1 S1 ;X low end, Y high end, Z low end, all active high

                  9:21:47 PM
                  M574
                  Endstop configuration: X: low end active low, Y: low end active low, Z: low end active low

                  The Z axis endstop is at the minimum, so physically the highest point that the table can travel. (I know that you know this, this is for me to think it out).
                  So when Z is homed, it first retracts a bit (goes down), then travels up until it triggers the stop.

                  When the Y axis is homed, it starts by raising the Z axis. The default raise value is 5, and if the table is down less than 5, it raises the table 5, or until it runs into the frame. This occurs whether the Z axis is homes or not. And the Z axis does home itself fine, and motion control is fine once it is homes. Only the Y homing seems to screw it up.

                  And another interesting problem. The Z axis moves about 5 cm, not 5 mm, when it either homes or I manually control it. Maybe this is correct, but since the X and Y seem to move in mm, shouldn't the Z as well? And modifying the steps per mm in the config file does not seem to affect it at all.

                  1 Reply Last reply Reply Quote 0
                  • tdm418undefined
                    tdm418
                    last edited by

                    Sorry, substitute "homed" for "homes" in the above.

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

                      Something seems very strange here indeed.

                      Can you upload your actual files rather than copy and paste?

                      What does your folder structure look like on the SD card?

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • tdm418undefined
                        tdm418
                        last edited by

                        Here are the files:
                        0_1568004240172_config.g
                        0_1568004266584_homex.g 0_1568004272088_homey.g 0_1568004279822_homez.g

                        Not sure what you mean by the folder structure, maybe this helps?
                        0_1568004439066_Duet.png

                        Thank you again, especially given the time where you are, this is awesome!!!

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

                          As I suspected...

                          Your config files are fine, they just aren't in the right place. You've got them in the g-code folder where you would put sliced gcode files for printing. All the config files must go in the /sys folder.

                          At this point it may be easiest to pull the SD card and use a PC to move the files over. Then to access the /sys folder and your config files with the DWC you use the Settings tab on the left side and then go to the system editor tab.

                          https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#Section_System_Editor

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • tdm418undefined
                            tdm418
                            last edited by

                            That certainly took care of the Z axis scaling issue.
                            The other axis don't want to home, but I'll work on that tomorrow. I suspect that it now is in the code and easily resolved.
                            Thank you very much for your time and patience. Sorry for such an amateur mistake.

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

                              You're not the first person to make that mistake. It happens.

                              I think you're well on your way though, the rest of the config looked ok. With the files in the right place it should be a lot easier to figure out what is going on now since the machine should respond as expected.

                              Any further issues should be easy to resolve.

                              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