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

    Toolboard 1LC GCode

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    13
    949
    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.
    • dc42undefined
      dc42 administrators
      last edited by dc42

      If you run M98 P"config.g" do you see any error messages?

      PS - also send the following commands from the console to check that the devices have been configured as expected:

      M584
      M308 S0
      M950 H1

      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

      1 Reply Last reply Reply Quote 0
      • chobletundefined
        choblet
        last edited by

        M98 P"config.g"
        Error: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname
        Error: M569: Response timeout: CAN addr 1, req type 6018, RID=8
        Error: M350: Response timeout: CAN addr 1, req type 6021, RID=9
        Error: M906: Response timeout: CAN addr 1, req type 6017, RID=10
        Error: M308: Response timeout: CAN addr 1, req type 6011, RID=11
        Error: M950: Response timeout: CAN addr 1, req type 6026, RID=12
        Error: M307: Heater 1 not found
        Error: M143: Heater 1 does not exist
        Error: M950: Response timeout: CAN addr 1, req type 6027, RID=14
        Error: M106: Fan number 1 not found
        
        M584
        Driver assignments: X0.0 Y0.1 Z0.2 E1.0, 3 axes visible
        
        	M308 S0
        Error: M308: Sensor 0 does not exist
        
        M950 H1
        Error: M950: Heater 1 does not exist
        

        Hopefully, this is only a configuration problem. I just don't know where to look to find the solutions. I have done more than a fair amount of reading and searching, but I can't seem to get the right combination of commands.

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

          So the main board is not able to find an expansion board at address 1. Have you set the address of the tool board? https://duet3d.dozuki.com/Wiki/Duet_3_Tool_Board#Section_Commissioning_a_new_Tool_Board

          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

          chobletundefined 1 Reply Last reply Reply Quote 0
          • chobletundefined
            choblet @dc42
            last edited by

            @dc42

            M115 B121
            Board TOOL1LC firmware 3.01 (2020-02-05b1)
            

            Yes. It shows up on the web interface under "Tool" as "1LC". For "Heater" and "Current", "n/a" is all it shows. The temperatures are grayed out at the expected -273

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

              So its address is still the default 121, but your M308 and M950 commands refer to address 1 e.g. M308 S0 P"1.temp0" instead of M308 S0 P"121.temp0".

              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

              chobletundefined 1 Reply Last reply Reply Quote 0
              • chobletundefined
                choblet @dc42
                last edited by choblet

                @dc42 OH, ok...I thought the leading number referenced the tool number or pin or driver number. Thank you very much, I plugged it in and the heater and sensor are online and performing as expected.

                Great job, as usual. I really appreciate it.

                1 Reply Last reply Reply Quote 0
                • chobletundefined
                  choblet
                  last edited by choblet

                  I spoke too soon. Heater 1 is "offline". Not sure what happened, but reconfiguring my endstop for the x-axis threw away whatever worked the instance before, and I cannot recreate it. I receive these errors upon startup:

                  7/23/2020, 1:48:54 PM	Warning: M307: Unknown heater 1
                  7/23/2020, 1:48:54 PM	Warning: M143: Board 121 received unknown msg type 6039
                  7/23/2020, 1:48:54 PM	Warning: M950: Pin 121.out1 is not free
                  

                  And here is my config file again.

                  ; Configuration file for Duet 3 (firmware version 3)
                  ; executed by the firmware on start-up
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Jul 23 2020 13:32:55 GMT-0700 (Pacific Daylight Time)
                  
                  ; General preferences
                  G90                                                     ; send absolute coordinates...
                  M83                                                     ; ...but relative extruder moves
                  M550 P"Duet 3"                                          ; set printer name
                  
                  ; Drives
                  M569 P0.0 S0                                            ; physical drive 0.0 goes backwards
                  M569 P0.1 S1                                            ; physical drive 0.1 goes forwards
                  M569 P0.2 S1                                            ; physical drive 0.2 goes forwards
                  M569 P1.0 S1                                            ; physical drive 1.0 goes forwards
                  M584 X0.0 Y0.1 Z0.2 E1.0                                ; set drive mapping
                  M350 X16 Y16 Z32 E16 I1                                 ; configure microstepping with interpolation
                  M92 X80.00 Y400.00 Z400.00 E409.00                      ; set steps per mm
                  M566 X600.00 Y600.00 Z360.00 E300.00                    ; set maximum instantaneous speed changes (mm/min)
                  M203 X12000.00 Y12000.00 Z12000.00 E1500.00             ; set maximum speeds (mm/min)
                  M201 X700.00 Y700.00 Z700.00 E250.00                    ; set accelerations (mm/s^2)
                  M906 X850 Y850 Z1000 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 X140 Y140 Z300 S0                                  ; set axis maxima
                  
                  ; Endstops
                  M574 X1 S1 P"!^io0.in"                                  ; configure active-high endstop for low end on X via pin !^io0.in
                  M574 Y1 S1 P"!^io1.in"                                  ; configure active-high endstop for low end on Y via pin !^io1.in
                  M574 Z1 S1 P"!^io2.in"                                  ; configure active-high endstop for low end on Z via pin !^io2.in
                  
                  ; Z-Probe
                  M558 P0 H20 F120 T3000                                  ; disable Z probe but set dive height, probe speed and travel speed
                  M557 X15:85 Y15:85 S5                                   ; define mesh grid
                  
                  ; Heaters
                  ;M570 S20                                  			  		; Print will be terminated if a heater fault is not reset within 20 minutes.
                  M308 S0 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 	; configure sensor 0 as thermistor on pin temp0...I think
                  M950 H1 C"121.out1" T0									  	; try using H1 for the extruder heater. H0 typically bed heater								
                  M143 H1 S285                               			   		; Maximum H0 (Extruder) heater temperature (low for testing)
                  M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0  			   		; Default Tool Heater Parameters...?
                  
                  	;Heater 1 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, calibration voltage 0.0, mode PID
                  	;Computed PID parameters for setpoint change: P13.4, I0.482, D51.4
                  	;Computed PID parameters for load change: P13.4, I0.949, D51.4
                  	
                  ; Fans
                  M950 F0 C"out7" Q500                                    ; create fan 0 on pin out7 and set its frequency
                  M106 P0 S0 H T45                                        ; set fan 0 value. Thermostatic control is turned on
                  M950 F1 C"121.out1" Q500                                ; create fan 1 on pin 121.out1 and set its frequency
                  M106 P1 S0 H-1                                          ; set fan 1 value. Thermostatic control is turned off
                  
                  ; Tools
                  M563 P0 D0 H1 S"1LC" F0					; 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
                  G10 P0 S-273 R-273                      ; Set tool 0 operating and standby temperatures(-273 = "off")
                  
                  ; Custom settings are not defined
                  
                  ; Miscellaneous
                  M501                                                    ; load saved parameters from non-volatile memory
                  
                  
                  
                  M98 P"config.g"
                  Error: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname
                  Error: M569: Response timeout: CAN addr 1, req type 6018, RID=9
                  Error: M350: Response timeout: CAN addr 1, req type 6021, RID=10
                  Error: M906: Response timeout: CAN addr 1, req type 6017, RID=11
                  Warning: M950: Pin 121.out1 is not free
                  Warning: M143: Board 121 received unknown msg type 6039
                  Warning: M307: Unknown heater 1
                  
                  M308 S0
                  Sensor 0 type Thermistor using pin 121.temp0, reading 26.5, last error: success, T:100000.0 B:4725.0 C:7.06e-8 R:2200.0
                  
                  M950 H1
                  Warning: M950: No heater 1 on board 121
                  
                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators @choblet
                    last edited by dc42

                    Looking at the error messages:

                    @choblet said in Toolboard 1LC GCode:

                    Error: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname

                    as it says.

                    Error: M569: Response timeout: CAN addr 1, req type 6018, RID=9

                    Error: M350: Response timeout: CAN addr 1, req type 6021, RID=10

                    Error: M906: Response timeout: CAN addr 1, req type 6017, RID=11

                    You are still referring to CAN address 1 in your M569 and M584 commands.

                    Warning: M950: Pin 121.out1 is not free

                    My guess is that you previously sent a command that assigned 121.out1 to something else, and didn't reset the tool board

                    Warning: M143: Board 121 received unknown msg type 6039

                    Sounds like your main and tool board firmwares are out of step. Use M115 to check the versions. Main should be 3.1.1, tool board should be 3.1.0.

                    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

                    1 Reply Last reply Reply Quote 0
                    • chobletundefined
                      choblet
                      last edited by choblet

                      M569 doesn't offer me any option to select a CAN address.

                      M569 P0.0 S0                                            ; physical drive 0.0 goes backwards
                      M569 P0.1 S1                                            ; physical drive 0.1 goes forwards
                      M569 P0.2 S1                                            ; physical drive 0.2 goes forwards
                      M569 P1.0 S1                                            ; physical drive 1.0 goes forwards
                      

                      I am referencing this site.

                      The M584 command was referenced here and only describes addresses for expansion boards...as which I wouldn't describe the Toolboard...but I'll give that a shot.

                      M143 does not describe any CAN address parameters.

                      M115
                      FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_DATE: 2020-05-19b2
                      
                      M115 B121
                      Board TOOL1LC firmware 3.01 (2020-02-05b1)
                      

                      I've spent hours today reading and trying to figure this out, and there are no resources that have offered any help except having to come here. Can you tell me where you would go to find this information? I have checked the dozuki, wikis, the hardware pages, the forum, and there isn't anything that I could piece together that makes this work. I know it falls on me, and I feel like I'm maybe missing some document or other resource that would better help me learn this stuff.

                      I built this machine from scratch, no kit.. I've never even used a 3D printer before this, and the parts it has produced have been fantastic. I'm just having a tough time finding the right resources for information other than here.

                      Phaedruxundefined 1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators
                        last edited by

                        From https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping:

                        In RRF_3, M584 works the same way as in RRF_2, with exception that on Duet 3 the driver on expansion boards are assigned with <board address>.<driver number>.

                        So your M584 command should use E122.0 nor E1.0. Similarly for the P parameter in M569 P1.0 S1.

                        The M143 error is a consequence of the M950 command failing.

                        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

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

                          @choblet said in Toolboard 1LC GCode:

                          M115 B121 Board TOOL1LC firmware 3.01 (2020-02-05b1)

                          Duet3Firmware_TOOL1LC.bin is part of the main release zip file
                          https://github.com/Duet3D/RepRapFirmware/releases/download/3.1.1/Duet2and3Firmware-3.1.1.zip

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

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 1
                          • chobletundefined
                            choblet
                            last edited by choblet

                            @dc42
                            Did a good bit of learning and figured almost everything out. I am having one final issue that you might be able to help with.

                            For some reason the extruder motor will not extrude.
                            I tried using the address trick when setting up the tool in the config file with D20.0 with no result, but I can't seem to figure out how or where I could have missed something. Is there anything you could suggest that I check?

                            Here's the config

                            ; Configuration file for Duet 3 (firmware version 3)
                            ; executed by the firmware on start-up
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Jul 23 2020 13:32:55 GMT-0700 (Pacific Daylight Time)
                            
                            ; General preferences
                            G90                                                     ; send absolute coordinates...
                            M83                                                     ; ...but relative extruder moves
                            M550 P"Duet 3"                                          ; set printer name
                            
                            ; Drives
                            M569 P0.0 S0                                            ; physical drive 0.0 goes backwards
                            M569 P0.1 S1                                            ; physical drive 0.1 goes forwards
                            M569 P0.2 S1                                            ; physical drive 0.2 goes forwards
                            M569 P20.0 S1                                           ; physical drive 20.0 goes forwards
                            M584 X0.0 Y0.1 Z0.2 E20.0                               ; set drive mapping
                            M350 X16 Y16 Z32 E16 I1                                 ; configure microstepping with interpolation
                            M92 X80.00 Y400.00 Z400.00 E409.00                      ; set steps per mm
                            M566 X600.00 Y600.00 Z360.00 E300.00                    ; set maximum instantaneous speed changes (mm/min)
                            M203 X12000.00 Y12000.00 Z12000.00 E1500.00             ; set maximum speeds (mm/min)
                            M201 X700.00 Y700.00 Z700.00 E250.00                    ; set accelerations (mm/s^2)
                            M906 X850 Y850 Z1000 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 X140 Y140 Z200 S0                                  ; set axis maxima
                            
                            ; Endstops
                            M574 X1 S1 P"!^io0.in"                                  ; configure active-high endstop for low end on X via pin !^io0.in
                            M574 Y1 S1 P"!^io1.in"                                  ; configure active-high endstop for low end on Y via pin !^io1.in
                            M574 Z1 S1 P"!^io2.in"                                  ; configure active-high endstop for low end on Z via pin !^io2.in
                            
                            ; Z-Probe
                            M558 P0 H20 F120 T3000                                  ; disable Z probe but set dive height, probe speed and travel speed
                            M557 X15:85 Y15:85 S5                                   ; define mesh grid
                            
                            ; Heaters
                            M308 S0 P"20.temp0" Y"thermistor" T100000 B4725 C7.06e-8 	; configure sensor 0 as thermistor on pin temp0 at address 20 (20.0)
                            M950 H1 C"20.out0" T0									  	; H1 for the extruder heater. H0 typically bed heater. *Does this need an address?								
                            M143 H1 S285                               			   		; Maximum H1 (Extruder) heater temperature (low for testing)
                            M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0  			   		; Default Tool Heater Parameters...?
                            
                            ; Fans
                            M950 F0 C"out7" Q500                                     ; create fan 0 on pin out7 and set its frequency
                            M106 P0 S0 H1 T45                                        ; set fan 0 value. Thermostatic control is turned on
                            M950 F1 C"20.out1" Q500                                  ; create fan 1 on pin 20.out1 and set its frequency
                            M106 P1 S0 H-1                                           ; set fan 1 value. Thermostatic control is turned off
                            
                            ; Tools
                            M563 P0 D0 H1 S"1LC" F1					; Define tool 0
                            G10 P0 X0 Y0 Z0							; Set tool 0 axis offsets
                            G10 P0 S-273 R-273                      ; Set tool 0 operating and standby temperatures(-273 = "off")
                            
                            ; Custom settings are not defined
                            
                            ; Miscellaneous
                            M501                                                    ; load saved parameters from non-volatile memory
                            
                            

                            @Phaedrux Thanks for the firmware info. That was really simple and quick.

                            Edit: additionally, I plugged the y-axis cable into the extruder and it worked, so the motor itself is fine.

                            And I ran a diagnostic after learning a thing or two from above, thank you for that:

                            M122 B20
                            Diagnostics for board 20:
                            Board TOOL1LC firmware 3.1.0 (2020-05-15b1)
                            Never used RAM 8.4Kb, max stack 596b
                            HEAT 1040 CanAsync 1460 CanRecv 1384 TMC 164 AIN 524 MAIN 2308
                            Last reset 00:12:40 ago, cause: power up
                            Driver 0: ok, SG min/max not available, read errors 0, write errors 0, ifcount 0, reads 0, writes 0, timeouts 10471, DMA errors 0, failedOp 0x80
                            Moves scheduled 6, completed 6, hiccups 0
                            VIN: 24.3V
                            MCU temperature: min 31.8C, current 36.6C, max 37.0C
                            Ticks since heat task active 95, ADC conversions started 759325, completed 759323, timed out 0
                            Last sensors broadcast 00000001 found 1 98 ticks ago
                            Free CAN buffers: 36
                            NVM user row b1d088a9 fffff8bb a5a5a5a5 a5a5a5a5
                            TSENS 000e46 GAIN 015eb7 OFFS 002b39 CAL 1f2c
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Unless otherwise noted, all forum content is licensed under CC-BY-SA