Endstop compensation



  • Hello everyone,

    I decided to calibrate my delta printer. I already used Autocalibration to find out different adjustement :

    M665 L269.000 R164.761 H299.868 B140.0 X-0.386 Y-0.075 Z0.000
    M666 X0.703 Y-0.304 Z-0.399 A0.00 B0.00

    Given that I want to calibrate it from the start I decided to cancel endstop adjustement :

    M665 L269.000 R164.761 H299.868 B140.0 X0 Y0 Z0
    M666 X0 Y0 Z0 A0.00 B0.00

    The idea was to calibrate the spring's bed without any compensation on my tower (X,Y and Z endstop compensation).

    The problem is that even without any compensation in the config.g file I can see my printer making this compensation after homing (X doesn't move while Y and Z go further).
    Furthermore, this "compensation" is way more than what we can read (should be less than 1 mm but I can see that it's more like 3 to 5 mm).
    I tried to cancelled compensation (M561).

    Note that I do not use the M501 command at the end of my config.g (so the "config-override.g" do not modify my configuration).

    Can someone explain me why my printer still do this compensation and how to delete this ?

    Thanks for your help.

    Axel.


  • administrators

    @av13091 said in Endstop compensation:

    The problem is that even without any compensation in the config.g file I can see my printer making this compensation after homing (X doesn't move while Y and Z go further).

    I'm sorry, I don't understand what you mean by this. Please explain.



  • Hello,

    If I'm correct, the homing works in 3 steps on delta printer : full speed to the top until reaching the endstop, go down and then up at lower speed until reaching endstop again and, finally, all carriages go down a bit more (it's 5mm by default in the home.g file if I'm right).

    At this point the compensation is done by modifing carriage's position (if compensation is X0, Y1 and Z3 the X carriage wont move, the Y carriage will go 1mm down and the Z will go 3mm).

    My problem is that even without any compensation I can see that my printer does this "correction" after homing (X stay at his initial position but Y and Z go down), it's not "a little movement", it's something more like 1 or 2 mm.

    I'm sorry if I wasn't clear enough and I hope this will help you understand what's going on.

    Don't mind to ask again if it's not clear (I'm not that good with english when it happends to explain this kind of stuff 😞 ).

    Thank you for your support.

    Axel.


  • administrators

    The tower angle adjustments (X and Y parameters in the M665 command) will also cause the centre position to be adjusted. So try clearing those out too.



  • Hello,

    it didn't work either, M665 X,Y and Z are deleted and M666 X, Y and Z values are clear :

    M665 L269.000 R164.761 H299.868 B140.0
    M666 X0 Y0 Z0 A0.00 B0.00

    do you have any idea what goes wrong ?

    once again, thank you for your help.


  • administrators

    Please post your homedelta.g file.

    It should end with a "G1 X0 Y0" move. If you comment that line out, what XY coordinates does DWC report, and what M665 and M666 parameters does it report?



  • Hello,

    you're right, it's the "G1 X0 Y0" move that make this !

    when it's line out DWC report me X9,5 Y-0,5
    M665 report me (...), X 1.075°, Y 1.130°, Z 0.000° and
    M666 Endstop adjustments X-0.34 Y0.74 Z-0.40, tilt X0.00% Y0.00%.

    It's amazing, thank you for your help !

    If you have the time to, could you explain me why it does this ?

    once again, thank you for your assistance and your patience.

    Axel.


  • administrators

    @av13091 said in Endstop compensation:

    when it's line out DWC report me X9,5 Y-0,5
    M665 report me (...), X 1.075°, Y 1.130°, Z 0.000° and
    M666 Endstop adjustments X-0.34 Y0.74 Z-0.40, tilt X0.00% Y0.00%.

    So you didn't reset the endstop adjustments and tower angles to zero after all. Could it be that you have two sets of M665 and M666 parameters in config.g and you only changed the first one?



  • Sorry, it's my bad, I just realised i did an auto calibration before sending this to you (I can print little part without problem even if my bed is not well calibrate).

    So in my config.g file it's well put to zero :

    M665 L269.000 R164.761 H299.868 B140.0
    M666 X0 Y0 Z0 A0.00 B0.00

    sorry for the mistake,

    Axel.


  • administrators

    OK, what do M665 and M666 report after homing if you don't auto calibrate, and what are the XY coordinates when you don't execute the G1 X0 Y0 in homedelta.g ?



  • Without any auto calibration i got
    DWC report : X9 and Y0
    M665 : Diagonal 269.000, delta radius 164.761, homed height 299.868, bed radius 140.0, X 0.000°, Y 0.000°, Z 0.000°
    M666 : Endstop adjustments X0.00 Y0.00 Z0.00, tilt X0.00% Y0.00%


  • administrators

    The X9 is wrong, unless you have a tool offset configured in config.g. Please post your entire config.g file.



  • Hello,

    I use an offset for my extruder, well see ! (I have a chimera with only one extruder for now, I plan to mount the second in a few week).
    As you expected their is an offset of X=9, what a coincidence 😄 !

    As you've ask for, here is my config.g :

    ; Configuration file for Duet 0.8.5 (firmware version 1.17 to 1.19)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Fri Mar 16 2018 19:46:10 GMT+0100 (Paris, Madrid)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration.
    M665 L269.000 R164.761 H299.868 B140.0 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 A0.00 B0.00 ; Put your endstop adjustments here, or let auto calibration find them

    ; Network
    M550 PDelta Kossel ; Set machine name
    M551 PAvoriaz2804 ; Set password
    M540 PBE:EF:DE:AD:FE:ED ; Set MAC address
    M552 P192.168.0.90 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M92 X80 Y80 Z80 E87.059 ; Set steps per mm E476.5
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent AVANT 1200
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z-0.1 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S1 ; Set active high endstops

    ; Z-Probe
    M558 P1 X0 Y0 Z0 H4 F120 T4000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
    G31 P500 X0 Y0 Z2.90 ; Set Z probe trigger value, offset and trigger height
    M557 R85 S20 ; Define mesh grid

    ; Heaters
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M307 H1 A271.6 C131.5 D4.8 S1.00 B0 ;
    ; M307 H2 A271.6 C131.5 D4.8 S1.00 B0 ;

    M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C

    M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; M305 P2 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 2
    ; M143 H2 S280 ; Set temperature limit for heater 2 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 T45 H1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned ON : 45°C

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X9 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; M563 P1 D0 H2 ; Define tool 1
    ; G10 P1 X-9 Y0 Z0 ; Set tool 1 axis offsets
    ; G10 P1 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool
    ; T1 ; Select second tool

    If I'm right I have to make it X=0 in my tool section ?


  • administrators

    So the "compensation" that you reported is caused by the firmware bringing your offset nozzle to be above bed centre. This is as expected, if you have Tool 0 selected when you home the printer. If you do not have a tool selected (for example, you send T-1 before homing), then it will not centre the nozzle.



  • Hello,

    thank you for your help, I wouldn't find this out without you !

    Have a good day,

    Axel.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.