Layer Heights different between tools.

Discussion in 'Getting Started' started by Andy Cohen, Feb 21, 2020.

  1. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    277
    Likes Received:
    62
    So the new Nimble's are not giving me the same layer heights. I set steps per mm real careful multiple times. Re calibrated the Z offsets twice. Yet each tool seems to have it's own notion of the layer height. When they are working together after about 2-mm of Z height it becomes a problem.
    Any ideas?
     
  2. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    I use TitanAeros && 3mm filament which are quite heavy. I saw that a little force can bend the nozzle up and down. I cannot see it and dont feel it but +-0.1 are clearly visible for us when creating a first layer as example.

    My filament hangs atop of the TC. So I built adapters to place into the spools so that the spools can deliver the filament of with less force applied. But enough force to stay rolled up.
    That is a problem If you would not use bowden tubes to counteract the pulling force between extruder and spool.

    ?
     
  3. Andy Cohen

    Andy Cohen Well-Known Member

    Joined:
    Aug 23, 2019
    Messages:
    277
    Likes Received:
    62
    I finally figured it out. Yet again my reliance on the provided instructions, settings and files tripped me up. Rather than following the instructions for calibrating multi-tool printing I started from scratch. The 4 lines of gcode starting with the G10 command at the end of the config file. I reset all the Z settings to -5.0. Did a small test print. Too close. Reset all four to -4.5. Better but a bit far. Then-4.75 and it was perfect. Left all four like that and all four heights are just right. But keep in mind the V6s are all using the machined brackets which provide a better tolerance adherence to the length of the V6.

    By the way... I wonder what does one do for calibrating X and Y without the calibration file as an stl? Is it available?
     
  4. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    Rightnow I get different layer heights for each layer I print.
    And I didnt figure out why yet.

    Screenshot_8.jpg
    Just before I had a perimeter printed too high and then the infill completely closed. I checked the gcode for layer heights but they are in a straight 0.2 raster.

    Just in case there are others:
    3.01-RC3
    filament profiles with z-lift
    z jerk at 20
    z max speed at 1200mm/s
    z acceleration at 500mm/s²
    https://github.com/Nibbels/e3d-toolchanger-config

    But I will probably have to solve this by my own.
    I have some feeling ...
    Screenshot_10.jpg
    But I have to see tomorrow.
     
    #4 Nibbels, Mar 18, 2020
    Last edited: Mar 18, 2020
  5. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    My test part is a 3-color piece, no retracts, so the tools always change and print flat areas. At the last color two layers are printed.

    What I now know is that the z is not even whenever my tool comes from the dock.
    Screenshot_11.jpg
    Z should look like: 0.2, 0.4, 0.6, .... 1.4, 1.6, 1.8

    So Z=1.58 is a bit less than I would expect (1.60). The next layer with this tool was Z=1.80.

    This initial difference of -0.02 is not constant, it changes. I saw -0.02, -0.04, -0.10..

    My tool offsets (dZ) are way more different than these tiny amounts of Z.
    So I suspect that this is connected with the z compensation / auto leveling?

    Diagnose: The tool does not seem to find back to its original position and maybe only would correct the difference when Z is steered next. But there is no G1 Zxx which would do that.

    I suspect I know that:
    - tfree{N}.g the system has the tool T{N} coordinates

    - tpre{N+1}.g the system has the tool T-1 coordinates
    - tpost{N+1}.g the system has the tool T{N+1} coordinates

    Within tpost.g I always do a
    G91
    G1 Z10 F7000
    G1 Y-70 F10000
    G90

    So Z is moving within my coordinate system (I guess)! But relative.
    Then the tool moves to the spot where it is needed.

    Hmm, why does E3D turn mesh leveling on every time a tool changes??? I once removed this because I do this at the beginning of the print.
    https://github.com/e3donline/RepRapFirmware-SD/blob/master/sys/tpost3.g

    ;mesh levelling on
    G29 S1​
     
  6. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    Ok, E3D turns on the mesh levelling in tpost.g because they turn it off in tfree.g
    https://github.com/e3donline/RepRap...1a874f5e7f9f74ddc88866fae49a/sys/tfree0.g#L10

    So:
    But the DC42 at "Duet3D / RRF-machine-config-files /dc42-wifi-centreZero-quadTitan/sys/..." does not do that.

    I inserted the code snippets and tested it and G29 did not solve my problem. I still see weird layer heights.

    Again I saw
    Z=0.2

    Z=0.1

    Z=0.11
    Z=0.4

    Z=0.32

    Z=? didnt look

    Z=0.17
    Z=0.6

    Where the double lines were one tool printing two layers. The second is ok, the first always wrong.

    Edit: I read the Gcode again.
    The only places with G1 ... Zxxxx are at the layer changes. Not between the tool changes.
    upload_2020-3-21_1-26-40.png
    That are (99%) the lines which seem to correct my problems.
    So the toolchanges cause a delta Z and at every first G1 .. Zxxx the height is even again?
     
    #6 Nibbels, Mar 21, 2020
    Last edited: Mar 21, 2020
  7. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    So what If those are race conditions of some sort.

    I added M400 into each of the tfree, tpost, tpre files
    upload_2020-3-21_2-13-42.png
    But spreading M400s everywhere did not help at all.

    What actually helps is to type into the console:
    G1 Z0.4 after each tool change in layer 0.4
    G1 Z0.6 after each tool change in layer 0.6
    G1 Z0.8 after each tool change in layer 0.8
    ...
    Z is not the same anymore when the tool comes back to the print after a toolchange. The printer knows where the nozzle is and does not correct it. Some shift of the working coordinate happens while tool is changing.

    While the printer was printing on such a wrong layer height again I typed M409 K"move"
    And got a
    axes :: "letter":"Z" :: "userPosition":0.616
    axes :: "letter":"Z" :: "machinePosition":8.276

    But it was at layer 3 so should have been 0.6

    8.276-0.616 = 7.66 which is exactly the offset of the tool 0.
    Again, when I type G1 Z0.6 the Z gets corrected to 0.6 and the webUI shows Z = 0.6 then.
    But Simplify3D does not insert Z after a tool change. That would solve my problem but not the origin of the problem.

    The auto leveling should be running, because I removed all the previous inserted statements again and still have this
    upload_2020-3-21_2-30-4.png

    It is late now and I am totally out of ideas here.
     
  8. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    Do I get your post right?
    You had different tool offsets (Z) and got layer problems, then you inserted the same offsets for all tools (because you can)
    and you are fine now?

    What version of Firmware are you running?

    My firmware rightnow is:
    Board: Duet WiFi 1.02 or later + DueX5
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.01-RC4 (2020-03-16b1)
    Duet WiFi Server Version: 1.23

    config.g

    G10 P0 X14.1‬0 Y59.75 Z-7.66 ; T0 TitanAero 3mm
    G10 P1 X13.64 Y59.52 Z-7.87 ; T1 TitanAero 3mm
    G10 P2 X19.20 Y44.36 Z-5.38 ; T2 Hemera 1.75mm
     
  9. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    I use a G10 within the filaments configuration ..
    upload_2020-3-21_2-43-37.png

    And M703 ; load filament config
    in each tpost0.g
    upload_2020-3-21_2-44-59.png
    Can this be the bug?
    -> Can a G10 in the filament section do some harm to my layer height when called from the tpostN.g?

    Oh dear .. good night.
     
  10. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,561
    Likes Received:
    483
    I just made my own.

    https://cad.onshape.com/documents/9...751ad0ca5858562e6f/e/a2ed8a5ecdd87bb5e555cbfa

    Feel free to use or adapt. I was a bit frustrated with the original as the slicer wasn't enjoying 0.4 wide tick marks and just redrew the same line, so this one has 0.8 mm lines. You could adjust that for a fatter nozzle should you wish.
     
  11. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    Well, I read alot but my problem still persists.

    It tried this for all tpostN.g:
    Screenshot_8.jpg
    after reading that: https://forum.duet3d.com/topic/9347/tool-offset-ignored-z-axis
    But it did not work better than before. That is weird because according to
    https://duet3d.dozuki.com/Wiki/Gcode#Section_G60_Save_current_position_to_slot
    the pre-change-position should be saved into Slot 2. My guess was that I would correct Z to the pre-toolchange level.

    Still at a layer change from Tool T0 at Z=0.4mm after the change to another tool I have Z=0.32 as example. Or worse. Typing G1 Z0.4 corrects that.



    Then I tried to write some Simplify3D post processing script like
    {REPLACE "T0" "T0\nG1 Z"+[current_position_z]}
    {REPLACE "T1" "T1\nG1 Z"+[current_position_z]}
    {REPLACE "T2" "T2\nG1 Z"+[current_position_z]}
    {REPLACE "T3" "T3\nG1 Z"+[current_position_z]}
    but locations are not available in post processing.

    I cant believe how much bad luck I have on this.
     
  12. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    I have some news.

    Today I adjusted my bed so that the auto leveling does not have so much work.
    I previously had a range of approximatly -0.6 to +0.6.
    Now I have a range of -0.1 to +0.4.
    Screenshot_10.jpg
    And the error I get during tool changes dropped to -0.02 and +0.04 what I saw. Previously I had -0.08 ...

    Maybe some coordinates get shifted when the tools change, or not properly updated. I will see.
    Now my focus is on
    shutting off the bed leveling
    and forcing it back to 0,
    then reactivating it when the tool is selected.
     
  13. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    After some time I did continue to test out my stupid Z offset bug. I used the TC as single hotend workhorse to print face shields so far.

    Another bunch of tests did not fix my problem:
    - A new scan for a new heated bed plate changed/scaled the z-shifts height again.
    - Uncommenting M703 in tpostN.g did not help.
    - I moved the Z shift of 5mm spacing from tpostN to tpreN as @dc42 and @Greg Holloway has it.
    - Adding H2 to all relative Z-Spacings in tpreN.g, tpostN.g, tfreeN.g as seen in pause.g did not help.

    This evening I saw that when a tool got "out of Gcode Z" and I pause the print and resume the print - then another shift happens.
    That makes me think. I probably have no chance to win this.

    pause.g is:
    G91 ; use relative positioning
    G1 H2 Z3 F5000 ; lift Z 3mm
    G90 ; back to absolute positioning
    G1 X0 Y180 F15000 ; move out the way.

    This bug is a real pain to me.

    To explain my bug again: The printer starts printing a layer at Z0.2. Then somewhere a tool change happens and afterwards the Duet Web Control sais Z0.18. So there is a delta of Z-0.02. This delta seems to depend on the selected tool and the scanned height map. (It can be -0.xx or +0.xx but it is always the same amount within the same gcode)
    When the last tool moves to the next layer using G1 Z0.4 the layer height is physically correct again. Then Z again starts to shift when a tool gets changed.
    When I type G1 Z0.4 into the console window the layer height is as well physically correct again.

    When I pause the print in a shifted state and resume (, pause, resume, pause, resume) then each pause adds another delta to Z. That makes it even weirder for me.

    Rightnow I am using the firmware
    Duet Web Control 2.1.1
    Board: Duet 2 WiFi (2WiFi)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.01-RC6 (2020-04-03b3)
    Duet WiFi Server Version: 1.23

    I think about downgrading to RRF2.x
    Is there anyone out there who might have a clue what is hunting me here?
     
  14. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,561
    Likes Received:
    483
    @Nibbels Have you posted this issue to the Duet forum aswell? I'm just thinking that you have far more eyes-on there for what could be a well known issue with a workaround, or people to confirm they also have this bug, if such it is.

    For me, I also thought I noticed a new behaviour yesterday after moving to RC6. When a tool was dropped off at the end of the print, and the head then moves to a park location, I could swear that the Z axis moved. I don't think it should because there's no Z part in that G1 command. As such, when the tool is dropped off, Z should be adjusted based on the difference between the tool Z offset and the no-tool Z offset.
     
    Nibbels likes this.
  15. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    Thx for the hint.

    I guess I will make a video, upload it and share it.
    There are not "thousands" of TC owners I guess, but I suppose that statistically I cannot be alone using a Toolchanger + RRF3.x + Simplify3D.
     
  16. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,561
    Likes Received:
    483
    You're not alone. There's at least you, dc42, and I.
     
  17. dc42

    dc42 Well-Known Member

    Joined:
    Aug 16, 2016
    Messages:
    513
    Likes Received:
    219
    I switched to PrusaSlicer a few days ago in order to use object labelling and firmware retraction. The built-in file upload to Duet is handy too!
     
  18. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    I added my problems description, the link to this thread and a (unlisted) youtube video to the following issue:
    https://github.com/dc42/RepRapFirmware/issues/343
    gtjosephs issue might have some connection to my issue but he didnt add any test-gcode or configuration and further information. Which I did using github.

    I still hope that I dont have to go back to RRF2 because of this. Any ideas are still welcome here.
     
  19. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,561
    Likes Received:
    483
    Watched the video - very odd
    What do you have for your G10 Tool offsets?
    Also - unrelated - your motors are quite loud and can be made much quieter with interpolation.
    If you disable mesh bed levelling before the print starts. Does any of this happen?
    If you switch Tools when a print is not running, does Z magically drift also in this case?
     
    Nibbels likes this.
  20. Nibbels

    Nibbels Well-Known Member

    Joined:
    Dec 12, 2019
    Messages:
    165
    Likes Received:
    32
    Today I was not so much wasted from the day.
    And I removed the bed leveling start codes.
    It seems to resolve my problems. But how can I then use bed leveling ^^.


    About the motors: Those are old printers. The steppers are soldered onto the special board.

    The tools offsets are those:
    https://github.com/Nibbels/e3d-tool...deed3206cf457293b8317dd5ce9/sys/config.g#L167
    ; Tool offsets
    G10 P0 X14.1‬0 Y59.75 Z-7.66 ; T0 TitanAero 3mm
    G10 P1 X13.64 Y59.52 Z-7.87 ; T1 TitanAero 3mm
    G10 P2 X19.20 Y44.36 Z-5.38 ; T2 Hemera 1.75mm -> This offset is copied from the internet and not tuned in.
    G10 P3 X-9 Y39 Z-5 ; T3 Bowden default offset *NOT INSTALLED*
     
    #20 Nibbels, Apr 8, 2020
    Last edited: Apr 8, 2020

Share This Page