Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Calibration Routine for Dual Extruder printers

    Scheduled Pinned Locked Moved
    Gcode meta commands
    1
    1
    255
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • MacNiteundefined
      MacNite
      last edited by

      Hey guys,

      I want to create a calibration routine for the IDEX and LiftingHotend printers I develope together with @CR3D .

      I already asked here, but I think that was the wrong category.
      https://forum.duet3d.com/topic/21737/rrf3-dual-extruder-calibration-tool-and-nozzle-offset/5?_=1614279002208

      For this I want to "built" a routine which shall work like the following diagram:

      alt text

      I have multiple issues at the moment - I added my code below:

      1. Is it possible to make a "loop" that waits for user Interaction? I.e. if the z-height is ok? yes: continue, no: repeat certain part of code.
      2. What is the proper way to store the tool offset? M500 only store coorinate system offsets. I thought of writing to files (The M28 commands starting in line 28). The problem is: the content of the file then is :
      G10 P1 Z{-axes[3].position}
      

      But I want it to be

      G10 P1 Z-2.2
      

      Additionally these files are generated in the /gcode folder. I want them to be hidden or inside the macro folder so the user does not accidentally delete them.
      3. Is there a way to ask / query the firmware if filament is loaded. Primarly I want to ask the firmware, if the filament runout sensor is triggerd. I really don't know how to "properly" use the object model...maybe it is in there and I am just blind...

      ; add tool1offset_z.g and tool2offset_z.g to config.g with M98 P"tool1offset_z.g" M98 P"tool2offset_z.g"
      ; built z-calibration gcode - 20x20 square 
      ; built x-y-calibration gcode
      
      M291 P"This will reset all previous defined tool offsets to the default values. Do you want to continue?" R"Calibration of Tool Offsets" S3
      ;M561                    			; clear any bed transform
      G28
      M104 S215 T1						; active & standby Temperature for Tool 1 200°C
      M104 S215 T2						; active & standby Temperature for Tool 2 200°C
      M140 S65							; set Bed Temperature to 65°C
      G10 P1 X-10 Y0 Z0					; set Tool 1 offsets to default values
      G10 P2 X10 Y0 Z0					; set Tool 1 offsets to default values
      G1 Z5
      
      	; check if Filament is loaded in tool 1
      ;if FILAMENT_LOADED_T1 == TRUE Then
      ;ELSE
      ;T1
      ;M701 S"PLA"
      	; chek if Filament is loaded in tool 2
      ;if FILAMENT_LOADED_T2 == TRUE Then
      ;ELSE
      ;T2
      ;M701 S"PLA"
      
      	; start z-calibration routine
      ;##marker-mc-markface
      M291 P"Put a piece of Paper on the built plate" R"Calibration of z-Position" S2
      T1
      M291 P"Move the Bed up using the buttons until the paper slightly graps on the nozzle" R"Calibration of z-Position- Tool 1" S3 X0 Y0 Z1
      M28 tool1offset_z.g 			; generate file for z-offset Tool1
      G10 P1 Z{-axes[3].position}		; set z-offset of Tool1 to value from last calibration
      M29
      G1 Z5
      T2
      M291 P"Move the Bed up using the buttons until the paper slightly graps on the nozzle" R"Calibration of z-Position- Tool 2" S3 X0 Y0 Z1
      M28 tool2offset_z.g 			; generate file for z-offset Tool1
      G10 P2 Z{-axes[3].position}		; set z-offset of Tool2 to value from last calibration
      M29
      G1 Z5
      M291 P"Remove Piece of Paper" R"Calibration of z-Position" S2
      
      	; start test print for z-calibration
      ;M98 P"z_test_print.g"				; Print z-calibration lines
      
      	; ask user if he is satisfied
      ;If-Statement to ask user if z-offset is fine or z-calibration has to re-run, for rerun re_turn to ##marker-mc-markface
      
      	;start xy offset calibration
      
      
      ; to come....
      

      Thank you for your help. I think together we might be able to built a routin that will every dual extruder printer which uses RRF.

      Stay safe.
      Max

      CorEssentials on GitHub | Instructables Profile | Thingiverse Profile

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Unless otherwise noted, all forum content is licensed under CC-BY-SA