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

    Core XYU or XYUV

    Scheduled Pinned Locked Moved
    General Discussion
    6
    41
    3.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.
    • curlypaulundefined
      curlypaul
      last edited by

      Hi all,

      Been a long time duet user, but this is my first post here - so hello ! 🙂

      So, I designed this last year, but since having a little more time on my hands, I've finally had some time to build it

      Anyway... My question is, Is this Core XYU or XYUV, I've been struggling this morning getting everything moving the right way.

      IMG_20200515_115912.jpg
      IMG_20200515_115921.jpg
      IMG_20200515_115925.jpg

      Any help appreciated !

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

        You have 2 motors per belt. That makes it CoreXYUV.

        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
        • curlypaulundefined
          curlypaul
          last edited by

          Thank you - That's what I thought 😀
          Just checking the obvious...
          This is M669 K8 with FW 2.05, and then setup as per a 'normal' corexy but with additional axes in config.g

          Do I need to home V ? Do I hide V ?

          I don't need to do any other mapping etc ?

          I only ask as I'm spent a couple of hours trying to get everything moving the right way so far

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

            You should hide V and not home it.

            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
            • curlypaulundefined
              curlypaul
              last edited by

              Thank you

              deckingmanundefined 1 Reply Last reply Reply Quote 0
              • curlypaulundefined
                curlypaul
                last edited by curlypaul

                Getting somewhere now - this is making me feel like a noob all over again !

                So.. I can home x (lh tool to left)
                I can home y to mc front
                I can home u (rh tool to right)

                Then, if i try to move Y, it's like the motors don't go in the right directions ?

                I must be doing something wrong !?!?

                EDIT : Can still move X and U in there correct directions - just Y is doing the wrong thing

                deckingmanundefined 1 Reply Last reply Reply Quote 0
                • deckingmanundefined
                  deckingman @curlypaul
                  last edited by

                  @curlypaul Off topic I know but that's an awesome looking build! Maybe not the way that I would do things but none the less awesome. Did you make those aluminium parts or have them machined for you?

                  Ian
                  https://somei3deas.wordpress.com/
                  https://www.youtube.com/@deckingman

                  1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @curlypaul
                    last edited by

                    @curlypaul Back on topic - might be best if you post your config.g and homing files.

                    Ian
                    https://somei3deas.wordpress.com/
                    https://www.youtube.com/@deckingman

                    1 Reply Last reply Reply Quote 0
                    • curlypaulundefined
                      curlypaul
                      last edited by curlypaul

                      Thankyou - I'll take that from seeing your build 🙂

                      All machined at work, it's meant to be a toolchanger at some point also - that was the original plan

                      It's sister machine has been running since last november, but only as a single head, but as with everything, life and work get in the way 😞

                      1 Reply Last reply Reply Quote 0
                      • curlypaulundefined
                        curlypaul
                        last edited by

                        Here we go, only using stall for homing at present for getting it going

                        config.g

                        G90                                             ; send absolute coordinates...
                        M83                                             ; ...but relative extruder moves
                        M550 P"Dual Head"                               ; set printer name
                        
                        M669 K8                                         ; select CoreXYUV mode
                        
                        ; Network
                        M552 S1                                         ; enable network
                        M586 P0 S1                                      ; enable HTTP
                        M586 P1 S0                                      ; disable FTP
                        M586 P2 S0                                      ; disable Telnet
                        
                        ; Drives
                        M569 P0 S1	                                    ; X physical drive 0 goes forwards
                        M569 P1 S1                                      ; Y physical drive 1 goes forwards
                        M569 P2 S1                                     ; Z physical drive 2 goes forwards
                        M569 P3 S0                                      ; U physical drive 3 goes forwards
                        M569 P4 S1                                      ; V physical drive 4 goes forwards
                        M569 P5 S1                                      ; E0 physical drive 0 goes forwards
                        M569 P6 S1                                      ; E1 physical drive 1 goes forwards
                        
                        M584 X0 Y1 U3 V4 Z2 E5:6 P4                           	; set drive mapping
                        M350 X16 Y16 U16 V16 Z16 E16:16 I1                      ; configure microstepping with interpolation
                        M92 X160 Y160 U160 V160 Z2560 E420:420     				; set steps per mm
                        M566 X1200 Y1200 U1200 V1200 Z12 E120:120						    ; set maximum instantaneous speed changes (mm/min)
                        M203 X9000 Y9000 U9000 V9000 Z360 E1200:1200			; set maximum speeds (mm/min)
                        M201 X1000 Y1000 U1000 V1000 Z500 E250:250      		; set accelerations (mm/s^2)
                        M906 X1400 Y1400 U1400 V1400 Z1400 E1200:1200 I30       ; set motor currents (mA) and motor idle factor in per cent
                        M84 S30                                         		; Set idle timeout
                        
                        ; Axis Limits
                        M208 X-5 Y-5 U-5 V-5 Z0 S1                            ; set axis minima
                        M208 X400 Y350 U400 V350 Z300 S0                          ; set axis maxima
                        
                        ; Endstops
                        M574 X1 Y1 U1 V1 S3                                   ; set endstops controlled by motor stall detection
                        M574 Z1 S2                                      ; set endstops controlled by probe
                        
                        ; Z-Probe
                        M307 H3 A-1 C-1 D-1                             ; disable heater on PWM channel for BLTouch
                        M558 P9 H5 F120 T9000                           ; set Z probe type to bltouch and the dive height + speeds
                        G31 P500 X0 Y0 Z2.5                             ; set Z probe trigger value, offset and trigger height
                        M557 X-35:215 Y-45:195 S20                      ; define mesh grid
                        
                        ; Heaters
                        M307 H0 B0 S1.00                                ; disable bang-bang mode for the bed heater and set PWM limit
                        M305 P0 T100000 B4138 R4700                     ; set thermistor + ADC parameters for heater 0
                        M143 H0 S90                                     ; set temperature limit for heater 0 to 90C
                        M305 P1 T100000 B4138 R4700                     ; set thermistor + ADC parameters for heater 1
                        M143 H1 S280                                    ; set temperature limit for heater 1 to 280C
                        M305 P2 T100000 B4138 R4700                     ; set thermistor + ADC parameters for heater 2
                        M143 H2 S280                                    ; set temperature limit for heater 2 to 280C
                        
                        ; Fans
                        M106 P0 S0 I0 F50 H-1                           ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                        M106 P1 S1 I0 F50 H1 T45                        ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                        M106 P2 S1 I0 F50 H2 T45 X125                     ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
                        M106 P3 S1 I0 F50 H-1                           ; set fan 3 value, PWM signal inversion and frequency. Thermostatic control is turned off
                        
                        ; Tools
                        M563 P0 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
                        M563 P1 D1 H2 F3 X3                              ; 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
                        
                        

                        homeu.g

                        M400 			; make sure everything has stopped before we make changes
                        G4 P100			; wait 400ms
                        M574 U1 V1 S3 		; set endstops to use motor stall
                        
                        M913 U50 V50		; drop motor currents to 50%
                        M915 H200 U V S3 R0 F0 	; set X and Y to sensitivity 3, do nothing when stall, unfiltered
                        
                        G91
                        G1 H2 Z5 F9000    ; lift Z relative to current position
                        G1 H1 U705 F4000 ; move quickly to X axis endstop and stop there (first pass)
                        G1 H2 U-6 F5000    ; go back a few mm
                        G1 H1 U705 F3000  ; move slowly to X axis endstop once more (second pass)
                        G1 H2 Z-5 F9000   ; lower Z again
                        
                        G92 U400
                        
                        M400 			; make sure everything has stopped before we reset the motor currents
                        G4 P100			; wait 400ms
                        M913 U100 V100 		; motor currents back to 100%
                        
                        M574 U1 S0 		; Define active low and unused microswitches
                        
                        G1G91U-5.F5000
                        

                        homex.g

                        M400 			; make sure everything has stopped before we make changes
                        G4 P100			; wait 400ms
                        M574 X1 Y1 S3 		; set endstops to use motor stall
                        
                        M913 X50 Y50		; drop motor currents to 50%
                        M915 H200 X Y S3 R0 F0 	; set X and Y to sensitivity 3, do nothing when stall, unfiltered
                        
                        G91
                        G1 H2 Z5 F9000    ; lift Z relative to current position
                        G1 H1 X-705 F4000 ; move quickly to X axis endstop and stop there (first pass)
                        G1 H2 X6 F5000    ; go back a few mm
                        G1 H1 X-705 F3000  ; move slowly to X axis endstop once more (second pass)
                        G1 H2 Z-5 F9000   ; lower Z again
                        
                        G92 X0
                        
                        M400 			; make sure everything has stopped before we reset the motor currents
                        G4 P100			; wait 400ms
                        M913 X100 Y100 		; motor currents back to 100%
                        
                        M574 X1 S0 		; Define active low and unused microswitches
                        
                        G1G91X5.F5000
                        
                        G90  
                        

                        homey.g

                        G91              ; relative positioning
                        
                        M400 			; make sure everything has stopped before we make changes
                        M574 X1 Y1 S3 		; set endstops to use motor stall
                        
                        
                        M913 X40 Y40		; drop motor currents to 25%
                        M915 H200 X Y S3 R0 F0 	; set X and Y to sensitivity 3, do nothing when stall, unfiltered
                        
                        G1 H2 Z5 F9000    ; lift Z relative to current position
                        
                        G1 S1 Y-700 F4000        	; move all carriages up 700mm, stopping at the endstops
                        G1 Y5
                        G92 Y0
                        
                        G4 X2000
                        
                        G1 S1 Y-700 F4000        	; move all carriages up 700mm, stopping at the endstops
                        G1 Y5
                        G92 Y0
                        
                        G1 H2 Z-5 F9000   ; lower Z again
                        
                        
                        G90 			; back to absolute positioning
                        
                        M400 			; make sure everything has stopped before we reset the motor currents
                        G4 P100			; wait 400ms
                        M913 X100 Y100 		; motor currents back to 100%
                        
                        M574 Y1 S0 		; Define active low and unused microswitches
                        
                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @curlypaul
                          last edited by

                          @curlypaul I have an idea but I might be on the wrong track. I need to clarify a few things in my mind - bear with me.

                          Looking at your rig, I'm assuming that you just have one gantry that moves towards the back and front and that on that gantry you have two independent heads that move left to right yes? If so, then and Y and V are common but X and U are separate yes?

                          You are homing X to the left but U to the right yes?

                          But you have all the end stops set to the low end (M574). So what I think you might need to do is change the U end stop to be at the high end (change M574 U1 to U2). But then you'll need to change the motor directions as well (I think - because you say that it currently homes correctly but we need to change the endstop from being low end to high end). Maybe David can confirm or otherwise.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 0
                          • curlypaulundefined
                            curlypaul
                            last edited by

                            I noticed the U was U1 not U2 after I posted the code - changed to U2 still the same

                            Everything else you typed was correct

                            deckingmanundefined 1 Reply Last reply Reply Quote 0
                            • deckingmanundefined
                              deckingman @curlypaul
                              last edited by deckingman

                              @curlypaul You've got a couple of M574s in your home U as well as in config.g. Do they now all match?

                              Ian
                              https://somei3deas.wordpress.com/
                              https://www.youtube.com/@deckingman

                              curlypaulundefined 1 Reply Last reply Reply Quote 0
                              • curlypaulundefined
                                curlypaul @deckingman
                                last edited by

                                @deckingman Yes - Both U2

                                deckingmanundefined 1 Reply Last reply Reply Quote 0
                                • deckingmanundefined
                                  deckingman @curlypaul
                                  last edited by

                                  @curlypaul I've just re-read you post - lack of caffeine on my part - it's Y that you are having problems with not U. So you can home Y fine but you can't move Y "normally". That's a bit puzzling. My printer is a bit different because I have two completely separate gantries (actually 3 because it's now CoreXYUVAB) but what I have to do is map the motors to individual axes for homing, then combine them for "normal" movement. So maybe what you need to do is, after homing Y combine the Y and V motors. So send M584 Y1:4. if that works, then change your config.g to be M584 X0 Y1:4 U3 V4 Z2 E5:6 (not sure about the "P" - maybe leave it as 4). That might work (no guarantees) ☺

                                  Ian
                                  https://somei3deas.wordpress.com/
                                  https://www.youtube.com/@deckingman

                                  curlypaulundefined 1 Reply Last reply Reply Quote 0
                                  • curlypaulundefined
                                    curlypaul @deckingman
                                    last edited by

                                    @deckingman - can't hurt to try ! - thank you for taking the time 👍

                                    1 Reply Last reply Reply Quote 0
                                    • curlypaulundefined
                                      curlypaul
                                      last edited by curlypaul

                                      Well, that made for some strange movements

                                      So, I can home X, Y and then U - all fine then if I try to move Y it doesn't move correctly and the belts/motors make angry noises (Sorry - I spent ages thinking of a better description)
                                      Yet X and U still move correctly

                                      From a fresh power on situation, if I send M564 H0,same as homing, again x moves okay, y moves okay, u moves okay. Go back to y - angry noises again
                                      If I move x, then u - all okay but then if I move Y - it doesn't like it

                                      deckingmanundefined 1 Reply Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman @curlypaul
                                        last edited by deckingman

                                        @curlypaul "Angry noises" is nicely descriptive. 🙂 It seems that the motors are fighting against each other - or maybe one or more is stationary.

                                        I'm looking at your home Y file and trying to figure out what's different between a G1 Y move there and a G1 Y move outside of home Y. 2 things leap out at me (but I'm not sure how it helps).

                                        Firstly, you seem to have a scattering of "G1 S1" moves in amongst the "G1 H2s". So you ought to correct them (edit - change them from S1 to H1).

                                        Secondly H1 and H2 moves select individual motor mode. So I'm guessing that if you send G1 H2 Ynn it will work, but if you send G1 Ynn (without the "H") you'll get "angry noises". Can you check if that's the case?

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

                                        curlypaulundefined 1 Reply Last reply Reply Quote 0
                                        • curlypaulundefined
                                          curlypaul @deckingman
                                          last edited by

                                          @deckingman - I didn't spot the S1 in HomeY, That's gone now - still the same

                                          In the meantime, I thought I'd try swapping the carriages - so U is now RH / X LH still the same issue

                                          It's really baffling me, all axis move the correct way and amount on their own, just whenever need to 'mix' axes (if that makes sense) Y goes wrong.

                                          I unhid V and sent a M564 H0. U and V move correct ways and I can then move X try and move Y .... angry noises

                                          I reset... I move X,U and Y, and X,Y and U try and move V - angry noises 😞

                                          1 Reply Last reply Reply Quote 0
                                          • curlypaulundefined
                                            curlypaul
                                            last edited by

                                            Endeavoured to make a video of whats going on..

                                            https://youtu.be/z0dNBMlm_lQ

                                            This is with carriages swapped from original - as mentioned in previous post

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