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

    Y-offset not being applied

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    2
    6
    277
    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.
    • Madtraxxundefined
      Madtraxx
      last edited by

      Hi all,
      With previous posts getting my UltiDuet (Ultimaker 2 + Duet + Dual nozzle) to work I am now in the final steps of calibration. I seem to have the X and Z offset of my second nozzle calibrated, yet the Y-offset seemns a little off still. In my slicer I have just the same filse sliced and I do tweaks on my config.g file to set the offsets.

      The weird thing is that no matter how much I change the Y-offset my print doesnt seem to line up perfectly, yet the tool change macro I use (to change the nozzle) no longer lines up to its too change position, so some form of offset is being applied, yet not on the print itself.

      This is my config.g:

      ; Configuration file for Duet Ethernet
      ; executed by the firmware on start-up
      
      ; General preferences
      G90                              ; Send absolute coordinates...
      M83                              ; ...but relative extruder moves
      M575 P1 B57600 S1
      
      ; Network
      M550 PUltiDuet                 ; Set machine name
      M552 S1               	       ; enable network
      M586 P0 S1                     ; enable HTTP
      M586 P1 S0                     ; disable FTP
      M586 P2 S0                     ; disable Telnet
      
      ; Drives
      M569 P0 S1                       ; Drive 0 goes backwards
      M569 P1 S0                       ; Drive 1 goes forwards
      M569 P2 S0                       ; Drive 2 goes backwards
      M569 P3 S0                       ; Drive 3 goes forwards
      M569 P4 S0                       ; Drive 4 goes forwards
      M584 X0 Y1 Z2 E3:4
      M350 E256:256 I0 ; Disable interpolation on extruder
      M350 X16 Y16 Z16 I1          ; Configure microstepping with interpolation
      M92 X80 Y80 Z400 E6500:6500            ; Set steps per mm
      M566 X900 Y900 Z12 E500          ; Set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z2400 E2700   ; Set maximum speeds (mm/min)
      M201 X3000 Y3000 Z500 E1500      ; Set accelerations (mm/s^2)
      M906 X1200 Y1200 Z1200 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
      M84 S30                          ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                 ; Set axis minima
      M208 X220 Y220 Z213 S0           ; Set axis maxima
      
      ; Endstops
      M574 X1 S1 P"!xstop"
      M574 Y2 S1 P"!ystop"
      M574 Z2 S1 P"!zstop"
      
      ; Z-Probe
      M558 P0 H5 F120 T6000            ; Disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:210 S20         ; Define mesh grid
      
      ;Heaters version 3
      M308 S0 P"spi.cs2" Y"rtd-max31865"
      M308 S1 P"spi.cs1" Y"rtd-max31865"
      M308 S2 P"spi.cs3" Y"rtd-max31865"
      M950 H0 C"bed_heat" T0
      M950 H1 C"e0_heat" T1
      M950 H2 C"e1_heat" T2
      M140 H0
      M307 H0 B0 S0.80                 ; Disable bang-bang mode for the bed heater and set PWM limit
      
      ; Fans
      M950 F0 C"fan0" Q500
      M950 F1 C"fan1" Q500
      M950 F2 C"fan2"
      M106 P0 S0 I0 H-1           	 ; Set fan 0 - print cooling side fans
      M106 P1 S255 I0 H1:2 T35    ; Set fan 1 - heatsinkfan -value, 
      M106 P2 S160 I0 H-1         	 ; Set lights
      
      ; Tools
      M563 P0 D0 H1                    ; 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
      M563 P1 D1 H2                    ; Define tool 1
      G10 P1 X19.1 Y-1.5 Z-1.25                 ; Set tool 0 axis offsets
      G10 P1 R0 S0                     ; Set initial tool 0 active and standby temperatures to 0C
      ;M572 D0 S0.6					 ; Set Pressure advance
      
      ; Automatic saving after power loss is not enabled
      ; Custom settings are not configured
      
      M501                             ; Set the active parameters to those stored in sys/config-override.g on the SD card
      

      For tool 0 I dont have any offset, and just for Tool 1 the actual nozzle position changes:
      tfree1.g: Sadly I couldnt retrieve the offsets here to calculate in, so I had to calculate it manually

      ; called when tool 1 is freed
      ;
      ; To make sure the printhead doesnt crash into the dock
      if {move.axes[0].machinePosition > 197.0}
        G90
        G0 F8000 X196
      G90
      if state.currentTool == 1
        G0 F8000 X215.1 Y182.35
        G0 X223.1 Y182.35
        G0 X223.1 Y202.35
        G0 X215.1 Y202.35
        G10 P1 X19.1 Y-0.65 Z-1.25  
      else
        G0 F8000 X196 Y183
        G0 X204 Y183
        G0 X204 Y203
        G0 X196 Y203
      

      tpre1.g:

      if {move.axes[2].machinePosition < 2}
        G91
        G0 Z2
        M98 P"/macros/Nozzle_2_Enable"
        G91
        G0 Z-2
      else
        M98 P"/macros/Nozzle_2_Enable"
      

      where Nozzle_2_Enable:

      if {move.axes[2].machinePosition < 5}
        G91
        G0 Z5
        if {move.axes[0].machinePosition > 197.0}
          G90
          G0 F8000 X196
        G90
        G0 F8000 X196 Y220
        G0 X206 Y220
        G0 X206 Y201
        G0 X196 Y201
        G91
        G0 Z-5
      else
        G91
        if {move.axes[0].machinePosition > 197.0}
          G90
          G0 F8000 X196
        G90
        G0 F8000 X196 Y220
        G0 X206 Y220
        G0 X206 Y201
        G0 X196 Y201
      
      1 Reply Last reply Reply Quote 0
      • Madtraxxundefined
        Madtraxx
        last edited by Madtraxx

        And some pictures for reference that I am very happy with my results thus far! (except the tiny Y-offset)

        703939b3-d9f1-478a-be44-403e643c6969.jpg

        And a video (to see the tool change working)
        VID_20210304_112944_01_432x768.mp4

        1 Reply Last reply Reply Quote 0
        • Madtraxxundefined
          Madtraxx
          last edited by

          I also tried setting the G10 offset in between prints using the same Gcode, and I see no Y-offset being applied at all. When I apply the offset and move the printhead to the same position (for example X100 Y100) I do see the difference in Y, yet in the print itself it doesn't seem to work.

          1 Reply Last reply Reply Quote 1
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            What firmware version?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • Madtraxxundefined
              Madtraxx
              last edited by

              I am using RRF 3.2.2.
              I got a -sorta- fix. Apparently the offset of the second nozzle isn't applied, yet when I apply it to the first nozzle it seems to work. Maybe this would need more investigation why the y-offset is only applied on the first nozzle and not the second.

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                Have you tried without the conditional gcode setup?

                Z-Bot CoreXY Build | 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