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

    Tool setup: Motor, Extruder & Heater mapping

    Scheduled Pinned Locked Moved Solved
    General Discussion
    5
    23
    685
    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.
    • kroybalundefined
      kroybal
      last edited by

      I am setting up an AON-M1 printer. It has 2 independent carriages that travel along the X-Axis. It uses 2 motors to move the Y-Axis, and 2 motors to run the Z-Axis. I have 8 drivers occupied, 6 that drive the axes on the duet3 6HC and 2 that drive extruders on two toolboards attached to my tool distribution board.

      There will be two separate tools. One being the left carriage, and two being the right carriage.

      Mapping:

      ; ======={ Drives }======================================== 
      ; 0.x corresponds to main board /// 1.x corresponds to tooloard-1 /// 2.x corresponds to toolboard-2
      ; X
      M569 P0.0 S1                                    ; physical drive 0.0 goes forwards
      M569 P0.1 S1 ; physical drive 0.1 goes forwards
      ; Y
      M569 P0.2 S1                                    ; physical drive 0.2 goes forwards
      M569 P0.3 S0 ; 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 P1.0 S1                                    ; physical drive 1.0 goes forwards
      M569 P2.0 S1                                    ; physical drive 2.0 goes forwards
      M584 X0.0 Y0.2:0.3 Z0.4:0.5 U0.1 E1.0:2.0       ; set drive mapping
      

      Tool Definition:

      ; ======={ Tools}==========================================
      M563 P0 S"LEFT" D1.0 H0 X1 F0 ; define tool 0
      G10 P0 X0 Y0 Z0                                 ; set tool 0 axis offsets
      G10 P0 R35 S150                                 ; set initial tool 0 active and standby temperatures to 0C
      M563 P1 S"RIGHT" D2.0 H1 X3 F1                ; define tool 1
      G10 P1 X0 Y0 Z0                                 ; set tool 1 axis offsets
      G10 P1 R35 S150                                 ; set initial tool 1 active and standby temperatures to 0C
      

      Heaters:

      ; ======={ Heaters }=======================================
      ; Left nozzle>>>
      M308 S0 P"spi.cs0" Y"rtdmax31865" A"PT100 (L)" ; configure sensor 0 as thermocouple via CS pin spi.cs0
      M950 H0 C"1.out0" T0                            ; create nozzle heater output on 1.out0 and map it to sensor 0
      M307 H0 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
      H143 H0 S300 ; set temperature limit for heater 0 to 300C
      
      ; Right nozzle>>>
      M308 S1 P"spi.cs1" Y"rtdmax31865" A"PT100 (R)" ; configure sensor 1 as thermocouple via CS pin spi.cs1
      M950 H1 C"2.out0" T1                            ; create nozzle heater output on 2.out0 and map it to sensor 1
      M307 H1 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
      H143 H1 S300 ; set temperature limit for heater 1 to 300C
      

      For the tool definition, I am trying to map the extruder drivers. The DWC will show the tools if I use integers i.e. "D1" or "D2"... but I have the impression that my extruders are mapped to physical drives 1.0 & 2.0.

      However, upon doing so my DWC fails to recognize any tools. Could someone help explain how I have my stuff mapped out and why I cannot heat up my hotend?

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

        @kroybal I have only skimmed over your post so I may have missed something but I think you have fallen for a common "gotcha". When you assign motors using M584, the first extruder becomes 0 and the second becomes extruder drive 1. So then when you define tools, the first will be tool 0 using extruder 0, and the second will be tool 1 using extruder 1. Regardless of which physical drive is mapped in M584, the first extruder will always be D0 when you define the tools (not D1).

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 1
        • kroybalundefined
          kroybal
          last edited by

          @deckingman oh right on, well understood. Yeah that does seem feasible I will try it when I'm back in the machine shop.

          Thank you for the response.

          1 Reply Last reply Reply Quote 0
          • kroybalundefined
            kroybal
            last edited by

            @deckingman The D0/D1 assignment seem to work now the DWC is showing my tools. However, the DWC suggests that I do not have a heater assigned to either extruder.

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

              @kroybal said in Tool setup: Motor, Extruder & Heater mapping:

              @deckingman The D0/D1 assignment seem to work now the DWC is showing my tools. However, the DWC suggests that I do not have a heater assigned to either extruder.

              Not sure that understand your comment. Heaters get assigned to tools, and extruders get assigned to tools, but heaters aren't assigned to extruders. It's because a heater is an entity on it's own and so is an extruder but a tool can be any combination of one or more heaters and one or more extruders. Does that help?

              EDIT. I think you may have another problem which is that by default, heater 0 is usually the heated bed and the first hot end heater is heater 1. So you might need to define those three heaters and assign heater1 to tool 0, and heater 2 to tool 1.

              It will probably be best if you post your entire config.g file.

              Ian
              https://somei3deas.wordpress.com/
              https://www.youtube.com/@deckingman

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

                @deckingman Sorry for the confusion it was a miss-label I meant the tool. I understand an extruder, fan, heater etc. can be combined into a single tool setup. In this case, as seen above in the code, I feel as if I have correctly assigned a heater to the tool. I am probably overlooking a syntactical error or just forgetting something altogether.

                edit: I got you, another one of those "gotcha" moments. I also have a heated chamber how does that come into play? (4-heaters in total)

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

                  @kroybal said in Tool setup: Motor, Extruder & Heater mapping:

                  @deckingman Sorry for the confusion it was a miss-label I meant the tool. I understand an extruder, fan, heater etc. can be combined into a single tool setup. In this case, as seen above in the code, I feel as if I have correctly assigned a heater to the tool. I am probably overlooking a syntactical error or just forgetting something altogether.

                  edit: I got you, another one of those "gotcha" moments. I also have a heated chamber how does that come into play? (4-heaters in total)

                  Post you entire config.g and describe what heaters you want to do what.

                  Ian
                  https://somei3deas.wordpress.com/
                  https://www.youtube.com/@deckingman

                  1 Reply Last reply Reply Quote 0
                  • kroybalundefined
                    kroybal
                    last edited by

                    ; ======={ Drives }========================================	
                    ; 0.x corresponds to main board /// 1.x corresponds to tooloard-1 /// 2.x corresponds to toolboard-2
                    ; X
                    M569 P0.0 S1                                    ; physical drive 0.0 goes forwards
                    M569 P0.1 S1									; physical drive 0.1 goes forwards
                    ; Y
                    M569 P0.2 S1                                    ; physical drive 0.2 goes forwards
                    M569 P0.3 S0									; 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 P1.0 S1                                    ; physical drive 1.0 goes forwards
                    M569 P2.0 S1                                    ; physical drive 2.0 goes forwards
                    M584 X0.0 Y0.2:0.3 Z0.4:0.5 U0.1 E1.0:2.0       ; set drive mapping
                    
                    ; ======={ Added Axes }====================================
                    M350 X16 Y16 Z16 U16 E16:16 E1.9:2.0						; configure microstepping with interpolation
                    M92 X80.00 Y80.00 Z400.00 U80.00 E420.00:420.00				; set steps per mm
                    M566 X900.00 Y900.00 Z12.00 U900.00 E120.00:120.00			; set maximum instantaneous speed changes (mm/min)
                    M203 X6000.00 Y6000.00 Z180.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 X300 Y300 Z800 E300:300 U300 I30						; set motor currents (mA) and motor idle factor in percent
                    M84 S20                                         			; Set idle timeout
                    
                    ; ======={ Axis Limits }===================================
                    M208 X0 Y0 Z0 U61 S1                               		 ; set axis minima
                    M208 X393 Y454 Z640 U454 S0                      	     ; set axis maxima
                    
                    ; ======={ Endstops }======================================
                    M574 X2 S1 P"!io1.in"							;X-Max switch active-low
                    M574 X1 S1 P"!io2.in"							;X-Min switch active-low
                    M574 Y2 S1 P"!io3.in"							;Y-Max switch active-low
                    M574 Z1 S1 P"!io4.in"					        ;Z-Max switch active-low
                    
                    ; ======={ 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 }=======================================
                    ; Left nozzle>>>
                    M308 S2 P"spi.cs0" Y"rtdmax31865" A"PT100 (L)" ; configure sensor 2 as thermocouple via CS pin spi.cs0
                    M950 H2 C"1.out0" T2                            ; create nozzle heater output on 1.out0 and map it to sensor 2
                    M307 H2 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
                    H143 H2 S300									; set temperature limit for heater 2 to 300C
                    
                    ; Right nozzle>>>
                    M308 S3 P"spi.cs1" Y"rtdmax31865" A"PT100 (R)" ; configure sensor 3 as thermocouple via CS pin spi.cs1
                    M950 H3 C"2.out0" T3                            ; create nozzle heater output on 2.out0 and map it to sensor 3
                    M307 H3 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
                    H143 H3 S300									; set temperature limit for heater 3 to 300C
                    
                    ; Bed>>>
                    M308 S0 P"temp0" Y"thermistor" T100000 B4138    ; 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 B1 S1.00                                ; enable bang-bang mode for the bed heater and set PWM limit
                    M140 H0                                         ; map heated bed to heater 0
                    M143 H0 S280                                    ; set temperature limit for heater 0 to 280C
                    
                    ; Chamber>>>
                    M308 S1 P"temp1" Y"thermistor" T100000 B4138    ; configure sensor 1 as thermocouple via temp1 pin
                    M950 H1 C"out2" T1                              ; create chamber heater output on out2 and map it to sensor 1
                    M307 H1 B1 S1.00                                ; enable bang-bang mode for the chamber heater and set PWM limit
                    M141 H1                                         ; map chamber to heater 1
                    
                    ; ======={ 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 H3 							; define tool 0
                    G10 P0 X0 Y0 Z0                                 ; set tool 0 axis offsets
                    G10 P0 R35 S150                                 ; set initial tool 0 active and standby temperatures to 0C
                    M563 P1 S"RIGHT" D1 H4			                ; define tool 1
                    G10 P1 X0 Y0 Z0                                 ; set tool 1 axis offsets
                    G10 P1 R35 S150                                 ; set initial tool 1 active and standby temperatures to 0C
                    
                    ; ========{ Filament Monitoring }==========================
                    ; M591 D1.0 P5 C"1.io_0" R40:120 E3.0 S0			;Driver 1.0, laser sensor, pinname, Tol. 40-120%, 3.0mm detection, disabled
                    ; M591 D2.0 P5 C"2.io_0" R40:120 E3.0 S0			;Driver 2.0, laser sensor, pinname, Tol. 40-120%, 3.0mm detection, disabled
                    
                    ; ========={ Miscellaneous }===============================
                    M575 P1 S1 B57600                               ; enable support for PanelDue
                    
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • kroybalundefined
                      kroybal
                      last edited by

                      @deckingman I would like Tool 0 to be my left carriage that runs along the x-axis grabbing heater 2, Tool 1 being my right carriage that runs along the x-axis independent of Tool 0 assigning the other available heater 3. I also have a heated chamber(H1) and bed (H0). Which are recognized in the DWC with the current config.g

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

                        @kroybal So your heater definitions looks about right at a glance. You have H0 as the bed, H1 as the chamber, and H2 and 3 being the two hot end heaters. But your tool definitions are wrong. For the left tool you have M563 P0 S"LEFT" D0 H3 but if you want to use heater 2, the you need to change that H3 to H2. Similarly, for the right tool you have M563 P1 S"RIGHT" D1 H4 but heater 4 does not exist and if you want it to be heater 3, then you need to change that H4 to H3.

                        One other thing that leapt out at me (but is unrelated to heaters) is this
                        M350 X16 Y16 Z16 U16 E16:16 E1.9:2.0

                        That "E1.9:2.0" on the end makes no sense - remove it.

                        Oh, and I don't see any M669 at the beginning of your config.g to define the kinematics type either. I guess that'll be OK if your kinematics happen to be the default which I think is Cartesian.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

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

                          ; ======={ Tools}==========================================
                          M563 P0 S"LEFT" D0 H2 				; define tool 0
                          G10 P0 X0 Y0 Z0                                 ; set tool 0 axis offsets
                          G10 P0 R35 S150                                 ; set initial tool 0 active and standby temperatures to 0C
                          M563 P1 S"RIGHT" D1 H3			        ; define tool 1
                          G10 P1 X0 Y0 Z0                                 ; set tool 1 axis offsets
                          G10 P1 R35 S150                                 ; set initial tool 1 active and standby temperatures to 0C
                          

                          With the updated corrections the DWC still shows that my Tool-0 and my Tool-1 have no assigned heaters.

                          @deckingman said in Tool setup: Motor, Extruder & Heater mapping:

                          One other thing that leapt out at me (but is unrelated to heaters) is this
                          M350 X16 Y16 Z16 U16 E16:16 E1.9:2.0

                          That "E1.9:2.0" on the end makes no sense - remove it.

                          RE: I removed it, I am pretty sure that just spat out from the configurator. I still have to calibrate once I get everything ready to move and heat.

                          Oh, and I don't see any M669 at the beginning of your config.g to define the kinematics type either. I guess that'll be OK if your kinematics happen to be the default which I think is Cartesian.

                          RE: It is being ran under a cartesian setup.

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

                            Can you send M98 P"config.g" and report the results?

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              I have some wires not connected, such as AC the signal wire for the IDEC relay for both the bed and chamber. My hotends are capable of going above 400C from what I've been told.

                              @Phaedrux
                              9/30/2020, 4:02:14 PM Error: Response timeout: CAN addr 2, req type 6026, RID=18
                              Error: Heater 3 not found
                              Error: Bad command: H143 H3 S300
                              Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
                              Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
                              9/30/2020, 4:02:12 PM Error: Response timeout: CAN addr 1, req type 6017, RID=14
                              Response timeout: CAN addr 2, req type 6017, RID=15
                              Error: bad grid definition: Too many grid points; suggest increase spacing to 21.2mm
                              Error: Response timeout: CAN addr 1, req type 6026, RID=16
                              Error: Heater 2 not found
                              Error: Bad command: H143 H2 S300
                              9/30/2020, 4:02:07 PM Error: Response timeout: CAN addr 1, req type 6021, RID=12
                              Response timeout: CAN addr 2, req type 6021, RID=13
                              Error: in file macro line 42 column 50: M203: array too long, max length = 2
                              9/30/2020, 4:02:05 PM Error: Response timeout: CAN addr 2, req type 6018, RID=11
                              9/30/2020, 4:02:04 PM Error: Response timeout: CAN addr 1, req type 6018, RID=10

                              "Error response too long"

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

                                @kroybal said in Tool setup: Motor, Extruder & Heater mapping:

                                "Error response too long"

                                Send from the gcode console window itself.

                                Z-Bot CoreXY Build | Thingiverse Profile

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

                                  Have you set the address of your toolboards?

                                  https://duet3d.dozuki.com/Wiki/Duet_3_Tool_Board#Section_Commissioning_a_new_Tool_Board

                                  @kroybal said in Tool setup: Motor, Extruder & Heater mapping:

                                  Error: Bad command: H143 H3 S300

                                  I'm not sure if it matters, but I notice you are definining heaters 2 and 3 before you define heaters 0 and 1. I suggest rearranging that to start with 0 and move up from there.

                                  Z-Bot CoreXY Build | Thingiverse Profile

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

                                    @Phaedrux said in Tool setup: Motor, Extruder & Heater mapping:

                                    Send from the gcode console window itself.

                                    I sent "M98 P"config.g" as a command through the Console tab using the DWC and it still reports "Response too long, see Console". I am pretty certain I am sending the command through the gcode console window, unless there is another prompt which I can send code.

                                    Have you set the address of your toolboards?

                                    Check later for an updated edit. I will work on addressing the toolboards now.

                                    EDIT: according to the section
                                    https://duet3d.dozuki.com/Wiki/Duet_3_Tool_Board#Section_Buttons_and_LEDs
                                    I am not seeing a flashing red LED whatsoever, which would suggest sync between the board and my Duet3. I do have the Vin LED fired up indicating power. Perhaps there is a common wiring issue that can occur here?

                                    Describing my setup I have an RJ11 wire going straight through to my distribution board, and on my tool distribution board I have jumpers across the CAN out standoff. I also have jumpers across the bypass standoffs on T2 and T3 ports (I am planning to only use T0 & T1.) Currently the distribution board is grabbing 24V & 15A. I have two CAN-FD cables running straight through from the distribution board to my two separate toolboards.

                                    dc42undefined 1 Reply Last reply Reply Quote 0
                                    • kroybalundefined
                                      kroybal
                                      last edited by

                                      Toolboards.jpeg

                                      1 Reply Last reply Reply Quote 0
                                      • T3P3Tonyundefined
                                        T3P3Tony administrators
                                        last edited by

                                        @kroybal as you describe this it should work.

                                        to help with diagnosis can you try one tool board at a time. (with the jumper to bypass the other). Also its worth checking the continuity between the Duet 3 CAN header and the tool distribution board CAN header (you can do this with a multimeter with the power turned off)

                                        www.duet3d.com

                                        kroybalundefined 1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators @kroybal
                                          last edited by

                                          @kroybal said in Tool setup: Motor, Extruder & Heater mapping:

                                          I am not seeing a flashing red LED whatsoever, which would suggest sync between the board and my Duet3. I do have the Vin LED fired up indicating power.

                                          As well as the blue VIN LED on the tool board being lit when you apply VIN power, is the red 5V LED next to it lit?

                                          Duet WiFi hardware designer and firmware engineer
                                          Please do not ask me for Duet support via PM or email, use the forum
                                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                                          kroybalundefined 2 Replies Last reply Reply Quote 0
                                          • kroybalundefined
                                            kroybal @T3P3Tony
                                            last edited by kroybal

                                            @T3P3Tony I have yet to check for continuity I will get to that when I reinstall the boards. I have reduced the setup to just the one toolboard for now and will add the other once its properly commissioned.

                                            EDIT: I checked for continuity from one end of the JST ZH to the opposite and each pin had continuity across. I did the same for the RJ11 cable that I am using. every wire/pin being used is in operating condition.

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