Toolboard 1LC GCode



  • Still having issues getting the Toolboard 1LC up and running after previously giving up and running things directly from the Duet 3 to the extruder.

    The "Add Tool" feature in the RRF Configurator has never worked for adding a tool, and so here I am.

    ; 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 10:46:24 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 X10000.00 Y10000.00 Z10000.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 X2 S1 P"!^io0.in"                                  ; configure active-high endstop for high 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"1.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin 1.temp0
    M950 H1 C"1.out0" T0                                    ; create nozzle heater output on 1.out0 and map it to sensor 0
    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
    M143 H1 S285                               			    ; Maximum H0 (Extruder) heater temperature
    
    ; 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"1.out1" Q500                                  ; create fan 1 on pin 1.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
    
    
    

    The tool is recognized, but the heater and sensor are not.


  • administrators

    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



  • 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.


  • administrators

    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



  • @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


  • administrators

    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".



  • @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.



  • 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
    

  • administrators

    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.



  • 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.


  • administrators

    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.


  • Moderator



  • @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
    

Log in to reply