Trying to (and failing) to understand bed compensation.



  • Okay, so I have a magnetic build surface which is becoming a bit wonky. The bed itself is however pretty darn good.
    So, I thought that i would give Mesh compensation a go.

    I ran a bed compensation scan and i get the pretty little graph which shows the issue quite clear (0.6mm deviation on one side of the bed.

    I ammended my "start" scripts in Cura to get it to handle the bed compensation (i thought). The below is a snippet from the generated GCode. To me, I home the machine, move to X5 Y5 and start a probe.
    Why X/Y10? Well, because stupid here also has a pretty little nozzle shaped mark in said build surface due to [reasons]
    Then I do S29 S1 to load my height map and start printing. But, the machine seem to ignore my wonky bed and get way to close to the surface in the affected corner. What the hoot am I missing here?

    ;FLAVOR:RepRap
    ;TIME:61450
    ;Filament used: 46.2427m
    ;Layer height: 0.12
    ;MINX:-141.4
    ;MINY:-143.4
    ;MINZ:0.2
    ;MAXX:141.4
    ;MAXY:143.4
    ;MAXZ:12.92
    ;Generated with Cura_SteamEngine 4.4.1
    T0
    M190 S65
    M104 S213
    M109 S213
    M82 ;absolute extrusion mode
    M220 S100
    G28 ;Home
    G1 X5 Y5 Z15.0 F6000 ;Move the platform down 15mm
    G30
    G29 S1
    G92 E0
    G1 F200 E3
    G92 E0

    ; config-override.g file generated in response to M500 at 2020-01-03 15:06
    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L360.200:360.200:360.200 R178.895 H450.396 B150.0 X-0.018 Y-0.496 Z0.000
    M666 X-0.154 Y-0.190 Z0.345 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A191.5 C361.9 D2.0 S1.00 V12.2 B0
    M307 H1 A409.2 C206.7 D4.6 S1.00 V12.0 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H3 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00
    
    
    
    0:/sys/config.g
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Mar 10 2018 00:14:59 GMT+0100 (W. Europe Standard Time)
    
    ; General preferences
    G90                             ; Send absolute coordinates...
    M83                             ; ...but relative extruder moves
    M665 R179.489 L360.2 B150 H451 X0.746 Y0.761 Z0     ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0.85 Y-0.81 Z-0.04 A0 B0                   ; Put your endstop adjustments here, or let auto calibration find them
    
    ; Network
    M550 PFullMetalDelta          ; Set machine name
    M552 S1                         ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1                      ; Enable HTTP
    M586 P1 S0                      ; Disable FTP
    M586 P2 S0                      ; Disable Telnet
    
    ; Drives
    M569 P0 S1                      ; Drive 0 X goes forwards
    M569 P1 S1                      ; Drive 1 Y goes forwards
    M569 P2 S1                      ; Drive 2 Z goes forwards
    M569 P3 S0                      ; Drive 3 E0 goes backwards, Zesty Nimble
    ;M569 P3 S1                      ; Drive 3 E0 goes backwards, Titan Extruder
    
    M350 X16 Y16 Z16 E16 I1         ; Configure microstepping with interpolation
    M92 X200 Y200 Z200 
    
    ;M92 E418.5            ; Set steps per mm (Titan)
    ;M92 E2855		; Set steps per mm (Zesty)
    M92 E2700
    
    ;M566 X1200 Y1200 Z1200 E1200    ; Set maximum instantaneous speed changes (mm/min) Titan
    M566 X1200 Y1200 Z1200 E60    ; Set maximum instantaneous speed changes (mm/min) Zesty
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    ;M201 X1000 Y1000 Z1000 E1000		    ; Set accelerations (mm/s^2) Titan
    M201 X4000 Y4000 Z4000 E120		    ; Set accelerations (mm/s^2)  Zesty
    M906 X1000 Y1000 Z1000 E500 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                         ; Set idle timeout
    
    ; Axis Limits
    M208 Z0 S1                      ; Set minimum Z
    
    ; Endstops
    M574 X2 Y2 Z2 S1                   ; Set active high endstops
    
    ; Z-Probe
    M558 P8 R0.4 F1400 H3 A10		; Smart Effector
    G31 P100 X0 Y0 Z-0.11         
    M557 R148 S20                   ; Define mesh grid
    
    ; Heaters
    ;M305 P0 T99670 B4471 C8.262085e-8 R4700  ; Set thermistor + ADC parameters for heater 0 Keenovo heater
    M305 P0 T100000 B3950 R4700  ; Set thermistor + ADC parameters for heater 0 Clever3d heater
    M143 H0 S120                    ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700  ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                    ; Set temperature limit for heater 1 to 280C
    
    ; Fans
    ;M106 P0 S0 I0 F10 H-1        ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P0 S0 I1 F100 H-1 L0.3       ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45       ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    ;M106 P2 S1 I0 F500 H1 T45       ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 I1 H100:101 T45:55 L0.3
    
    ; Tools
    M563 P0 D0 H1                   ; 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
    
    M572 D0 S0.05			; Pressure advance
    
    M912 P0 S-22		; Temperature offset.
    
    ;Smart Effector Sensitivity
    M672 S105:70:185
    
    ; Automatic saving after power loss is not enabled
    
    ; Custom settings are configured
    M501
    
    ;Load mesh calibration
    ;G29 S1
    
    
    0:/sys/homedelta.g
    ; homedelta.g
    ; called to home all towers on a delta printer
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Mar 10 2018 00:14:59 GMT+0100 (W. Europe Standard Time)
    G91                        ; relative positioning
    G1 S1 X575 Y575 Z575 F1800 ; move all towers to the high end stopping at the endstops (first pass)
    G1 X-5 Y-5 Z-5 F1800 S2    ; go down a few mm
    G1 S1 X10 Y10 Z10 F360     ; move all towers up once more (second pass)
    G1 Z-5 F6000               ; move down a few mm so that the nozzle can be centred
    G90                        ; absolute positioning
    G1 X0 Y0 F6000             ; move X+Y to the centre
    
    
    


  • Can you post an image of the actual heightmap?

    I assume you've gone through this and ensured the delta is properly calibrated first?

    https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer

    @janjoh said in Trying to (and failing) to understand bed compensation.:

    G28 ;Home
    G1 X5 Y5 Z15.0 F6000 ;Move the platform down 15mm
    G30
    G29 S1

    This looks ok, except that you should try to probe the center of the bed surface, ideally at a point that is part of the bed mesh.

    Before you ran the original G29, you should probe that same point with G30 as well.



  • @Phaedrux said in Trying to (and failing) to understand bed compensation.:

    Can you post an image of the actual heightmap?

    I assume you've gone through this and ensured the delta is properly calibrated first?

    Yeah, so I found the issue. It is mechanical in nature.. and silly.

    I replaced my Smart Effector since my original one stopped probing reliably.

    The new one has a more recent PCB revision. Which means that the heater connector has moved.

    No big deal, the cables where long enough... ish.

    Turns out the cables weren't quite long enough. They now can excert enough spring action to manage to slightly twist the hot end and thereby sligthly altering the nozzle height.

    New heater cartridge on order.

    Jeez.

    I'll be back!



  • @Phaedrux said in Trying to (and failing) to understand bed compensation.:

    Well, now i have TWO mechanical issues, and the loose heater is probably the smaller one.

    I also have a bad drive belt, and do beleive that i heard a skip. Wierd. It looks to have been nicely centered and all. But it is definitely is heaps more worn then the other two belts, as in a couple of "teeth" on the belt is almost thread bare. I'll be replacing that one, and the pulley as well...


Log in to reply