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

Never Printing Flat

Scheduled Pinned Locked Moved
Tuning and tweaking
2
15
497
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.
  • undefined
    Adam_Sw3
    last edited by 30 Jan 2023, 20:26

    Hi All,

    I was just wondering if anyone would be able to help me.

    I can never seem to get a nice flat initial printing layer, I have EZABL and have calibrated it as the guide says.

    I have been going at this for around a month now and I cannot seem to get a good first layer, one side of my print is too close to bed and the other is too far away,

    I then had the idea to do some Z probes around the bed to see what the variation was. Please see my attached readouts from both left and right-hand sides. Does anyone know what is causing this, and if so, how would I fix it and ensure that my probing figures are correct all around my plate?

    cf1db343-efa7-4b61-b415-93da62676b47-image.png

    Thank you.

    1 Reply Last reply Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by 30 Jan 2023, 21:25

      That's a pretty big difference in trigger height. That may indicate the probe is tilting as it moves in XY.

      What kind of printer is this? Can you give some more details? How is the Z axis arranged? How do you home? Are you doing manual leveling as well?

      How is the probe mounted?

      Please share your config.g, homing files, and bed.g

      Please send M122 and M98 P"config.g" and copy and paste the results here.

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined undefined 2 Replies Last reply 30 Jan 2023, 21:48 Reply Quote 1
      • undefined
        Adam_Sw3 @Phaedrux
        last edited by 30 Jan 2023, 21:48

        @Phaedrux Hi there,

        Yes, I thought the same!! This is my own built 3D printer and the layout of the Z axis is a triangular shape using 3 lead screws at each point in a symmetrical triangle. I don't think it's the probe as the probe cable is fixed locally to it ensuring it is static. I home XY at end of travel and Z in the centre of the bed. The probe is mounted using its standard hole mount with 2 nuts.

        Would ABL solve this? or even true bed levelling?

        Home all code:

        G91 ; relative positioning
        G1 H2 Z5 F6000 ; lift Z relative to current position
        G1 H1 X-555 Y-415 F1800 ; move quickly to X or Y endstop and stop there (first pass)
        G1 H1 X-555 ; home X axis
        G1 H1 Y-415 ; home Y axis
        G1 X5 Y5 F6000 ; go back a few mm
        G1 H1 X-555 F360 ; move slowly to X axis endstop once more (second pass)
        G1 H1 Y-415 ; then move slowly to Y axis endstop
        G90 ; absolute positioning
        G1 X270 Y180 F6000 ; go to first bed probe point and home Z
        ;G1 X-20 Y10 F6000 ; go to first bed probe point and home Z
        G30 ; home Z by probing the bed

        config.g

        G90 ; send absolute coordinates...
        M83 ; ...but relative extruder moves
        M550 P"Printer" ; set printer name
        M669 K1 ; select CoreXY 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 ; physical drive 0 goes forwards
        M569 P1 S1 ; physical drive 1 goes forwards
        M569 P2 S1 ; physical drive 2 goes forwards
        M569 P3 S1 ; physical drive 3 goes forwards
        M569 P4 S0 ; physical drive 4 goes forwards - E1
        M584 X0 Y1 Z2:5:4 E3 ; set drive mapping
        M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
        M92 X80.00 Y80.00 Z1066.67 E446.8 ; set steps per mm
        M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
        M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
        M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
        M906 X1500 Y1500 Z1500 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent
        M84 S30 ; Set idle timeout
        ; Axis Limits
        M208 X0 Y0 Z0 S1 ; set axis minima
        M208 X550 Y410 Z500 S0 ; set axis maxima
        ; Endstops
        M574 X1 S1 P"!xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
        M574 Y1 S1 P"!ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
        M574 Z1 S2 ; configure Z-probe endstop for low end on Z
        ; Z-Probe
        M558 P1 C"!zprobe.in" H10 F240 T6000 ; set Z probe type to unmodulated and the dive height + speeds
        G31 P500 X35 Y0 Z5.7 ; set Z probe trigger value, offset and trigger height
        M557 X15:525 Y10:400 S50 ; define mesh grid
        ; Heaters
        M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
        M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
        M307 H0 R0.310 K0.291:0.000 D1.41 E1.35 S1.00 B0 ; enable bang-bang mode for the bed heater and set PWM limit
        M140 H0 ; map heated bed to heater 0
        M143 H0 S120 ; set temperature limit for heater 0 to 120C
        M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
        M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
        M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
        M143 H1 S300 ; set temperature limit for heater 1 to 300C
        ; Fans
        M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
        M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
        M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
        M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
        ; Tools
        M563 P0 S"MATERIAL 1" 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 S"MATERIAL 2" D0 H1 F0 ; 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

        bed.g

        G28 ; home
        G30 P0 X50 Y410 Z-99999 ; probe near a leadscrew, half way along Y axis
        G30 P1 X550 Y410 Z-99999 ; probe near a leadscrew and calibrate
        G30 P2 X275 Y3 Z-99999

        M122:

        === Diagnostics ===
        RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.4 (2022-10-20 16:17:41) running on Duet WiFi 1.02 or later
        Board ID: 08DGM-917NK-F23T0-6JKDJ-3SD6N-TDBJF
        Used output buffers: 1 of 26 (13 max)
        === RTOS ===
        Static ram: 23860
        Dynamic ram: 75216 of which 0 recycled
        Never used RAM 12932, free system stack 116 words
        Tasks: NETWORK(notifyWait,14.0%,237) HEAT(notifyWait,0.0%,333) Move(notifyWait,0.0%,294) MAIN(running,85.9%,458) IDLE(ready,0.1%,30), total 100.0%
        Owned mutexes: WiFi(NETWORK)
        === Platform ===
        Last reset 00:37:27 ago, cause: software
        Last software reset at 2023-01-30 21:01, reason: User, GCodes spinning, available RAM 12932, slot 2
        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
        Error status: 0x00
        Step timer max interval 0
        MCU temperature: min 33.0, current 34.6, max 37.3
        Supply voltage: min 23.9, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
        Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
        Events: 0 queued, 0 completed
        Driver 0: standstill, SG min 0
        Driver 1: standstill, SG min 0
        Driver 2: standstill, SG min 0
        Driver 3: standstill, SG min n/a
        Driver 4: standstill, SG min 0
        Driver 5:
        Driver 6:
        Driver 7:
        Driver 8:
        Driver 9:
        Driver 10:
        Driver 11:
        Date/time: 2023-01-30 21:39:08
        Cache data hit count 4294967295
        Slowest loop: 34.57ms; fastest: 0.18ms
        I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
        === Storage ===
        Free file entries: 10
        SD card 0 detected, interface speed: 20.0MBytes/sec
        SD card longest read time 7.7ms, write time 1.1ms, max retries 0
        === Move ===
        DMs created 83, segments created 3, maxWait 418264ms, bed compensation in use: mesh, comp offset 0.000
        === MainDDARing ===
        Scheduled moves 250, completed 250, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
        === AuxDDARing ===
        Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
        === Heat ===
        Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
        === GCodes ===
        Segments left: 0
        Movement lock held by null
        HTTP is idle in state(s) 0
        Telnet is idle in state(s) 0
        File is idle in state(s) 0
        USB is idle in state(s) 0
        Aux is idle in state(s) 0
        Trigger is idle in state(s) 0
        Queue is idle in state(s) 0
        LCD is idle in state(s) 0
        Daemon is idle in state(s) 0
        Autopause is idle in state(s) 0
        Code queue is empty
        === Network ===
        Slowest loop: 97.08ms; fastest: 0.00ms
        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
        HTTP sessions: 1 of 8
        = WiFi =
        Network state is active
        WiFi module is connected to access point
        Failed messages: pending 0, notready 0, noresp 0
        WiFi firmware version 1.27
        WiFi MAC address b4:e6:2d:53:0c:f9
        WiFi Vcc 3.37, reset reason Turned on by main processor
        WiFi flash size 4194304, free heap 24528
        WiFi IP address 192.168.1.247
        WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem
        Clock register 00002002
        Socket states: 0 0 0 0 0 0 0 0

        M98 Returns an error?

        M98
        Error: M98: No P or R parameter

        Thank you for your help, any help in getting to the bottom of this would be greatly appreciated.

        Kind Regards,
        Adam

        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator @Phaedrux
          last edited by 30 Jan 2023, 21:50

          @Phaedrux said in Never Printing Flat:

          M98 P"config.g"

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 1
          • undefined
            Phaedrux Moderator
            last edited by 30 Jan 2023, 21:51

            Have you tried setting up automatic leveling?

            https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 30 Jan 2023, 21:58 Reply Quote 1
            • undefined
              Adam_Sw3 @Phaedrux
              last edited by 30 Jan 2023, 21:58

              @Phaedrux oooh, what does M98 do?

              Is automatic levelling different to ABL? Like the one seen in my bed.g file?

              undefined 1 Reply Last reply 31 Jan 2023, 01:13 Reply Quote 0
              • undefined
                Phaedrux Moderator @Adam_Sw3
                last edited by 31 Jan 2023, 01:13

                @Adam_Sw3 said in Never Printing Flat:

                what does M98 do?

                It calls a macro to run. M98 P"config.g" will call config.g to run as it does on startup, but since the system is already running it can catch syntax errors that might otherwise get missed at startup.

                @Adam_Sw3 said in Never Printing Flat:

                Is automatic levelling different to ABL? Like the one seen in my bed.g file?

                No its the same thing but your bed.g appears to be missing the S parameter on the last probe point to do the calculation, but maybe that's just a copy and paste error?

                Z-Bot CoreXY Build | Thingiverse Profile

                undefined 3 Replies Last reply 31 Jan 2023, 09:52 Reply Quote 1
                • undefined
                  Adam_Sw3 @Phaedrux
                  last edited by 31 Jan 2023, 09:52

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Adam_Sw3 @Phaedrux
                    last edited by 31 Jan 2023, 09:54

                    @Phaedrux Thank you for this! I will read through the documentation! Hopefully this should solve it!

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Adam_Sw3 @Phaedrux
                      last edited by 2 Feb 2023, 20:01

                      @Phaedrux Hi There, I have just had a crack at this tonight and I am getting an error "Some computed corrections exceed configured limit of 0.50mm: -0.487 5.186 -8.188" I understand that this is out of the tolerance for the machine to avoid it damaging itself.

                      I am thinking that the way I have wired it up may be the issue, 2 Z's are connected to both Z drivers. and the other "Z driver" is connected to E0. I, therefore, believe the 2 Z's arent independent. Is this the case or are they individually addressable?

                      Thank you.

                      undefined 1 Reply Last reply 2 Feb 2023, 20:04 Reply Quote 0
                      • undefined
                        Phaedrux Moderator @Adam_Sw3
                        last edited by 2 Feb 2023, 20:04

                        @Adam_Sw3 said in Never Printing Flat:

                        Some computed corrections exceed configured limit of 0.50mm

                        You can adjust the tolerance in the M671 S parameter.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        undefined 1 Reply Last reply 2 Feb 2023, 20:05 Reply Quote 1
                        • undefined
                          Adam_Sw3 @Phaedrux
                          last edited by 2 Feb 2023, 20:05

                          @Phaedrux to like +-10mm?! Are the dual Z's independent?

                          undefined 1 Reply Last reply 2 Feb 2023, 20:13 Reply Quote 0
                          • undefined
                            Phaedrux Moderator @Adam_Sw3
                            last edited by 2 Feb 2023, 20:13

                            @Adam_Sw3 said in Never Printing Flat:

                            to like +-10mm?!

                            Well you'll have to determine what a safe amount of movement is to prevent damage. However, the whole point of the feature is to reduce the difference between the points, so it should be bringing things closer to spec.

                            I would suggest trying 2 or 3mm and manually leveling the sides to begin with. Then there shouldn't be much of a difference between the sides and only a small amount of correct would be needed.

                            @Adam_Sw3 said in Never Printing Flat:

                            2 Z's are connected to both Z drivers. and the other "Z driver" is connected to E0. I, therefore, believe the 2 Z's arent independent. Is this the case or are they individually addressable?

                            I'm not exactly sure I follow. Which motors are wired where? The Z driver on the Duet 2 board is a single driver. The two ports for that driver are wired in series. So to use independent control each motor must have it's own driver.

                            From your config.g I see your driver mapping is a little wrong.

                            M584 X0 Y1 Z2:5:4 E3

                            There are only 5 drivers on the Duet, but you have 6 mapped. There is no driver 5, only 0,1,2,3,4.

                            So you can't actually do 3 motor leveling (and still have an extruder) on a duet 2 without either a Duex or external driver expansion.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 1
                            • undefined
                              Adam_Sw3
                              last edited by 2 Feb 2023, 21:16

                              @Phaedrux Ohhhhh!! I am misunderstood sorry about that. Yes it is massively better now thank you and watching it in action is extremely awesome!

                              Yes my fault, I don't know why I stuck 5 in there!! I have since removed that now. Thanks for your help!

                              Cheers!

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                Phaedrux Moderator
                                last edited by 2 Feb 2023, 21:55

                                Well how many Z motors do you have?

                                Z-Bot CoreXY Build | Thingiverse Profile

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