Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Unsolved AON-M1 (powered by Duet 3): dual extruder slicing

    Duet Hardware and wiring
    2
    3
    111
    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.
    • kroybal
      kroybal last edited by kroybal

      My AON-M1 is officially running on a duet3 MB 6HC board. So far it's running great, I can slice using only one extruder for now. I encounter issues with prints running both independent extruder axes (X for primary & U for secondary/support)

      When I slice (Simplify3D using AON-M2 settings which worked well with the previous stock control board) using both extruders The X extruder runs as desired, however, during a tool change it is supposed to tuck the Left (X-primary) extruder to the side, then run the Right (U-support/secondary) extruder to lay some support material down.

      I am assuming the issue here is how I declare my tools. Simplify3D talks to the heaters and extruders via tool definitions as follows:
      T0 -- Left Extruder
      T1 -- Right Extruder
      T3 -- Chamber

      I intend to map my U-Axis T1 Right Extruder to cooperate with X-coordinates.
      If I have 8 drivers 6 to move axes and 2 to run the extruders how exactly does the M563 map tool movement?

      Quick View tool assignments:

      ; ======={ Tools}==========================================
      M563 P0 S"LEFT" D0 H1 							; define tool 0
      G10 P0 X-80 Y-10 Z0                             ; set tool 0 axis offsets
      M563 P1 S"RIGHT" D1 X3 H2			            ; define tool 1 --- Map to U to X-Axis
      G10 P1 U587 Y-10 Z0                             ; set tool 1 axis offsets   
      M563 P2 S"Chamber" H3							; added for Simplify3d compatibility
      

      Full Gcode:

      ; Axis Definitions====>>>>>
      ; X = Left (on X-axis) Extruder U = Right (on X-axis) Extruder /// Y = Y-Axis /// Z = Z-Axis
      
      ; ======={ Drives }========================================	
      ; 0.x corresponds to main board /// 20.x corresponds to tooloard-1 /// 21.x corresponds to toolboard-2
      ; X
      M569 P20.0 S0                                   ; physical drive 0.0 goes forwards
      M569 P21.0 S0									; physical drive 0.1 goes forwards
      ; Y
      M569 P0.2 S0                                    ; physical drive 0.2 goes forwards
      M569 P0.3 S1									; physical drive 0.3 goes backwards
      ; Z
      M569 P0.4 S0                                    ; physical drive 0.4 goes backwards
      M569 P0.5 S0									; physical drive 0.5 goes backwards
      
      ; ======={ Extruders }=====================================
      M569 P0.0 S1                                    ; physical drive 1.0 goes forwards
      M569 P0.1 S1                                    ; physical drive 2.0 goes forwards
      M584 X20.0 Y0.2:0.3 Z0.4:0.5 U21.0 E0.0:0.1     ; set drive mapping
      
      ; ======={ Movement }======================================
      M350 X16 Y16 Z16 U16 E16:16 								; configure microstepping with interpolation
      M92 X81.387 Y81.275 Z1606.43 U81.387 E92.59:92.59			; set steps per mm
      M566 X900.00 Y900.00 Z24.00 U900.00 E240.00:240.00			; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z360.00 U6000.00 E1200:00:1200.00	; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 U500.00 Y500.00 Z20.00 U500.00 	; set accelerations (mm/s^2)
      M906 X700 Y700 Z700 E500:500 U700 I30						; set motor currents (mA) and motor idle factor in percent
      M84 S20                                         			; Set idle timeout
      
      ; ======={ Axis Limits }===================================
      M208 X0 Y0 Z0 U64 S1                                    ; set axis minima
      M208 X523 Y437 Z640 U587 S0                      	     ; set axis maxima
      
      ; ======={ Endstops }======================================
      M574 X1 S1 P"!20.io0.in"							;X-Min Homes Left carriage as Endstop index 0
      M574 Y1 S1 P"!io5.in"								;Y-Max Homes Y as endstop index 1
      M574 Z1 S1 P"!io3.in+!io4.in"						;Z-Min Homes Z (bed) as endstop index 2
      M574 U2 S1 P"!21.io0.in"							;U-Max Homes Right carriage as Endstop index 3
      
      ; ======={ Z-Probe }=======================================
      M558 P0 H5 F120 T6000                           ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:439 Y15:439 S20                        ; define mesh grid
      ;M558 P2 H5 F120 T6000							; enable modulated IR Z probe sensor, dive height, probe speed and travel speed
      
      ; ======={ Heaters }=======================================
      ; Bed>>>
      M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Bed"    ; configure sensor 0 as thermocouple temp0 pin
      M950 H0 C"out1" T0                              ; create bed heater output on out1 and map it to sensor 0
      M307 H0 A66.6 C305.2 D0.3 V24.3 B0                    ; enable bang-bang mode for the bed heater and set PWM limit
      ;M307 H0 B0
      M140 H0                                         ; map heated bed to heater 0
      M143 H0 S150                                    ; set temperature limit for heater 0 to 150C
      
      ; Left nozzle>>>
      M308 S1 P"spi.cs0" Y"rtdmax31865" A"PT100 (L)"  ; configure sensor 1 as thermocouple via CS pin spi.cs0
      M950 H1 C"out0" T1                              ; create nozzle heater output on 1.out0 and map it to sensor 1
      M307 H1 A797.1 C281.0 D4.8 V24.3 B0             ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S510									; set temperature limit for heater 1 to 510C
      
      ; Right nozzle>>>
      M308 S2 P"spi.cs1" Y"rtdmax31865" A"PT100 (R)"  ; configure sensor 2 as thermocouple via CS pin spi.cs1
      M950 H2 C"out3" T2                              ; create nozzle heater output on 2.out0 and map it to sensor 2
      M307 H2 A797.1 C281.0 D4.8 V24.3 B0                   ; disable bang-bang mode for heater  and set PWM limit
      M143 H2 S510									; set temperature limit for heater 2 to 510C
      
      ; Chamber>>>
      M308 S3 P"temp1" Y"thermistor" T100000 B4138 A"Chamber" ; configure sensor 1 as thermocouple via temp1 pin
      M950 H3 C"out2" T3                              		; create chamber heater output on out2 and map it to sensor 1
      M307 H3 A420.0 C140.0 D90 B0                    		; enable bang-bang mode for the chamber heater and set PWM limit
      ;M307 H3 B0;
      M141 H3                                         		; map chamber to heater 1
      M570 H3 S600
      
      ; ======={ Fans }==========================================
      M950 F0 C"out4" Q500                            ; create fan 0 on pin out4 and set its frequency
      M106 P0 S1 H-1                                  ; set fan 0 value. Thermostatic control is turned off
      ;M950 F1 C"out5" Q500                           ; create fan 1 on pin out5 and set its frequency
      ;M106 P1 S1 H-1                                 ; set fan 1 value. Thermostatic control is turned off
      
      ; ======={ Tools}==========================================
      M563 P0 S"LEFT" D0 H1 							; define tool 0
      G10 P0 X-80 Y-10 Z0                             ; set tool 0 axis offsets
      M563 P1 S"RIGHT" D1 X3 H2			            ; define tool 1
      G10 P1 U587 Y-10 Z0                             ; set tool 1 axis offsets   
      M563 P2 S"Chamber" H3
      G10 P2 X0 Y0 Z0
      
      ; ========{ Filament Monitoring }==========================
      M591 D0.0 P5 C"io1.in" R40:120 E3.0 S0			;Driver 0.0, laser sensor, pinname, Tol. 40-120%, 3.0mm detection, enabled
      M591 D0.1 P5 C"io2.in" R40:120 E3.0 S0			;Driver 0.1, laser sensor, pinname, Tol. 40-120%, 3.0mm detection, enabled
      
      ; ========={ Miscellaneous }===============================
      M575 P1 S1 B57600                               ; enable support for PanelDue
      
      
      1 Reply Last reply Reply Quote 0
      • T3P3Tony
        T3P3Tony administrators last edited by

        @kroybal do you have the X and U axis moved by toolboards, and the extruders driven by the mainboard? That's quite an odd arrangement (normally would be the other way around).

        You would typically have the actions you wand to take when changing tools in the tool change macros in the /sys/ directory see

        https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Tool_change_files

        Then the slicer only needs to sent T0, T1 and the various actions you want to take will run.

        www.duet3d.com

        kroybal 1 Reply Last reply Reply Quote 0
        • kroybal
          kroybal @T3P3Tony last edited by kroybal

          @T3P3Tony The arrangement is odd, I originally had my extruders ran on the tool board but since they are monitored by PT100 and IR filament monitoring sensors (not supported by the toolboards per documentation) I was left with no other option but to have the extruder drives/hot end heaters on the mainboard otherwise I would not be able to filament monitor, and my heaters were faulting out.

          Despite everything, I did manage to get my setup running, after a long battle of setting accurate tool offsets. Currently I am experiencing some curious layer shifting that has occurred in my most recent print , I plan on running another print and re-slicing the same setup to see if it was an isolated incident.

          IMG_0440.jpg
          -Positive X direction towards the right.
          -Positive Y Direction into the image.

          Layer shift towards the positive right direction for layers 9 to 20 approximately.

          You would typically have the actions you wand to take when changing tools in the tool change macros in the /sys/ directory see

          https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Tool_change_files

          I will read through the documentation. As of current I have tool change scripts at a slicer level and not through the config/firmware of the machine which could complicate using this machine if there ever was (very unlikely) a slicer software change at the shop.

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