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

    Haq XY

    Scheduled Pinned Locked Moved
    Firmware developers
    6
    131
    15.2k
    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.
    • Haggan90undefined
      Haggan90
      last edited by

      @dc42 I just tried to change the M669 from K0 to K1 without any luck, same problems. On the plus side of this I'm starting to get a good hang of some gcode 😛

      Do you think there might be some bug in the firmware?

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

        @haggan90 said in Haq XY:

        @dc42 I just tried to change the M669 from K0 to K1 without any luck, same problems. On the plus side of this I'm starting to get a good hang of some gcode 😛

        Do you think there might be some bug in the firmware?

        Quite possibly, and I already have it on my list to simulate your machine on my bench. I may have time to do this tomorrow.

        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

        Haggan90undefined 1 Reply Last reply Reply Quote 0
        • Haggan90undefined
          Haggan90 @dc42
          last edited by

          @dc42 oh that's awsome! Let me know if I can do something to help 🙂

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

            In your M584 command, you forgot to redefine the extruder drives. So your extruder settings are messing up your axis settings. Please fix that and try again.

            EDIT: I corrected that, also I configured a U endstop switch. As far as i can tell, it is working. I'm using a slightly later version of the firmware, it's at https://www.dropbox.com/s/fyvibzm0zl92hiy/Duet2CombinedFirmware.bin?dl=0.

            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

            Haggan90undefined 1 Reply Last reply Reply Quote 0
            • Haggan90undefined
              Haggan90 @dc42
              last edited by

              @dc42
              I fixed the M584 to this: M584 X0 U6 Y1 Z2:5 E3:4
              The homing seems to work as before, but the same thing happends if I try and run G29 (reffering to my last video).

              I do have an endstop for U.

              1 Reply Last reply Reply Quote 0
              • Haggan90undefined
                Haggan90
                last edited by

                IF I change the homeall.g to this, the homeall doesen't work at all If either X or U endstop is hit before I start the homing. I need to home all axis by them self.

                G91 ; relative positioning
                G1 Z5 F6000 S2 ; lift Z relative to current position
                G1 S1 Y-550 X-550 U-550 F2500 ; move quickly to Y axis endstops and stop there (first pass)
                G1 Y5 X5 U5 F1000 ; go back a few mm
                G1 S1 Y-550 X-550 U-550 F660 ; move slowly to Y axis endstops once more (second pass)

                G90 ; absolute positioning
                G1 X35 Y65 F6000 ; go to first bed probe point and home Z
                G30 ; home Z by probing the bed

                G91 ; relative positioning
                G1 S2 Z5 F100 ; lift Z relative to current position
                G90 ; absolute positioning

                dc42undefined 1 Reply Last reply Reply Quote 0
                • Haggan90undefined
                  Haggan90
                  last edited by

                  I just found out another strange thing..

                  If I home all axis, my home position is X35 U0 Y65 Z0, which it should be.
                  But if I then do another homeall from that position I get all kinds of diffrent values, like X-95 Y65 U0 Z0.

                  One can clearly see the U and X axis acting strange when I try to do a second homeall, the U crashes into the endstop and so on.

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

                    @haggan90 said in Haq XY:

                    IF I change the homeall.g to this, the homeall doesen't work at all If either X or U endstop is hit before I start the homing. I need to home all axis by them self.

                    G91 ; relative positioning
                    G1 Z5 F6000 S2 ; lift Z relative to current position
                    G1 S1 Y-550 X-550 U-550 F2500 ; move quickly to Y axis endstops and stop there (first pass)
                    G1 Y5 X5 U5 F1000 ; go back a few mm
                    G1 S1 Y-550 X-550 U-550 F660 ; move slowly to Y axis endstops once more (second pass)

                    G90 ; absolute positioning
                    G1 X35 Y65 F6000 ; go to first bed probe point and home Z
                    G30 ; home Z by probing the bed

                    G91 ; relative positioning
                    G1 S2 Z5 F100 ; lift Z relative to current position
                    G90 ; absolute positioning

                    Please read the wiki page on configuring a CoreXY printer. Note the bit where it says that you can do initial XY homing concurrently in homeall.g, but then you must home X and Y individually after that. In your case you should be able to do initial homing of XYU concurrently (which will stop when any one of XYU is homed), then you can home Y by itself and then X and U concurrently.

                    If you still have problems after fixing that, post your latest config.g and homeall.g file.

                    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

                    Haggan90undefined 1 Reply Last reply Reply Quote 0
                    • Haggan90undefined
                      Haggan90 @dc42
                      last edited by

                      @dc42 I just tried that and as soon as Y endstop hits everything just stops.
                      this is my homeall.g:

                      G91 ; relative positioning
                      G1 Z5 F6000 S2 ; lift Z relative to current position
                      G1 S1 Y-550 U-550 X-550 F2500 ; move quickly to Y axis endstops and stop there (first pass)
                      G1 S1 y-550 F2500 ; Home Y seperate
                      G1 S1 X-550 U-550 F2500 ; Home X and U seperate
                      G1 Y5 X5 U5 F2000 ; Go back 5mm on all axis
                      G1 S1 Y-10 F600 ; slowly home Y
                      G1 S1 U-10 X-10 F600 ; Slowly home X and U

                      G90 ; absolute positioning
                      G1 X35 Y65 F6000 ; go to first bed probe point and home Z
                      G30 ; home Z by probing the bed
                      G91 ; relative positioning
                      G1 S2 Z5 F100 ; lift Z relative to current position
                      G90 ; absolute positioning

                      This is my config.g:
                      ; Drives
                      M584 X0 U6 Y1 Z2:5 E3:4 ; set 3 Z drivers and add one U driver
                      M669 K0 Y-1:1:0:-1 ; set Y to react with X1 and U6
                      M569 P0 S1 ; Drive 0 goes forwards
                      M569 P1 S1 ; Drive 1 goes forwards
                      M569 P2 S0 ; Drive 2 goes backwards
                      M569 P3 S1 ; Drive 3 goes forwards
                      M569 P4 S1 ; Drive 4 goes forwards
                      M569 P5 S0 ; Drive 5 goes backwards
                      M569 P6 S0 ; Drive 6 goes backwards

                      M350 U16 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
                      M92 U80.00 X80.00 Y240.00 Z1066.67 E420.00:420.00 ; Set steps per mm
                      M566 U900.00 X900.00 Y900.00 Z12.00 E120.00:120.00 ; Set maximum instantaneous speed changes (mm/min)
                      M203 U10000.00 X10000.00 Y10000.00 Z500.00 E1200.00:1200.00 ; Set maximum speeds (mm/min)
                      M201 U800.00 X800.00 Y800.00 Z20.00 E250.00:250.00 ; Set accelerations (mm/s^2)
                      M906 U1000.00 X1000.00 Y1000.00 Z1000.00 E800.00:800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
                      M84 S30 ; Set idle timeout

                      ; Axis Limits
                      M208 U0 X0 Y0 Z0 S1 ; Set axis minima
                      M208 U550 X550 Y500 Z750 S0 ; Set axis maxima

                      ; Endstops
                      M574 U1 S0 ; set active low endstops
                      M574 X1 Y1 S1 ; Set active high endstops

                      ; Z-Probe
                      M574 Z1 S2 ; Define Z to use Probe. Home to Min.
                      M558 P9 H5 F500 T4000 ; Set Z probe type/mode 9.
                      G31 P25 X0 Y-57.3 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment
                      M557 X30:530 Y65:490 S50 ; define mesh grid

                      ; BLTouch - Heaters
                      M307 H3 A-1 C-1 D-1 ; Disable the 2nd Heater to free up PWM channel 1 on the Duex board

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

                        Can you confirm you are using the new firmware? I posted the link yesterday.

                        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

                        Haggan90undefined 1 Reply Last reply Reply Quote 0
                        • Haggan90undefined
                          Haggan90 @dc42
                          last edited by

                          @dc42 yes, I installed it as soon as you posted the link 🙂

                          1 Reply Last reply Reply Quote 0
                          • Haggan90undefined
                            Haggan90
                            last edited by

                            Do you find anything wrong with my config?

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

                              No, I didn't spot anything wrong with your config. I used a slightly different config for testing (single Z motor, and active high U endstop switch).

                              Please can you try to produce a reproducible test case along the following lines:

                              1. With power off, move the carriages slowly by hand to an approximate X, Y, U position, to ensure that a chosen axis will reach its homing switch first. [Specify the position]

                              2. Send the first N commands from the homeall.g file. At this point, something undesirable happens. [Specify what].

                              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

                              Haggan90undefined 1 Reply Last reply Reply Quote 0
                              • Haggan90undefined
                                Haggan90 @dc42
                                last edited by

                                @dc42 Ok I will do that!
                                What do you mean with "First N commands"?

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

                                  I mean send the commands one by one until something happens that you think isn't right. N is the number of commands you sent.

                                  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

                                  Haggan90undefined 1 Reply Last reply Reply Quote 0
                                  • Haggan90undefined
                                    Haggan90 @dc42
                                    last edited by

                                    @dc42 Aha ok, got it!

                                    1. I moved X to around 300, U to 100 and Y to 400 with the power turned off.
                                    2. G1 Z5 F6000 S2 ; Bed moves down as it should with no problem
                                    3. G1 S1 Y-550 U-550 X-550 F2500; Everything stopped when X hit it's endstop, it should have been U but it seems like the U and X steppers arent moving at all, only the Y stepper...
                                    dc42undefined 1 Reply Last reply Reply Quote 0
                                    • Haggan90undefined
                                      Haggan90
                                      last edited by

                                      I just find everything very strange because if I send something like G1 Y400 U10 X350 F2500 everything moves as it should, but as soon as I tries homing or do G29 nothing moves as it should. Specially if I run G29, first U plunges into it's endstop and the X does one probe. Then X and U plunges in to their endstops and X goes to do another probe... and so on...

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

                                        @haggan90 said in Haq XY:

                                        @dc42 Aha ok, got it!

                                        1. I moved X to around 300, U to 100 and Y to 400 with the power turned off.
                                        2. G1 Z5 F6000 S2 ; Bed moves down as it should with no problem
                                        3. G1 S1 Y-550 U-550 X-550 F2500; Everything stopped when X hit it's endstop, it should have been U but it seems like the U and X steppers arent moving at all, only the Y stepper...

                                        If your kinematics are as in the diagram at https://hackaday.io/project/19543-haq-xy/details then it's correct behaviour that only the Y stepper moves when you execute that second G1 command. The resultant motion should be that X, Y and U all move towards the minimum end of their axes. Was that the motion you observed? Or was U moving either not at all or the wrong way?

                                        However, if all axes were moving like that, then U should have reached the endstop first, and that should have stopped the motion. Are you sure that the U endstop is working correctly? It should be connected to the E0 endstop connector.

                                        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

                                        Haggan90undefined 1 Reply Last reply Reply Quote 0
                                        • Haggan90undefined
                                          Haggan90 @dc42
                                          last edited by Haggan90

                                          @dc42 Yes the kinematics are like in the diagram, and you are correct only Y should move. But when Y/X/U moves -550 both X and U steppers should be unable to move, right?. Maybe that's what's wrong?

                                          edit: Yes U's endstop is connected to E0's endstop and It works great if I just home U alone.

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

                                            I've just thought of a possible issue. After power up, all motors are off. If you execute that homing move at that point, then only the Y motor will be energised. So the X and U motors have only the detent torque to stop them rotating.

                                            If you command the 3 axes to move slightly different distances in that homing move (e.g. 550, 551, 552 mm) then all 3 motors should be energised.

                                            Alternatively, just before that G1 S1 homing move, add a G1 S2 Y0.02 move. This will force all 3 motors to be energised, as long as the distance (0.02mm in this example) is at least 1 microstep.

                                            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

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