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

Struggling in setting up the bed compensation

Scheduled Pinned Locked Moved
Tuning and tweaking
3
11
386
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
    antoine.voiry
    last edited by 16 Dec 2020, 19:20

    All,
    I am facing an issue. I have adjusted my bed with a caliper and some jig and it appears to be level from left to right. I use a Mini differential IR sensor.
    I have this build surface stick on a glass
    [https://www.amazon.co.uk/gp/product/B07JMT8C9R/ref=ppx_yo_dt_b_asin_title_o04_s02?ie=UTF8&psc=1](link url)

    When I run a G32, my bed look to have the center well above the left and right.
    I created a macro that measure left and right and that gives me the left and right coordinates

    G28 ; home
    G30 P0 X20 Y150 H0 Z-99999 ; probe near a leadscrew
    G30 P1 X165 Y150 H0 Z-99999 S-1 ; probe near a leadscrew
    M84
    G28 ; home
    G30 P0 X20 Y150 H0 Z-99999 ; probe near a leadscrew
    G30 P1 X165 Y150 H0 Z-99999 S-1 ; probe near a leadscrew
    M84

    This gives me

    12/16/2020, 7:05:05 PM M98 P"0:/macros/LEADSCREW"
    G32 bed probe heights: -0.193 -0.174, mean -0.183, deviation from mean 0.010
    12/16/2020, 7:01:26 PM M999
    G32 bed probe heights: -0.258 -0.233, mean -0.246, deviation from mean 0.013

    The heat map looks as follow

    RepRapFirmware height map file v2, min error -0.371, max error 0.133, mean -0.155, deviation 0.220
    xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
    20.00,170.00,20.00,270.00,-1.00,150.00,250.00,2,2
    -0.371, -0.366
    0.133, -0.017

    I can't manage to tweak it. Even, if I manage to get something better, it will fail in next 30 minutes with no print.

    Antoine

    1 Reply Last reply Reply Quote 0
    • undefined
      antoine.voiry
      last edited by 16 Dec 2020, 19:35

      I forgot my settings are as follow
      config

      ; Configuration file for p3STEEL
      ; Communication and general
      M111 S0 ; Debug off
      M550 pp3steel ; Machine name and Netbios name (can be anything you like)
      M552 S1 ; Enable WiFi
      ; misc settings
      M555 P2 ; Set output to look like Marlin
      M575 P1 B57600 S1 ; Comms parameters for PanelDue
      ; setting for all axis
      G21 ; Work in millimeters
      G90 ; Send absolute coordinates...
      M83 ; ...but relative extruder moves
      ; Axis and motor configuration
      M569 P0 S0 ; Drive 0 goes forwards (x)
      M569 P1 S1 ; Drive 1 goes forwards (Y)
      M569 P2 S1 ; Drive 2 goes forwards (z)
      M569 P3 S0 ; Drive 3 goes forwards (e1)
      M569 P4 S1 ; Drive 4 goes forwards (E2)
      ; microstepping and homing switch config
      M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation
      M574 X1 S1 P"!xstop" ; X min active high endstop switch
      M574 Y1 S1 P"!ystop" ; Y min active high endstop switch
      M574 Z1 S1 P"zstop" ; Z min active high endstop switch
      ; Motor current and acceleration
      M906 X1000 Y1200 Z1200 E1200 I30 ; Set motor currents (mA) and increase idle current to 60%
      M84 S60 ; Set idle timeout
      M201 X3000 Y3000 Z15 E3600 ; Accelerations (mm/s^2)
      M203 X6000 Y6000 Z100 E1200 ; feedrate (mm/min)
      M566 X1800 Y1800 Z180 E300 ; Maximum instant speed changes mm/minute
      M210 X5000 Y5000 Z60 ; set hming feedrate
      ; steps per mm
      M92 X79.01 Y76.04 Z3298.92 ; Set axis steps/mm
      M92 E415:415 ; set extruder 0 and 1 steps/mm
      ; Thermistors
      M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 ; define bed temperature sensor
      M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8 ; define E0 temperature sensor
      M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
      M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
      M950 F0 C"fan0" ; Fan 0
      M140 H0 ; the bed heater is heater 0
      M143 H1 S270 ; Set maximum heater temperature to 270C
      M143 H0 S115 ; Set maximum heater temperature to 270C
      ; Tool definitions
      M563 P0 D0 H1 ; Define tool 0 old
      M571 P"e0heat *" S1.0
      G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
      ; Z probe and compensation definition
      M558 P1 C"^zprobe.in" X0 Y0 Z1 H5 F500 T3000 ; smart IR Z probe, used for homing Z axis only, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
      G31 P500 X15 Y3 Z0.40 ; set threshold and offsets (we were at 0.50 BEFORE ADJUSTMENT)
      ;*** If you are using axis compensation, put the figures in the following command
      M556 S78 X0 Y0 Z0 ; Axis compensation here
      M206 X0 Y0 Z0
      M208 X0 Y0 Z0 S1 ; set minimum Z
      ; max travel and origin
      M208 X215 Y310 Z200
      ;
      T0 ; select first hot end
      M570 H1 P20 T30
      ; Miscellaneous
      M501 ; Load saved parameters from non-volatile memory

      bed

      G28 X0 Y0 ; Home All
      G28 Z0 ; Home All
      M561 ; clear any existing bed transform
      M557 X20:170 Y20:270 P2:2
      M376 H3 ;taper off compensation after 3mm
      G29
      G1 X10 Y10 F5000 ; move the head to the corner (optional)
      1 Reply Last reply Reply Quote 0
      • undefined
        Phaedrux Moderator
        last edited by Phaedrux 16 Dec 2020, 21:10

        Can you post your homing files as well?

        Also post the results of M122 and M98 P"config.g" please.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • undefined
          antoine.voiry
          last edited by 16 Dec 2020, 22:55

          @Phaedrux said in Struggling in setting up the bed compensation:

          M122

          Hello
          So
          M122

          M122
          === Diagnostics ===
          RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.0 or 1.01
          Board ID: 08DAM-999TL-MQ4S4-6J1DG-3S46N-TPHRY
          Used output buffers: 3 of 24 (12 max)
          === RTOS ===
          Static ram: 27980
          Dynamic ram: 93788 of which 60 recycled
          Exception stack ram used: 584
          Never used ram: 8660
          Tasks: NETWORK(ready,708) HEAT(blocked,1224) MAIN(running,1904) IDLE(ready,80)
          Owned mutexes: WiFi(NETWORK)
          === Platform ===
          Last reset 03:48:29 ago, cause: software
          Last software reset at 2020-12-16 19:01, reason: User, spinning module GCodes, available RAM 8708 bytes (slot 1)
          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
          Error status: 0
          MCU temperature: min 31.6, current 36.0, max 40.1
          Supply voltage: min 13.3, current 13.9, max 14.1, under voltage events: 0, over voltage events: 0, power good: yes
          Driver 0: ok, SG min/max 0/1023
          Driver 1: ok, SG min/max 0/1023
          Driver 2: ok, SG min/max 155/959
          Driver 3: ok, SG min/max not available
          Driver 4: standstill, SG min/max not available
          Date/time: 2020-12-16 22:49:56
          Cache data hit count 4294967295
          Slowest loop: 87.70ms; fastest: 0.12ms
          I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
          === Storage ===
          Free file entries: 9
          SD card 0 detected, interface speed: 20.0MBytes/sec
          SD card longest read time 1.5ms, write time 9.6ms, max retries 0
          === Move ===
          Hiccups: 0(0), FreeDm: 165, MinFreeDm: 85, MaxWait: 5148849ms
          Bed compensation in use: mesh, comp offset 0.000
          === MainDDARing ===
          Scheduled moves: 3102, completed moves: 3063, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: 3
          === AuxDDARing ===
          Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
          === Heat ===
          Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
          Heater 0 is on, I-accum = 0.0
          Heater 1 is on, I-accum = 0.4
          === GCodes ===
          Segments left: 1
          Movement lock held by null
          HTTP is idle in state(s) 0
          Telnet is idle in state(s) 0
          File is doing "G1 X111.801 Y162.049 E0.0048" 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
          Daemon is idle in state(s) 0
          Autopause is idle in state(s) 0
          Code queue is empty.
          === Network ===
          Slowest loop: 46.35ms; fastest: 0.00ms
          Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
          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.23
          WiFi MAC address 60:01:94:09:bc:4e
          WiFi Vcc 3.44, reset reason Unknown
          WiFi flash size 4194304, free heap 23568
          WiFi IP address 10.0.0.19
          WiFi signal strength -62dBm, reconnections 0, sleep mode modem
          Socket states: 0 0 0 0 0 0 0 0

          M98 P"config.g", I think that shows already some issues. i'll look into that.

          Warning: M210: Command is not supported
          Error: in file macro line 44 column 10: M92: array too long, max length = 1
          Error: Unknown pin name 'e0heat*'
          16/12/2020 à 22:51:22 Error: Heater 2 not found
          Error: Heater 3 not found
          Error: Heater 4 not found
          Error: Heater 5 not found
          Error: Heater 6 not found
          Error: Heater 7 not found

          and last the home file.

          G91 ; relative mode
          G1 Z1 F200 H2 ; raise head 1mm
          G1 X-240 Y-340 F2000 H1 ; move up to 240mm in the -X and -Y directions until the homing switches are triggered
          G1 X4 Y4 F1200 ; move slowly 6mm in +X and +Y directions
          G1 X-5 Y-5 F1000 H1 ; move up to 10mm in the -X and -Y directions until the homing switches are triggered
          G90 ; back to absolute mode
          G1 X105 Y155 F3000
          G30 ; lower head, stop when probe triggered and set Z to trigger height
          1 Reply Last reply Reply Quote 0
          • undefined
            antoine.voiry
            last edited by 16 Dec 2020, 23:13

            I corrected the config.g now looking as follow, but still getting some errors unrelated to my issues.

            ; Configuration file for p3STEEL
            ; Communication and general
            M111 S0 ; Debug off
            M550 pp3steel ; Machine name and Netbios name (can be anything you like)
            M552 S1 ; Enable WiFi
            ; misc settings
            M555 P2 ; Set output to look like Marlin
            M575 P1 B57600 S1 ; Comms parameters for PanelDue
            ; setting for all axis
            G21 ; Work in millimeters
            G90 ; Send absolute coordinates...
            M83 ; ...but relative extruder moves
            ; Axis and motor configuration
            M569 P0 S0 ; Drive 0 goes forwards (x)
            M569 P1 S1 ; Drive 1 goes forwards (Y)
            M569 P2 S1 ; Drive 2 goes forwards (z)
            M569 P3 S0 ; Drive 3 goes forwards (e1)
            M569 P4 S1 ; Drive 4 goes forwards (E2)
            ; microstepping and homing switch config
            M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation
            M574 X1 S1 P"!xstop" ; X min active high endstop switch
            M574 Y1 S1 P"!ystop" ; Y min active high endstop switch
            M574 Z1 S1 P"zstop" ; Z min active high endstop switch
            ; Motor current and acceleration
            M906 X1000 Y1200 Z1200 E1200 I30 ; Set motor currents (mA) and increase idle current to 60%
            M84 S60 ; Set idle timeout
            M201 X3000 Y3000 Z15 E3600 ; Accelerations (mm/s^2)
            M203 X6000 Y6000 Z100 E1200 ; feedrate (mm/min)
            M566 X1800 Y1800 Z180 E300 ; Maximum instant speed changes mm/minute
            ; M210 X5000 Y5000 Z60 ; set hming feedrate
            ; steps per mm
            M92 X79.01 Y76.04 Z3298.92 ; Set axis steps/mm
            ; M92 E415:415 ; set extruder 0 and 1 steps/mm
            M92 E415
            ; Thermistors
            M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 ; define bed temperature sensor
            M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8 ; define E0 temperature sensor
            M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
            M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
            M950 F0 C"fan0" ; Fan 0
            M140 H0 ; the bed heater is heater 0
            M143 H1 S270 ; Set maximum heater temperature to 270C
            M143 H0 S115 ; Set maximum heater temperature to 270C
            ; Tool definitions
            M563 P0 D0 H1 ; Define tool 0 old
            M571 P"e0_heat *" S1.0
            G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
            ; Z probe and compensation definition
            M558 P1 C"^zprobe.in" X0 Y0 Z1 H5 F500 T3000 ; smart IR Z probe, used for homing Z axis only, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
            G31 P500 X15 Y3 Z0.40 ; set threshold and offsets (we were at 0.50 BEFORE ADJUSTMENT)
            ;*** If you are using axis compensation, put the figures in the following command
            M556 S78 X0 Y0 Z0 ; Axis compensation here
            M206 X0 Y0 Z0
            M208 X0 Y0 Z0 S1 ; set minimum Z
            ; max travel and origin
            M208 X215 Y310 Z200
            ;
            T0 ; select first hot end
            M570 H1 P20 T30
            ; Miscellaneous
            M501 ; Load saved parameters from non-volatile memory

            diagnostic
            ```
            M98 P"config.g"
            Error: Unknown pin name 'e0heat*'
            Error: Heater 2 not found
            Error: Heater 3 not found
            Error: Heater 4 not found
            Error: Heater 5 not found
            Error: Heater 6 not found
            Error: Heater 7 not found

            undefined 1 Reply Last reply 17 Dec 2020, 02:52 Reply Quote 0
            • undefined
              Phaedrux Moderator @antoine.voiry
              last edited by 17 Dec 2020, 02:52

              What do you have in config-override.g? I think that is probably where the heater not found is coming from.

              @antoine-voiry said in Struggling in setting up the bed compensation:

              Error: Unknown pin name 'e0heat*'

              Are you still getting that error? It looks like you've changed the pin name?

              @antoine-voiry said in Struggling in setting up the bed compensation:

              I can't manage to tweak it. Even, if I manage to get something better, it will fail in next 30 minutes with no print.

              What do you mean by fail in the next 30 minutes with no print?

              @antoine-voiry said in Struggling in setting up the bed compensation:

                                                                                                                                          G28 X0 Y0     ; Home All                                                                                                                                                                            G28 Z0        ; Home All
              

              You posted homeall, but your bed.g actually called homex homey and homez separately, so please post those files as well.

              What do you have in your slicer start gcode?

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • undefined
                antoine.voiry
                last edited by 17 Dec 2020, 09:41

                Thanks so much!

                The bed probing will be fine, and then I keep the printer on with no print and another bed level will be completely off.

                I am still getting the e0heat error. In the config override, I only have the PID tune, I can post the file if needed.
                I would not be surprised if I have some odd things in the config, I have been tweaking this config for at least 5 years.

                Here is home x

                G91 ; relative mode
                G1 Z1 F600 H2 ; lift Z relative to current position
                G1 X-240 F2000 H1 ; move up to 240mm in the -X direction, stopping if the homing switch is triggered
                G1 X4 F1000 ; move slowly 4mm in the +X direction
                G1 X-5 F1000 H1 ; move slowly 10mm in the -X direction, stopping at the homing switch
                G1 Z1 F200 H2 ; lower the head again
                G90 ; back to absolute mode

                home y

                G91 ; relative mode
                G1 Z0.5 F200 H2 ; lift Z relative to current position
                G1 Y-320 F3000 H1 ; move up to 240mm in the -X direction, stopping if the homing switch is triggered
                G1 Y4 F600 ; move slowly 4mm in the +X direction
                G1 Y-5 F600 H1 ; move slowly 10mm in the -X direction, stopping at the homing switch
                G1 Z-0.5 F200 H2 ; lower the head again
                G90 ; back to absolute mode

                home z

                G91 ; relative mode
                G1 Z5 F200 H2 ; raise head 4mm to ensure it is above the Z probe trigger height
                G90 ; back to absolute mode
                G1 X100 Y150 F3000 ; put head over the centre of the bed, or wherever you want to probe
                G30 ; lower head, stop when probe triggered and set Z to trigger height

                Example start GCODE

                G90
                M83
                M106 S0
                M140 S65
                M190 S65
                ; probe bed
                M300 s1500 p500 ; BIP probe starting
                G32 ;probe bed
                M300 s1500 p500 ; BIP probe ending
                ; probe bed end
                ; set temperature
                M109 S215
                ; wipe extruder sequence
                G1 X15 Y10 Z0.2 F3000 ; avoid binder clips
                G1 X130 E12 F500 ; prime line
                G1 X145 F100 ; slow wipe
                G92 E0 ;zero the extruded length
                ; process P3STEE PLA1.75
                ; layer 1, Z = 0.240
                T0
                G1 E-1.4000 F2100
                ; feature skirt
                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by 17 Dec 2020, 18:23

                  Couple things I notice

                  Your positioning of the probe before sending the G30 is different between homeall and homez. They should match.

                  In your bed.g you specify a taper height of 3mm. That may be pretty tight and can lead to les compensation then expected when printing. Try setting M376 H0 to disable taper entirely and see if it makes a difference.

                  Also, in our bed.g move the M561 to the start of the file before the homing calls.

                  The first time you start a print, it's homing, and then doing the bed mesh. The second time you start a print, the mesh is still active, then you are homing, and then you are canceling the mesh and then creating a new mesh.

                  I think by having the mesh active the second time you home you're throwing off your second mesh creation.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    antoine.voiry
                    last edited by 18 Dec 2020, 12:45

                    Hello
                    i am trying that.
                    Antoine

                    1 Reply Last reply Reply Quote 0
                    • paralepsisundefined
                      paralepsis
                      last edited by 21 Dec 2020, 15:55

                      I'd like to piggyback on this conversation for a moment, if you will humor me. I'm currently using mesh compensation and having pretty good results, but because of two binder clips (front left and back right) I'm missing probing of a couple of strips, leading to I think some very unfortunate interpolation in those regions.

                      I'd like to add some individual probe points in to cover these regions, but @Phaedrux 's comment about having the mesh active has me thinking that this isn't as simple as I would like.

                      Specifically I'd like to (a) cover the majority of the plate with G29, and (b) fill in a few additional spots, presumably with G30. Am I thinking about this the right way, and should I do the G30s first so that the map isn't in place, or am I overthinking it?

                      Thanks!

                      Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

                      undefined 1 Reply Last reply 21 Dec 2020, 17:54 Reply Quote 0
                      • undefined
                        Phaedrux Moderator @paralepsis
                        last edited by 21 Dec 2020, 17:54

                        @paralepsis Please start a separate thread.

                        Z-Bot CoreXY Build | Thingiverse Profile

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