Smart Effector z compensation



  • Hey, I have finally got my delta set up and have a smart effector set up and when I run my start sequence I use
    ; Default start code
    G28 ; Home extruder
    G1 Z15 F{Z_TRAVEL_SPEED}
    M107 ; Turn off fan
    G90 ; Absolute positioning
    M82 ; Extruder in absolute mode
    {IF_BED}M190 S{BED}
    G32
    G29
    G31
    ; Activate all used extruder
    {IF_EXT0}M104 T0 S{TEMP0}
    G92 E0 ; Reset extruder position
    ; Wait for all used extruders to reach temperature
    {IF_EXT0}M109 T0 S{TEMP0}

    I do this so I make sure the bed is level and calibrated before every print, however it seems as if the extruder is still too close to the bed when the print starts, skipping essentially the first 3-5 layers, I tried adding some z off-set but unsure if the G3, G29, G31 commands override this, is there any way to tweak how sensitive the smart effector is? Really stuck with this now, been looking at it for the last 18 hours xD

    All the best.





  • It is now set as sensitive as I can put it without it triggering from motor movement and yet there is no difference.

    Set it to M672 S105:30:225



  • post you config and config overwrite



  • CONFIG:
    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Nov 11 2020 04:10:44 GMT+0000 (Greenwich Mean Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"My Printer" ; set printer name
    M665 R174.619 L360 B135 H290.5 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them

    ; Network
    M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; enable HTTP
    M586 P1 S1 ; enable FTP
    M586 P2 S1 ; enable 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
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I0 ; configure microstepping without interpolation
    M92 X80.00 Y80.00 Z80.00 E663.00 ; set steps per mm
    M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E800 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 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop
    M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop
    M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop

    ; Z-Probe
    M558 P1 C"zprobe.in+zprobe.mod" H5 F1200 T6000 ; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 R85 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3988 ; 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 A150.5 C247.5 D1.9 V24.2 B0 ; disable 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 B3988 ; 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

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on

    ; Tools
    M563 P0 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

    ; Custom settings are not defined

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

    CONFIG OVERRIDE:

    ; config-override.g file generated in response to M500 at 2020-11-11 04:59
    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L360.000:360.000:360.000 R174.619 H290.500 B135.0 X0.000 Y0.000 Z0.000
    M666 X0.000 Y0.000 Z0.000 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A261.1 C440.4 D1.7 S1.00 V24.2 B0
    M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    ; Workplace coordinates
    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



  • @Bewaren said in Smart Effector z compensation:

    G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height

    your trigger value is wrong in your G31.
    For the smart effector it should be -0.1

    G31 P500 X0 Y0 Z-0.1
    


  • @jay_s_uk

    Just done this and its an improvement but not correct still, now printing mid air xD, if I just keep tweaking this value you reckon it'll work?





  • @Bewaren said in Smart Effector z compensation:

    M350 X16 Y16 Z16 E16 I0 ; configure microstepping without interpolation

    you should enable interpolation

    M558 P1 C"zprobe.in+zprobe.mod" H5 F1200 T6000 ; set Z probe type to unmodulated and the dive height + speeds

    you are missing the recovery time

    also you selected the wrong probe type and are missing the recovery time.

    please read this site again

    https://duet3d.dozuki.com/Wiki/Smart_effector_and_carriage_adapters_for_delta_printer#main

    also the trigger height is mentioned there

    is your build that unstable that printing once brings it out of alignment?
    i dont think its a good idea to to run G32 every time.
    certainly you need to home again after running G32.



  • I believe dc42 runs G32 every time.
    I certainly did when I had my delta. Thats one of the advantages of the smart effector



  • @Veti said in Smart Effector z compensation:

    certainly you need to home again after running G32.

    You don't wanna be doing that as homing resets the calibration,
    never found a need to run G32 between prints as long as you don't rehome or switch the machine off/reset the board.
    Also loading the stored height map via start g-code in slicer is good enough as long as it was saved during a tuned setup
    Adjust the height of the nozzle from bed via trigger height so default is Z-0.1 try Z-0.15 further away
    Z-0.05 closer

    Make sure the bed is heated during probe and nozzle 60/130 works well and nozzle is clean



  • @Carlo said in Smart Effector z compensation:

    You don't wanna be doing that as homing resets the calibration,

    I think you are getting G29 and G32 confused. G29 gets reset during homing, G32 does not.



  • @Veti Unless your calling a G29 in bed.g. I use to make a heightmap if there isn't one.

    bed.g
    M561 ; clear any bed transform
    G29 S1 ; load current heightmap.csv
    if result > 1 ; if no heightmap.csv, make one.
    G29 S0



  • @Stephen6309 said in Smart Effector z compensation:

    Unless your calling a G29 in bed.g. I use to make a heightmap if there isn't one.

    what that bed.g your delta calibration would not work.



  • @Veti Forgot this was about a delta. 🙂 I thought G29 worked on all printers?



  • @Veti said in Smart Effector z compensation:

    @Carlo said in Smart Effector z compensation:

    You don't wanna be doing that as homing resets the calibration,

    I think you are getting G29 and G32 confused. G29 gets reset during homing, G32 does not.

    Phaedrux MODERATOR 29 May 2020, 22:52
    When you send G28 to home it's calling homedelta which is moving all the carriages to the endstops. This is clearing your calibration

    Also mentioned on the dozuki



  • @Carlo said in Smart Effector z compensation:

    When you send G28 to home it's calling homedelta which is moving all the carriages to the endstops. This is clearing your calibration

    ok its not recommended that you run G28 after calibration, but nowhere does it say that G28 clears the G32 Results.

    G32 sets the M666 and M665 values. G28 does not load the config.g and therefore does not reset the M666 and M665 to its original values.


  • administrators

    @Bewaren said in Smart Effector z compensation:

    Hey, I have finally got my delta set up and have a smart effector set up and when I run my start sequence I use
    ; Default start code
    G28 ; Home extruder
    G1 Z15 F{Z_TRAVEL_SPEED}
    M107 ; Turn off fan
    G90 ; Absolute positioning
    M82 ; Extruder in absolute mode
    {IF_BED}M190 S{BED}
    G32
    G29
    G31
    ; Activate all used extruder
    {IF_EXT0}M104 T0 S{TEMP0}
    G92 E0 ; Reset extruder position
    ; Wait for all used extruders to reach temperature
    {IF_EXT0}M109 T0 S{TEMP0}

    What is the G31 command supposed to do? That will merely report some of the Z probe parameters.

    Running G32 at the start of each print is reasonable (I do it too, although a simple G30 starting 5mm above bed centre would probably work nearly as well). It should not be necessary to use G29 on a well-built delta IMO, but it should do no harm.


  • Moderator

    @Carlo said in Smart Effector z compensation:

    Phaedrux MODERATOR 29 May 2020, 22:52
    When you send G28 to home it's calling homedelta which is moving all the carriages to the endstops. This is clearing your calibration

    I should have said resetting your homed height established by G30, but in the context of that thread I think it made sense, though not applicable universally.


Log in to reply