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.
    • antoine.voiryundefined
      antoine.voiry
      last edited by

      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
      • antoine.voiryundefined
        antoine.voiry
        last edited by

        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
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by Phaedrux

          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
          • antoine.voiryundefined
            antoine.voiry
            last edited by

            @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
            • antoine.voiryundefined
              antoine.voiry
              last edited by

              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

              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @antoine.voiry
                last edited by

                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
                • antoine.voiryundefined
                  antoine.voiry
                  last edited by

                  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
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    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
                    • antoine.voiryundefined
                      antoine.voiry
                      last edited by

                      Hello
                      i am trying that.
                      Antoine

                      1 Reply Last reply Reply Quote 0
                      • paralepsisundefined
                        paralepsis
                        last edited by

                        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

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

                          @paralepsis Please start a separate thread.

                          Z-Bot CoreXY Build | Thingiverse Profile

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