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

    non linear Z axis with bed compensation ON

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    7
    301
    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.
    • tom33undefined
      tom33
      last edited by

      Hi,

      I have a problem with the Z axis when the bed compensation taper is ON.

      The Z axis doesn't move same when the bed compensation is enable.

      You can see the difference in the two videos

      Compensation ON-converted-converted.mp4
      Compensation Off-converted-converted.mp4

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

        I can't tell what you mean. The videos are only 1 second long.

        Can you describe in more detail what you're seeing?
        Can you share your config settings and firmware version?
        What is the printer setup?

        Z-Bot CoreXY Build | Thingiverse Profile

        tom33undefined 3 Replies Last reply Reply Quote 0
        • tom33undefined
          tom33 @Phaedrux
          last edited by

          @phaedrux

          When I have the bed compensation enable (G29 S1) and I move the the Z axis (near the heat bed) if I request to move 1mm the axis moves by 0.97mm
          If I disable the compensation (G29 S2) if I request to move 1mm the axis moves by 1mm

          This result in bad height of my prints.

          I use 3.4.0b7 and I also use 3.4.0b7+4 and same problem

          I use duet3M6HC with duet1XD for external driver (I also update the 1XD)

          G90                                                ; send absolute coordinates...
          M83                                                ; ...but relative extruder moves 
          M451
          M929 S3
          
          ; Drives
          M569 P0 S0                                             ; Drive 0 T0 Extrudeur Gauche
          M569 P1 S1                                             ; Drive 1 T1 Extrudeur Droit
          M569 P2 S1                                             ; Drive 3 T0 Extrudeur Bobine Gauche
          M569 P3 S1                                             ; Drive 3 T0 Extrudeur Bobine Droit
          M569 P4 S1                                             ; Drive 4 T1 Montée descente
          
          G4 S1
          
          ; set drive mapping
          M584 E1:2
          M584 A3 B4 C0
          M584 P6
          
          M350 E16:16 I1                                         	; configure microstepping without interpolation
          M350 A16 B16 C16 I1                        	; configure microstepping with interpolation
          M92 A415 B415 C300 E582:582             	; set steps per mm
          M566 X300 Y300 Z100 W50 A500 B500 C50 E500:500              ; set maximum instantaneous speed changes (mm/min)
          M203 X12000 Y12000 Z1800 W1800 A3600 B3600 C10000 E1200:1200 	; set maximum speeds (mm/min)
          M201 X250 Y250 Z100 W50 A500 B500 C500 E500:500            ; set accelerations (mm/s^2)
          M906 A1200 B1200 C750 E400:400 I30   	; set motor currents (mA) and motor idle factor in per cent
          M84 S0                                                	; Set idle timeout
          M913 C100                                               ; Courant moteur Axe C 50%
          
          ; Axis Limit
          M208 X0:1040 Y0:515 Z0:534.3 W0:534.3 A-10000:10000 B-10000:10000 C-10:10
          M671 X0:1040 Y250:250
          
          ; Endstops
          
          M574 A0
          M574 B0
          M574 C2 S1 P"!10.io0.in" 
          
          ;Stall Detection
          
          ; Z-Probe
          M558 P5 C"!io4.in" H10 F300 T6000                       ; set Z probe type to switch and the dive height + speeds "!io8.in"
          G31 P500 X0 Y0 Z-2.725	                                  ; set Z probe trigger value, offset and trigger height
          M557 X15:985 Y15:485 S150                                ;define mesh grid
          
          ; Bed heater 
          M308 S0 P"temp0" Y"thermistor" A"Plateau chauffant" T100000 B4138 C0       ; configure sensor 0 as thermistor on pin temp0
          M950 H0 C"out5" T0                                      ; create bed heater output on out0 and map it to sensor 0
          M307 H0 B0 R0.334 C356.2 D1.33 S1.00 V24.0                                        ; disable bang-bang mode for the bed heater and set PWM limit
          M140 H0                                                 ; map heated bed to heater 0
          M143 H0 S120
          M570 H0 P60 T10 S120; set temperature limit for heater 0 to 120C
          
          ; Tool 0 heater
          M308 S1 P"temp1" Y"thermistor" A"E0" T98640 B4632.86 C9.4861662E-08 H0 L0	; Set thermistor
          ;M307 H1 B0 R1.862 C397.7:397.7 D19.89 S1.00 V24.0
          M307 H1 B0 R1.857 C385.6:374.5 D14.06 S1.00 V24.0
          M950 H1 C"out1" T1					                    ; Extruder 0 heater
          M143 H1 S300 					                        ; Set temperature limit for heater 1 to 300C
          M570 H1 P60 T35 S120
          
          ;Tool 1 heater
          M308 S2 P"temp2" Y"thermistor" A"E1" T98640 B4632.86 C9.4861662E-08 H0 L0      ; configure sensor 2 as thermistor on pin temp2
          M307 H2 B0 R1.782 C345.7:345.7 D18.75 S1.00 V24.0
          M950 H2 C"out2" T2                                      ; create nozzle heater output on out2 and map it to sensor 2
          M143 H2 S300   
          M570 H2 P60 T35 S120
          
          ;Heat chamber
          M308 S3 P"temp3" Y"thermistor" A"Chambre" T100000 B4138 C7.06e-8           ; configure sensor 3 as thermistor on pin temp3
          M950 H3 C"out0" T3                                 ; create chamber heater output on out3 and map it to sensor 3
          M307 H3 B0 S1.00                                        ; disable bang-bang mode for the chamber heater and set PWM limit
          M141 H3                                                 ; map chamber to heater 3
          M143 H3 S100                                            ; set temperature limit for heater 3 to 100C
          M950 P6 C"out3"
          
          ; Tools
          M563 P0 S"E0" D0 H1 F0					                ; Define Extruder 0 drive 0 Heater 1 Fan 0
          G10 P0 X-10.085 Y-5.075 Z0 C0						                ; Set offset
          G10 P0 R0 S0 							                ; Reset initial tool 0 active and standby temperatures to 0C
          
          M563 P1 S"E1" D1 H2 F1                                  ; Define Extruder 1 drive 1 Heater 2 Fan 1
          G10 P1 X10.085 Y5.075 Z0 C0                                     ; set tool 1 axis offsets Essais Z offset pour déplacement axe C
          G10 P1 R0 S0                                            ; set initial tool 1 active and standby temperatures to 0C
          
          
          ;Filament Monitor
          ;M591 P3 C"io5.in" S1 D0                                 ; filament monitor connected to E0_stop
          ;M591 P3 C"io6.in" S1 D0                                 ; filament monitor connected to E0_stop
          
          ; Fans
          M950 F0 C"10.out1"                                       ; create fan 1 on pin out5 and set its frequency
          ;M950 F1 C"out8"                                         ; create fan 2 on pin out6 and set its frequency
          
          ;M106 P0 S255 H1:2 T20                                   ; set fan 0 value. Thermostatic control is turned on
          ;M106 P0 S0 
          ;M106 P1 S0                                              ; set fan 2 value. Thermostatic control is turned on
          
          ;Servo
          ;950 S4 C"io4.out"   ; Servo Montée / Descente
          M950 S5 C"io5.out"   ; Servo B0
          M950 S7 C"io7.out"   ; Servo B1
          
          
          
          
          ;Input
          ;M950 J0 C"io0.in"      ; Arret d'urgence
          ;M950 J20 C"35.io0.in"
          ;M581 T0 P0 S1 R0        ; T0 --> M112 Arret d'urgence
          ;M581 T0 P20 S1 R0
          
          ;M950 J1 C"io1.in"       ; Pause / Play trigger 2.g
          ;M581 T2 P1 S0 R0        ; T6 --> M25 Pause / Play
          
          ;M950 J2 C"io2.in"       ; Pause / Stop trigger 3.g
          ;M581 T3 P2 S0 R0 	    ; Stop
          
          ;M950 J3 C"25.io2.in"    ; Door
          ;M581 T4 P3 S0 R0        ; Door
          
          ;M950 J10 C"!10.io0.in"     ; Detection Outils Impression 3D
          ;M581 T10 P10 S0 R0        ; Trigger10.g 
          
          ;M950 J11 C"!20.io0.in"     ; Detection Outils CNC
          ;M581 T11 P11 S0 R0        ; Trigger11.g
          
          ;Output
          ;M950 P0 C"20.out0" ; Verrouillage porte
          M950 P1 C"10.out0" ;
          
          M150 X0    ; set LED type to NeoPixel and set SPI frequency to 3MHz
          M501
          ; Custom settings are not defined
          M375 P"/sys/_Printer/heightmap.csv"
          M376 H15						; bed compensation taper
          
          ;global CumulativeTime = 0
          ;M98 P"0:/macros/myUpTime.g" ; this could be in start.g if doing print time
                                                         ; load saved parameters from non-volatile memory
          M911 S22.0 R22.5 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ;set voltage thresholds and actions to run on power loss
          M501
          
          1 Reply Last reply Reply Quote 0
          • tom33undefined
            tom33 @Phaedrux
            last edited by

            @phaedrux
            heightmap

            RepRapFirmware height map file v2 generated at 2022-01-10 19:27, min error -0.294, max error 0.581, mean 0.135, deviation 0.268
            axis0,axis1,min0,max0,min1,max1,radius,spacing0,spacing1,num0,num1
            X,Y,15.00,985.00,15.00,485.00,-1.00,150.00,150.00,7,4
             -0.275,  0.181,  0.213,  0.119, -0.019, -0.181, -0.294
             -0.169,  0.481,  0.538,  0.381,  0.213, -0.019, -0.244
             -0.200,  0.525,  0.581,  0.425,  0.269,  0.081, -0.119
             -0.125,  0.344,  0.444,  0.356,  0.225,  0.081, -0.025
            
            
            1 Reply Last reply Reply Quote 0
            • tom33undefined
              tom33 @Phaedrux
              last edited by

              @phaedrux

              If I disable the M376 in the config.g I do not have the problem

              1 Reply Last reply Reply Quote 0
              • rjenkinsgbundefined
                rjenkinsgb @tom33
                last edited by rjenkinsgb

                @tom33 said in non linear Z axis with bed compensation ON:

                I have a problem with the Z axis when the bed compensation taper is ON.
                The Z axis doesn't move same when the bed compensation is enable.

                It shouldn't!

                You have some rather extreme height values in your heightmap...

                With taper enabled, it should follow the heightmap at Z0 but move Z absolutely flat at the top of the taper height and above.

                If the heightmap shows the bed eg. 0.5mm high and you have it set to taper off at 20mm, all the Z moves at that point must be 2.5% shorter so the heightmap adjustments are cancelled out by the top of the taper height.

                The effects would be a lot less if your bed was nearer flat.

                Robert J.

                Printers: Overlord pro, Kossel XL+ with Duet 6HC and "Frankentron", TronXY X5SA Pro converted to E3D toolchange with Duet 6HC and 1LC toolboards.

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

                  M375 P"/sys/_Printer/heightmap.csv"

                  You should not load a heightmap in the config.g, only after Z0 is set with the probe.

                  Can you try doubling your taper height?

                  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