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

    Print not starting in center of bed. Incorrect setting?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    8
    1.1k
    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.
    • titanhuskerundefined
      titanhusker
      last edited by

      When save a print from the slicer, it located in the middle of the bed. All of the specs are correct in the slicer, upload the .gcode and run the print, the print starts off center, closer the Y low end side. Here is a couple of my config files, do I have something set wrong? The bed is 300 x 200, with a piece of glass that it is probably 280 x 180.

      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool on Sat Aug 04 2018 20:07:02 GMT-0500 (CDT)
      M561 ; clear any bed transform
      ; Probe the bed at 4 points
      G30 P0 X15 Y15 H0 Z-99999
      G30 P1 X15 Y175 H0 Z-99999
      G30 P2 X280 Y175 H0 Z-99999
      G30 P3 X280 Y15 H0 Z-99999 S

      ; Configuration file for Duet WiFi (firmware version 1.19.2)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool on Sun Aug 05 2018 14:15:49 GMT-0500 (Central Standard Time)

      ; General preferences
      M111 S0 ; Debugging off
      G21 ; Work in millimetres
      G90 ; Send absolute coordinates...
      M83 ; ...but relative extruder moves
      M555 P2 ; Set firmware compatibility to look like Marlin

      M667 S1 ; Select CoreXY mode
      M208 X0 Y0 Z0 S1 ; Set axis minima
      M208 X280 Y221 Z300 S0 ; Set axis maxima

      ; Endstops
      M574 X1 Y2 Z1 S0 ; Define active low and unused microswitches

      ; Drives
      M569 P0 S0 ; Drive 0 goes forwards
      M569 P1 S0 ; Drive 1 goes forwards
      M569 P2 S0 ; Drive 2 goes forwards
      M569 P3 S1 ; Drive 3 goes backwards
      M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
      M92 X100 Y100 Z400 E148 ; Set steps per mm
      M566 X600 Y600 Z24 E300 ; Set maximum instantaneous speed changes (mm/min)
      M203 X30000 Y30000 Z300 E1500 ; Set maximum speeds (mm/min)
      M201 X2000 Y2000 Z100 E4000 ; Set accelerations (mm/s^2)
      M906 X800 Y800 Z1200 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Heaters
      M143 S250 ; Set maximum heater temperature
      M305 P0 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 0
      M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1

      ; 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

      ; Network
      M552 S1 ; Turn network on
      M550 PDuet ; Set machine name
      M552 P172.16.0.28
      M586 P0 S1 ; Enable HTTP
      M586 P1 S0 ; Disable FTP
      M586 P2 S1 ; Enable Telnet

      ; Fans
      ; Fan 0 is used as the part cooling fan for tool 0 (see M563 in the Tools section above)
      M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 (hotend) value, PWM signal inversion and frequency. Thermostatic control is turned on.
      ; Fan 1 not connected
      ; Fan 3 not connected

      ; Custom settings are not configured

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool on Sun Jun 18 2017 14:15:49 GMT+0300 (FLE Standard Time)

      ; Relative positioning
      G91

      ; Lift Z
      G1 Z5 F6000

      ; Course home X or Y
      G1 X-280 Y215 F3000 S1
      ; Course home X
      G1 X-280 F3000 S1
      ; Course home Y
      G1 Y221 F3000 S1

      ; Move away from the endstops
      G1 X5 Y-5 F6000

      ; Fine home X
      G1 X-280 F200 S1
      ; Fine home Y
      G1 Y221 F200 S1

      ; move Z down until the switch triggers
      G1 Z-300 S1 F400

      ; back to absolute mode
      G90

      ; homex.g
      ; called to home the X axis
      ;
      ; generated by RepRapFirmware Configuration Tool on Sun Jun 18 2017 14:15:49 GMT+0300 (FLE Standard Time)

      ; Lift Z relative to current position
      G91
      G1 Z5 F6000
      G90

      ; Move quickly to X axis endstop and stop there (first pass)
      G1 X-290 F3000 S1

      ; Go back a few mm
      G91
      G1 X5 F6000
      G90

      ; Move slowly to X axis endstop once more (second pass)
      G1 X-290 F360 S1

      ; Lower Z again
      G91
      G1 Z-5 F6000
      G90

      ; homey.g
      ; called to home the Y axis
      ;
      ; generated by RepRapFirmware Configuration Tool on Sun Jun 18 2017 14:15:49 GMT+0300 (FLE Standard Time)

      ; Lift Z relative to current position
      G91
      G1 Z5 F6000
      G90

      ; Move quickly to Y axis endstop and stop there (first pass)
      G1 Y221 F3000 S1

      ; Go back a few mm
      G91
      G1 Y-5 F6000
      G90

      ; Move slowly to X axis endstop once more (second pass)
      G1 Y221 F360 S1

      ; Lower Z again
      G91
      G1 Z-5 F6000
      G90

      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool on Sun Jun 18 2017 14:15:49 GMT+0300 (FLE Standard Time)

      G91 ; relative mode
      G1 Z4 F3000 ; raise head 4mm to ensure it is above the switch trigger height
      G90 ; back to absolute mode
      G1 X0 Y215 F5000 ; put head wherever you want it to be when you home Z (omit this line if it doesn't matter)
      G91 ; relative mode
      G1 Z-300 S1 F400 ; move Z down until the switch triggers
      G90 ; back to absolute mode

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

        I think what you're running into here is the difference between the size of the bed and the location of the end stops.

        You say your bed is 300x200 with 280x180 piece of glass on it. Then in your config you have your axis minima and maxima set as

        M208 X0 Y0 Z0 S1 ; Set axis minima
        M208 X280 Y221 Z300 S0 ; Set axis maxima
        

        I'm guessing the endstop where the 0 coordinate lies is actually off the edge of the glass. You'll need to compensate for this in one of two ways.

        1. measure the true length of the axis from endstop trigger to extent of physical motion at the other end. Then measure the distance between endstop trigger and the edge of where the printable surface actually starts. Where the print surface starts is actually your 0 point, and everything from there to the endstop can be treated as a negative value. So if the endstop is 10mm away from the print surface, use -10 as your axis minima. That way the 0 point set in your slicer will start on the print surface rather than at the endstop.

        2. Depending on the slicer you can set an offset there so it knows that your 0,0 origin is actually some distance from the endstop. How this is done varies by slicer.

        Here's a blog post that goes into it a little more detail. https://drmrehorst.blogspot.com/2017/08/setting-up-corexy-printers-origin-and.html

        and here's one that goes even further and goes for option 3, which sets the center of the bed as 0,0 which makes it slicer agnostic. https://drmrehorst.blogspot.com/2018/07/ummd-better-way-to-set-up-origin-and.html

        Hope this helps.

        Z-Bot CoreXY Build | Thingiverse Profile

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

          You say the bed size is 300 X 200 with piece of glass that is 280 X 180. Yet you've set the axis Maxima to be 280 X 221. That's 41mm wider than the piece of glass you are printing on. So the centre for Y will be about 110mm yet the physical centre is only 90 mm
          Edit. Was typing at the same time as the other poster.

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

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

            @deckingman Sorry Ian, I guess I should leave some for the rest of you. 😜

            Z-Bot CoreXY Build | Thingiverse Profile

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

              @phaedrux said in Print not starting in center of bed. Incorrect setting?:

              @deckingman Sorry Ian, I guess I should leave some for the rest of you. 😜

              No you carry on. I'm just finishing my coffee then I'll be off to work.😉

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

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

                @deckingman No can do, it's time for bed, someone else will have to pick up the slack.

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  I have set the M208 limits on all my printers so that X=0 Y=0 is at the centre of the bed. Then I can always slice with the print centred at (0,0) in the slicer, and I can run the same GCode files on any of the printers if I'm not too worried about optimising print quality.

                  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
                  • titanhuskerundefined
                    titanhusker @Phaedrux
                    last edited by

                    @phaedrux & @dc42 - Ha, SMH.....seriously sometimes it is obvious and another set of eyes can make you see the problem. I overlooked the small stuff, I changed one line and it is perfectly centered,

                    M208 X300 Y200 Z300 S0 ; Set axis maxima

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