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.
-
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.
-
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
-
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
-
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
-
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.
-
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.
-
@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.ziphttps://duet3d.dozuki.com/Wiki/Duet_3_Tool_Board#Section_Updating_the_firmware
-
@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