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

    Prints flipped/mirrored

    Scheduled Pinned Locked Moved
    General Discussion
    6
    27
    4.6k
    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.
    • GBusy24undefined
      GBusy24
      last edited by

      dc42, I chose the 1st option you offered. swapped out the X and Y connections only, made adjustments in homeall g and homey g. Now it homes nicely to front left. X+ moves correctly, but for the life of me I can't get Y+, i.e. gantry moving from front to rear, to move appropriately. It's my understanding that I have a total of 4 possible combinations within the M569 command for the X and Y motor configs.(P0-S1/P1-S0) (P0-S1/P1-S1) (P0-S0/P1-S0) (P0-S1/P1-S1) I've tried them all. What am I missing?

      P.S.
      I realize that is your name silk screened on my board, so all of my questions are humbly asked.

      Sincere Thanks!

      No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

      1 Reply Last reply Reply Quote 0
      • GBusy24undefined
        GBusy24
        last edited by

        Here's my config.g Don't laugh too hard…..........; Configuration file for Mini Kossel kit from Think3DPrint3D for testing Duet WiFi

        ; Communication and general
        M111 S0 ; Debug off
        M550 PGBusyDBot ; Machine name and Netbios name (can be anything you like)
        M551 Preprap ; Machine password (used for FTP)
        ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
        M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
        ;*** Wifi Networking
        M552 S1 ; Enable WiFi

        M555 P2 ; Set output to look like Marlin
        M575 P1 B57600 S1 ; Comms parameters for PanelDue

        G21 ; Work in millimetres
        G90 ; Send absolute coordinates...
        M83 ; ...but relative extruder moves

        ; Axis and motor configuration
        M569 P0 S0 ; Drive 0 goes forwards
        M569 P1 S1 ; Drive 1 goes forwards
        M569 P2 S0 ; Drive 2 goes forwards
        M569 P3 S1 ; Drive 3 goes forwards
        M569 P4 S0 ; Drive 4 goes forwards
        M574 X1 Y1 Z1 S0 ; set endstop configuration (all endstops at high end, active high)
        ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
        M667 S1 ; set CoreXY mode
        M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them
        M350 X16 Y16 E16 I1 ; Set 16x microstepping with interpolation
        M92 X80 Y80 Z160 ; Set axis steps/mm
        M906 X800 Y800 Z800 E800 I60 ; Set motor currents (mA) and increase idle current to 60%
        M201 X2000 Y2000 Z100 E4000 ; Accelerations (mm/s^2)
        M203 X30000 Y3000 Z300 E1500 ; Maximum speeds (mm/min)
        M566 X600 Y600 Z24 E300 ; Maximum instant speed changes mm/minute
        M208 X350 Y220 Z300 ; set axis maxima ( adjust to suit your machine)
        M208 X0 Y0 Z0 S1 ; set axis minima ( adjust to make X=0 and Y=0 the edges of the bed)

        ; Thermistors
        M305 P0 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
        M305 P1 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
        M305 P2 T100000 B3974 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
        M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds

        ; Fans
        M106 P1 H-1 ; disable thermostatic mode for fan 1

        ; Tool definitions
        M563 P0 D0 H1 ; Define tool 0
        G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
        ;*** If you have a single-nozzle build, comment the next 2 lines
        ; M563 P1 D1 H2 ; Define tool 1
        ; G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
        M92 E418.5:418.5 ; Set extruder steps per mm

        M307 H0 A125.6 C331.8 D3.8 B0
        M307 H1 A568.7 C235.4 D6.3 B0
        ; Z probe and compensation definition
        ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
        M558 P1 X0 Y0 Z0 ; Z probe is an IR probe and is not used for homing any axes
        G31 X0 Y0 Z4.80 P500 ; Set the zprobe height and threshold (put your own values here)

        ;*** If you are using axis compensation, put the figures in the following command
        M556 S78 X0 Y0 Z0 ; Axis compensation here

        M208 S1 Z-0.2 ; set minimum Z
        ;
        T0 ; select first hot end

        No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

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

          I suggest you put the print head near the middle of the bed, send G91 to enable relative movement, then use G1 S2 commands to move the X and Y motors independently. For example, G1 S2 X10 will move the X motor forwards by 10mm. You are aiming to get the movement specified in the GCode wiki listing for the M667 S1 command:

          Forward movement of the X motor moves the head in the +X and +Y directions. Forward movement of the Y motor moves the head in the -X and +Y directions.

          where +X is to the right and +Y is towards the back.

          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
          • GBusy24undefined
            GBusy24
            last edited by

            I've got the motors moving correctly now i.e. G1 S2 X10 moves print head towards the right and Y towards the rear. G1 S2 Y10 moves print head to the left and Y towards the rear, but right now with what I have set up in my homing files, X and Y make no attempt to move towards the endstops Should I change the Y value in M574 in config.g from Y1 to Y2? I'm just going to paste my homing files here and let you have a look.
            ; homeall file for use with dc42 Duet firmware on CoreXY printers
            ; This file assumes the endstop switches are at the low end of each axis.
            ; Reverse the X and Y movement for high-end switches.
            ; Adjust the bed upper and lower limits in config.g (M208 commands) to get the correct homing positions

            G91 ; relative mode
            G1 S1 X-375 F3000 ; course home X
            G1 X4 F600 ; move away from endstop
            G1 S1 X-10 ; fine home X
            G1 X0 F2000
            G1 S1 Y-220 F3000 ; course home Y
            G1 Y4 F600 ; move away from endstop
            G1 S1 Y-10 ; fine home Y
            G1 Y0 F2000
            G1 S1 Z-350 F200 ; Course home Z
            G1 Z2 F50 ; move away from endstops
            G1 S1 Z-10 ; fine home Z
            G1 Z0 F200

            ; If you are using a microswitch for Z homing, insert similar code for the Z axis here,
            ; but use lower feed rates suitable for your Z axis.

            G90 ; back to absolute mode

            ; If you homed the Z axis using an endstop switch, you can insert a G92 command here to correct the height.

            ; The following code assumes you are using a Z probe to do Z homing. Remove it if you are using a microswitch.
            ; Adjust the XY coordinates in the following to place the Z probe over a suitable spot,
            ; preferably near the centre of the bed if your Z probe supports that

            G1 X100 Y100 F2000
            G30
            ; This file leaves the head at the zprobe trigger height so that you can slip a piece of paper under it and then do G0 Z0 to check the height.
            ; If you prefer to send the printer to X0Y0Z0, un-comment the following lines
            ;G1 X0 Y0 F5000
            ; G1 Z0

            X Homing
            G91
            G1 S1 X-375 F3000
            G1 X4 F600
            G1 S1 X-10
            G1 X0 F2000
            G90

            Y Homing
            G91
            G1 S1 Y-220 F3000
            G1 Y4 F600
            G1 S1 Y-10
            G1 Y0 F2000
            G90

            Z Homing

            G91
            G1 S1 Z-320 F200
            G1 Z2 F50
            G1 S1 Z-10
            G1 Z0 F200
            G90

            No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

            1 Reply Last reply Reply Quote 0
            • lignumaquaundefined
              lignumaqua
              last edited by

              Yes, from how you've described the set up, M574 should be

              [c]M574 X1 Y2 Z1 S0[/c]

              Also, youhave your Y maximum speed set much slower than X. Is that deliberate?

              [c]M203 X30000 Y3000 Z300 E1500 ; Maximum speeds (mm/min)[/c]

              I'd have expected them to match with a CorexXY:

              [c]M203 X30000 Y30000 Z300 E1500 ; Maximum speeds (mm/min)[/c]

              (You also have Z max speed set very slow - 300 mm/min is only 5 mm/sec. But maybe that's right?)

              1 Reply Last reply Reply Quote 0
              • GBusy24undefined
                GBusy24
                last edited by

                Okay, I made the changes you pointed out, but there is something evidently wrong with my homing files that prevents X or Y from approaching the endstops. When I home all, X is going right approx. 200mm, Y goes to front of machine. Neither approaches it's endstop. Z goes to endstop and tries to keep going, ignoring the stop.

                No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

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

                  Do you have movement in the correct directions now, i.e. positive X moves to the right and positive Y moves towards the front back?

                  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
                  • deckingmanundefined
                    deckingman
                    last edited by

                    @GBusy24:

                    I've got the motors moving correctly now i.e. G1 S2 X10 moves print head towards the right and Y towards the rear. G1 S2 Y10 moves print head to the left and Y towards the rear,…...............................

                    That ain't right. If you command the machine to move in the X axis (G1 X10) then there should be no movement of the Y axis. Conversely, if if you command it to move in Y (G10 Y10), there should be no movement in X.

                    So assuming you have configured your printer to work in coreXY mode by having M667 S1 in you config.g, then it seems that you might need to swap the X and Y motor connections (with the power off !!!) then play around with the S values for M569 P0 and P1 until you get the motion correct. You can send M569 commands from the =web interface so no need to keep editing the config.g and restarting every time.

                    Also, just use G1 X10 or G1 Y10 and if you want with S1 to check for end stops. S0 is the default and ignores end stops. S2 I think is only for Delta printers.

                    HTH

                    Ian

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

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

                      Ian, if he is using the S2 modifier then the movements he said are correct. The S2 modifier allows you to control individual motors on both delta and CoreXY printers.

                      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
                      • GBusy24undefined
                        GBusy24
                        last edited by

                        Yes, dc-42 motor directions are correct per the G1 S2 commands I send. Moving X+ manually also goes right by itself and moving Y+ manually sends the gantry away from me by itself. My biggest problem now I feel that I have something terribly wrong in my homing files preventing X and Y from searching out the endstops. I realize that I don't have the correct Y homing position entered at the moment. I believe per a previous conversation we had that it needs to be set to a positive number that correlates to front of bed. I've just gotten really hung up on why it wont search out the X and Y endstops per my homing at the moment. If I hit homeall right now, X travels 10mm to the right from whichever current position it's in and Y moves directly forward from the new X position and stops at the front of the bed. Z goes to the endstop, ignores it and tries to keep going.

                        No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

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

                          Sorry, my bad - just what I read here http://reprap.org/wiki/G-code#G0_.26_G1:_Move only mentions Deltas' not coreXY.

                          Anyway, I'm a bit confused. The first post states that homing is to left rear. So if the motors are moving correctly, shouldn't Y+ be moving away from home -i.e. towards the front rather than away towards the rear?

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

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

                            The description of events when you press homeall and looking at your homeall.g fiile, seems to me that the endstops are permanently triggered as if they are wired active high but they are set to active low by using S0 in M574. Also, I'm a bit confused as to what you are using form Z homing. Is it a switch or is it a probe? - you seem to have both in your homeall.g file,

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

                            1 Reply Last reply Reply Quote 0
                            • GBusy24undefined
                              GBusy24
                              last edited by

                              Z homing is endstop switch. It seems to me that regardless of everything, that if I go to the G code console in DWC and send a G1 S1 X-300 command that my X should go to the endstop, but it doesn't. As soon as I send that command, it immediately shows the X being at Home position.Yes, I've been wondering about those Z probe definitions and whether I need to comment them out. I've just had the Z endstop so far, but will be receiving the mini ir probe tomorrow and hope to implement it ASAP.

                              No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

                              1 Reply Last reply Reply Quote 0
                              • GBusy24undefined
                                GBusy24
                                last edited by

                                The config.g towards the top of this thread is outdated. Here's the current….........; CoreXY sample config file for dc42 Duet firmware

                                M111 S0 ; Debug off
                                M550 PDBot CoreXY ; Machine name (can be anything you like)
                                M551 Preprap ; Machine password (used for FTP connections)
                                ns)
                                ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
                                M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
                                ;*** Wifi Networking
                                M552 S1 ; Enable WiFi

                                M555 P2 ; Set output to look like Marlin
                                M575 P1 B57600 S1 ; Comms parameters for PanelDue

                                ; Machine configuration
                                M569 P0 S0 ; Drive 0 goes forwards (change to S0 to reverse it)
                                M569 P1 S1 ; Drive 1 goes forwards
                                M569 P2 S0 ; Drive 2 goes forwards
                                M569 P3 S0 ; Drive 3 goes forwards
                                M569 P4 S1 ; Drive 4 goes forwards
                                ; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
                                M574 X1 Y1 Z1 S1 ; set endstop configuration (X and Y and endstops only, at low end, active high)
                                M667 S1 ; set CoreXY mode
                                M350 X16 Y16 E16 I1 ; Set 16x microstepping with interpolation
                                M92 X80 Y80 Z160 ; Set axis steps/mm
                                M92 E418.5:418.5 ; Set extruder steps/mm
                                M906 X800 Y800 Z1000 E800 ; Set motor currents (mA)
                                M201 X2000 Y2000 Z100 E4000 ; Accelerations (mm/s^2)
                                M203 X30000 Y30000 Z300 E1500 ; Maximum speeds (mm/min)
                                M566 X600 Y600 Z24 E300 ; Maximum jerk speeds mm/minute
                                M208 X300 Y180 Z320 ; set axis maxima (adjust to suit your machine)
                                M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
                                G21 ; Work in millimetres
                                G90 ; Send absolute coordinates...
                                M83 ; ...but relative extruder moves

                                ; Z probe
                                ;M558 P1 X0 Y0 Z1 ; Analog Z probe, also used for homing the Z axis
                                ;G31 Z1.20 P500 ; Set the probe height and threshold (put your own values here)
                                ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
                                ;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
                                ;M557 P0 X60 Y0 ; Four...
                                ;M557 P1 X60 Y165 ; ...probe points...
                                ;M557 P2 X222 Y165 ; ...for bed...
                                ;M557 P3 X222 Y0 ; ...levelling
                                ;M557 P4 X141 Y82.5 ; 5th probe point for levelling

                                ; Thermistors and heaters
                                ;*** You can use S and B parameters to define the parameters of the thermistors you are using
                                M305 P0 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
                                M305 P1 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
                                M305 P2 T100000 B3974 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
                                M301 H1 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 0
                                M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1
                                M570 S120 ; Increase to allow extra heating time if needed

                                ; Tool definition
                                M563 P0 D0 H1 ; Define tool 0
                                G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
                                ;*** If you have a dual-nozzle build, un-comment the following 3 lines
                                ;M563 P1 D1 H2 ; Define tool 1
                                ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures

                                ;*** If you are using axis compensation, put the figures in the following command
                                M556 S78 X0 Y0 Z0 ; Axis compensation here
                                T0 ; select first hot end
                                the current.

                                No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

                                1 Reply Last reply Reply Quote 0
                                • StephenRCundefined
                                  StephenRC
                                  last edited by

                                  You need to use M119 to make sure the endstops are working as expected.

                                  1 Reply Last reply Reply Quote 0
                                  • GBusy24undefined
                                    GBusy24
                                    last edited by

                                    M119 shows;Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: not stopped. My print head is currently near the center of the bed and Z is about 10mm from nozzle.

                                    No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

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

                                      @GBusy24:

                                      M119 shows;Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: not stopped. My print head is currently near the center of the bed and Z is about 10mm from nozzle.

                                      You have your endstops inverted. If they are simple microswitches, rewire them to use the two outer connections on each switch (the normally closed contacts). Otherwise, change S1 to S0 in the M574 command in config.g. See https://duet3d.com/wiki/Connecting_endstop_switches.

                                      Additionally, if your Y endstop is at the back of the printer then it is a max stop not a min stop, and you need to change Y1 to Y2 in your M574 command.

                                      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
                                      • lignumaquaundefined
                                        lignumaqua
                                        last edited by

                                        Endstops triggering all the time means you have the endstops wired (or configured) incorrectly as Deckingman mentioned earlier in this thread. Are they active high or active low? Do you have them wired appropriately? Does the M574 command match? You've posted two different versions of M574 in this thread, one with endstops active high, and one with them active low . Check which is correct as you have the unit wired and make M574 match.

                                        EDIT: What DC42 said…

                                        1 Reply Last reply Reply Quote 0
                                        • GBusy24undefined
                                          GBusy24
                                          last edited by

                                          I wired my endstops per the Duet Wifi wiki:…...................Makerbot Mechanical Endstop v1.2
                                          Thus is a small board holding a microswitch, LED and a few other components. Connect pin 1 of the endstop board to the 3V3 pin on the Duet endstop connector, pin 2 or 3 to Duet endstop connector GND, and pin 4 to Duet endstop connector STP......... This is wrong? My pin 1 is red wire. It's connected to the center pin on board connection. Pin 2 black wire is connected to ground on board. Far right pin on endstop, green is connected to "stop" pin of appropriate board connector. I went by this diagram[https://duet3d.com/wiki/Duet_WiFi_wiring_diagrams]…..... so I guess I need to swap out the positions of the black and green wires from how I have them? Correct?

                                          No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

                                          1 Reply Last reply Reply Quote 0
                                          • GBusy24undefined
                                            GBusy24
                                            last edited by

                                            I'm sorry for any confusion I;ve caused anyone trying to help me. I'm new at this and sincerely appreciate the help. I've made adjustments to the M574 command and M119 now shows all endstops open(not stopped) and I still have correct movement when sending G1 S2's. X homes correctly now also. Only hurdle now is getting Y to home correctly
                                            Once again, I sincerely appreciate everyone's help!

                                            No such thing as spare time. No such thing as free time No such thing as down time. All you got is lifetime. Go!

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