werid z starting printing much higher than anticipated...



  • Hi everyone here is my setup
    Board: DuetWifi @ FW:1.21
    Probe: Duet Mini IR Probe (DC42)
    independent 2 Z-axis connected on Z0 (yes jumper on Z1) and E1 (will add a third Z axis + Duex5 by next week)

    Bed: Alum Plate with silicone heat bed with painter's masking tape on top of the 3mm Alum Plate + 3mm Borosilicate Glass with a sheet of Alum Foil on Top + 2mm Black PEI sheet - Clipped with Binder Clips

    When doing Z offsets calibrations everything is all fine (found it to be Z offset @1.678) ... with "G1 Z0" the nozzle grabs the paper just fine
    did the Automatic Bed leveling and mesh it was fine too.... (I think?)

    But when printing - it always start to do my Skirt a little too high... I need to babystep down -1.35mm to actually for it to print correctly

    My workaround so far is to do a M208 Z-10 (which is a -10 Z axis so that babystep will not bounce back up again when I go below 0) and hardcode my babystep at the last line in config

    Is there a real solution to avoid this above??



  • Here is my Config:

    ; 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 31 2018 04:48:36 GMT+0800 (China Standard Time)

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

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PTony Wong ; Set machine name
    M551 Pxxxxxxx ; Set password
    M552 S1 ; Enable network
    M587 S"xxxxxxx" P"xxxxxxx" ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards (X)
    M569 P1 S1 ; Drive 1 goes forwards (Y)
    M569 P2 S1 ; Drive 2 goes forwards (Z)
    M569 P3 S1 ; Drive 3 goes forwards (E0)
    M569 P4 S1 ; Drive 4 goes forwards (Z2)

    M584 X0 Y1 Z2:4 E3 ; Drive 0-X 1-Y Z-2&4(E1) 3-E(E0)
    M671 X-30:350 Y180:180 S10 ; leadscrews left & right (Middle of the bed in the Y axis)(S10 = 10mm Corrections allow)

    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z400 E415 ; Set steps per mm
    M566 X600 Y600 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
    M203 X6000 Y6000 Z1200 E400 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E250 ; Set accelerations (mm/s^2)
    M204 P1000 T1000 ; Set Max acceleration for P=printing moves and T=travel moves
    M906 X1200 Y1200 Z1300 E900 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z-10 S1 ; Set axis min (-10 for probing and babystep in printing)
    M208 X278 Y380 Z170 S0 ; Set axis max

    ; Endstops
    M574 X1 S1 ; Set active High endstops S1 (X-MIN)
    M574 Y1 S1 ; Set active High endstops s1 (Y-MIN)

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M558 P1 H6 F100 T3000 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z1.678 ; Set Z probe trigger value, offset and trigger height
    M557 X30:275 Y30:375 S30 ; Define mesh grid

    ; Heaters
    ;BED
    M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M307 H0 A203.7 C745.2 D2.6 B0 ; SET BED TO PID MODE

    ;EXTRUDER 1
    M305 P1 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M307 H1 A324.6 C134.8 D3.7 B0 ; SET EXTRUDER 1 TO PID MODE

    ; Fans
    M106 P0 S0.1 I0 F500 H-1 ; 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

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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory
    T0 ; Select first tool
    M581 E1:2 S0 T3 C1 ; FILAMENT RUNOUT SENSOR TO TRIGGER"3"
    M290 R0 S0 ; Clear All baby step setting from memory (so it restarts for next print it will clear all prev babysteps)
    M290 R0 S-1.0 ; Default baby Step with PEI Sheet (2mm) to start with-1 mm (cannot be over 1 for some reason)
    M290 R1 S-0.35 ; Add baby step -0.35mm closer to bed (R1 add on top of Previous step)

    config-override:

    ; This is a system-generated file - do not edit
    ; Heater model parameters
    M307 H0 A126.6 C383.2 D1.0 S1.00 V24.3 B0
    M307 H1 A808.5 C200.0 D11.3 S1.00 V24.3 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



  • Bed.g:
    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Mar 31 2018 04:48:36 GMT+0800 (China Standard Time)
    M561 ; clear any bed transform
    G28 ; home all axes

    ;Doing 2 Axis sync

    G30 P0 X15 Y180 Z-99999 ; probe near a leadscrew (Z1)
    G30 P1 X275 Y180 Z-99999 ; probe near a leadscrew (Z2/E1)

    ; Probe the bed at 5 points

    G30 P2 X30 Y20 Z-99999
    G30 P3 X30 Y335 Z-99999
    G30 P4 X260 Y335 Z-99999
    G30 P5 X260 Y20 Z-99999
    G30 P6 X150 Y200 Z-99999 S2 ; and calibrate 2 motors (S2)

    Macro - Axis Sync and Mesh Compensation:

    M561 ; clear any bed transform
    G28 ; home all axes

    ;Doing 2 Axis sync

    G30 P0 X15 Y180 Z-99999 ; probe near a leadscrew (Z1)
    G30 P1 X275 Y180 Z-99999 ; probe near a leadscrew (Z2/E1)

    ; Probe the bed at 9 points

    G30 P2 X30 Y20 Z-99999
    G30 P3 X30 Y330 Z-99999
    G30 P4 X100 Y180 Z-99999
    G30 P5 X30 Y335 Z-99999
    G30 P6 X150 Y300 Z-99999
    G30 P7 X260 Y335 Z-99999
    G30 P8 X200 Y200 Z-99999
    G30 P9 X260 Y20 Z-99999
    G30 P10 X150 Y200 Z-99999 S2 ; and calibrate 2 Z motors (S2)

    ; Mesh Bed Leveling and save data to be use for printing later on via G29 S1
    M557 X30:278 Y30:350 S40 ; Define the point grid for measuring the bed
    G29 S0 ; Run Probing Sequence define by M557 above
    M374

    Simplied3D Start Script:
    M582 T3 ; FILAMENT RUNOUT SENSOR TURN ON
    G28 ; home all axes
    M106 P1 S0 ; Turn off Parts Fans

    Simplied3D End Script:
    ; FILAMENT BACK OFF START
    M120
    M83
    G1 E-10 F9000
    M121
    ; FILAMENT BACK OFF END

    M104 S0 ; turn off extruder
    M140 S0 ; turn off bed
    G91 ; relative mode
    G1 Z5 ; lift 5mm
    G90 ; absolute mode
    M84 ; disable motors
    M106 S0 ; stop bed fan
    M108 S0 ; stop extruder and electronics fans



  • M122
    === Diagnostics ===
    Used output buffers: 3 of 32 (13 max)
    === Platform ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 1.21 running on Duet WiFi 1.02 or later
    Board ID: xxxxxxxxxxxxxxxxxxxx
    Static ram used: 16152
    Dynamic ram used: 100648
    Recycled dynamic ram: 1984
    Stack ram used: 1224 current, 6504 maximum
    Never used ram: 5784
    Last reset 05:23:42 ago, cause: power up
    Last software reset at 2018-04-13 14:39, reason: User, spinning module GCodes, available RAM 7760 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 170.2ms
    MCU temperature: min 32.8, current 48.2, max 49.7
    Supply voltage: min 24.1, current 24.2, max 25.3, under voltage events: 0, over voltage events: 0
    Driver 0: ok, SG min/max 0/75
    Driver 1: ok, SG min/max 0/16
    Driver 2: ok, SG min/max 0/1023
    Driver 3: ok, SG min/max not available
    Driver 4: ok, SG min/max 0/365
    Date/time: 2018-04-14 03:14:00
    Slowest main loop (seconds): 1.256110; fastest: 0.000046
    === Move ===
    MaxReps: 4, StepErrors: 0, LaErrors: 0, FreeDm: 129, MinFreeDm 120, MaxWait: 3092251824ms, Underruns: 0, 2
    Scheduled moves: 233458, completed moves: 233428
    Bed compensation in use: mesh
    Bed probe heights: -0.850 -1.028 -1.423 -0.223 -0.308
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.3
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 1
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is doing "G1 X207.709 Y205.763 E29.1859" in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 2 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21
      WiFi MAC address xxxxxxxxxxxxx
      WiFi Vcc 3.33, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 13992
      WiFi IP address 192.168.10.22
      WiFi signal strength -56dBm, reconnections 0, sleep mode modem
      Socket states: 2 0 0 0 0 0 0 0
      === Expansion ===


  • 0_1523648032756_68549FFD-5D9B-4B7E-8220-F75DD860A511.jpeg
    Here is a photo of my HEVO


  • administrators

    To confirm. When you command the printer to go to
    G1 Z0
    Its at a perfect Z0 (by paper feeler gauge)

    But when you start a print you have to use -1.35mm of baby stepping to get it to the right height?

    Can you post the first bit of a gcode file that you have tried to print that shows this issue please.


  • administrators

    Does your slicer start GCode include a G28 homing command, and if so it that altering the Z=0 position?



  • @dc42 Yes it does a home before print... is this the problem?? if so I take it out!



  • @t3p3tony

    Here is the gfile for the above print... (first couple of lines) (using S3D as Slicer)

    G90
    M82
    M106 S0
    M140 S85
    M190 S85
    M104 S235 T0
    M109 S235 T0
    M582 T3 ; FILAMENT RUNOUT SENSOR TURN ON
    G28 ; home all axes <<<<< @dc42 is this the problem???
    M106 P1 S0 ; Turn off Parts Fans
    G92 E0
    G1 E-0.6000 F6000
    G1 Z0.250 F1200
    ; process Process1
    ; layer 1, Z = 0.250
    T0
    ; tool H0.250 W0.600
    ; skirt
    G1 X51.471 Y88.911 F3000
    G1 E0.0000 F1800
    G92 E0
    G1 X52.456 Y88.293 E0.0711 F600
    G1 X52.557 Y88.237 E0.0781
    G1 X53.155 Y87.948 E0.1188



  • @t3p3tony
    Yes when I go G1 Z0 it is a good paper feeler grip (like typical feel when I do paper feeler)
    then start print i have to use -1.35mm baby step... this IMHO doesn't make sense...
    if it was +/-0.2-0.3 maybe... but -1.35mm made me think there is something really wrong ... but I have no idea what


  • administrators

    @otaku521 if you do a G28 and then G1 Z0, how far above the bed is the nozzle? Is it paper feeler close or~1.35mm above. If it is the latter then you need to adjust oyur config so that it is.

    I think is sensible to have a home command in your start gcode.



  • @t3p3tony
    It is after g28 before print it is paper feeler close
    But when start print and re home again it is higher than anticipated

    Thus I have to do baby step that large (which results me to perminate to add it in my config file for now on

    The bottom of the mini ir sensor there is enough gap that I can see the hex of the nozzle to the tip

    Maybe g28 is running too fast on z to get an inaccurate reading?

    Note that i am using a 2mm black PEI sheet like I mentioned above



  • I have uploaded the video for your reference...

    https://youtu.be/p8XtWKYzo_I


  • administrators

    @otaku521 g28 should produce the same results no matter if it is run from the command line or from a gcode file. Can you test it multiple times from the command line to assure repeatability.



  • I know... this is why it is weird....
    so far I am wondering if my config and other scripts are fine ?



  • @otaku521 Sorry if you already mentioned this, but I was having an strange issue like this to and it turns out my slicer (simplify3D) was setting the Z to be .18 for the first layer. If my z=0 was tuned to approx. .1mm off the bed, then it would be .28mm off the bed and the print wouldn't adhere.

    Just a thought, check out your gcode for the first layer and see what it sets Z to, then manually move the Z to the point it says after printing and you may see the gap. If so, then you need to either A adjust your slicer or your leveling. This is of course only assuming you are seeing what I am describing here.



  • @bpislife you are 0.1-0.2xx off.. while I am 1.xx off... this made me think otherwise....
    the only thing is I think is the 2mm PEI sheet on the bed not being correctly read by mini IR probe... so I am thinking of switching back to BL Touch and see


  • administrators

    If the PEI sheet was not being recognised l would expect that to happen either way. I just had a thought though. Are you probing the bed in your prints but not when doing a normal test of G28?



  • I have the same issues and have been plagued by it since day one. I cannot resolve ... I initially chalked it up to inconsistency of the BL Touch, but the more I deal with the issue it seems to be some arbitrary value created by the firmware.

    I have to babystep in EVERY print - using a 5-6 perimeter skirt - and hope I can step it in in time before the actual part starts. Circles are particularly ominous to get right ... in time.

    If I dont get adhesion - then I get Elephants Foot [ alot ] as I err on the side of sticking this mother down.

    all this to say ... youre not alone.



  • @t3p3tony
    No... I only probe when everytime I start the machine doing my Macro above which calibrate my leadscrews (from 2... now 3 (just installed a Duex5) and then I do some prints from there on... but I don't start script all my prints to go calibration at the beginning since I got the Mini IR Probe (Switching out the BL touch)... (which was "PITA"...)


 

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