Toolboard 1LC Driver Issue
-
Everything works properly on the 1LC except the motor driver. The Hemera it is connected to has been confirmed to work using the z-axis driver from the 6HC Mainboard.
Diagnostics:
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
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"3DP" ; 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
The firmware on everything is up to date.
All wiring has been checked thoroughly.
The heater, fan, and sensor connected to the 1LC work perfectly. -
@choblet maybe you need a T0 at the end of the config?
-
@JoergS5 I will give that a shot and report back. I needed to get some parts out, so I just rewired and remapped the extruder to the Mainboard.
-
@choblet if T0 is not working, checking tfree0, tpost0 and config-override would be necessary also.
-
If the hemera worked as the same tool T0 on the mainboard then changing which driver drives the tool uses wouldn't necessitate any other config changes than the
M569
andM584
. Presumably user or slicer is selecting the tool before use.As you say sensor
20.temp0
is working there shouldn't be an extruder related reason for the driver not working; but it wouldn't hurt to swap say X and EM584 E0.0 Y0.1 Z0.2 X20.0
and see if the hemera moves with the X axis (presuming there is no filament loaded). You may need to issue let sayG92 X100
to be able to jog X without homing. -
I am wondering about the failedOp 0x80 for the driver in M122, but I don't find documentation about it. And lot of timeouts.
-
@bearer That's really clever, nice one.
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"3DP" ; 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, 1LC ;M569 P0.3 S1 ; extruder driver goes forwards, Mainboard ;M584 X0.0 Y0.1 Z0.2 E20.0 ; set drive mapping for 1LC ;M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping for Mainboard M584 E0.0 Y0.1 Z0.2 X20.0 ; set drive mapping for E/X swap testing M350 X16 Y16 Z32 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y400.00 Z400.00 E409.00 ; set steps per mm M566 X6.00 Y6.00 Z3.60 E3.00 ; set maximum instantaneous speed changes (mm/min) M203 X900.00 Y900.00 Z900.00 E800.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 T0
This did not make the extruder motor work, unfortunately. If you could check the code to make sure I understood and executed it correctly, my thanks.
@JoergS5 I really wish it could have been as easy as adding the
T0
to the end of the file. I just ran theM122 B20
again and received the same error you were curious about. Timeouts were 7511 this time. -
@choblet unfortinately the toolboard is so new, there is only few data available about it. The only thing was if you change the address from 121 to a different address, you have to reboot the board.
There is a sample config from dc42 you could check against for the settings.
-
@choblet what you can do is run
M98 P"config.g"
to see whether it reports an error processing the config. -
The easiest way to test the motor is to map an axis to it e.g. X, then you must set the current, then try jogging it:
M584 X20.0 M906 X1000 G91 G1 H2 X100
You can send these commands from the console.
You can ignore the "failedOp" as long as there is no more than 1 write error recorded.
EDIT: actually the problem is this:
timeouts 10471
I'm not aware of a configuration reason that can cause that. Please ask your supplier to replace the tool board.
-
@dc42 Understood, I will get in contact with them and talk to them about it. I don't know what their return policy is, but I think I've had it for about two months, which seems way too long to qualify for a return. I'll keep you posted though.
Those who walked me through the syntax, showed me where I was missing information in error messages, how to utilize the different commands to cleverly debug and troubleshoot problems, I can't tell you how valuable that was. I learned quite a bit over the last few days. Thank you.
-
@choblet said in Toolboard 1LC Driver Issue:
I don't know what their return policy is, but I think I've had it for about two months, which seems way too long to qualify for a return.
I approve a replacement, so your supplier should replace it. Please refer them to this forum thread.
-
@dc42 Thank you. That is so helpful to me right now, I can't even tell you.
-
@choblet said in Toolboard 1LC Driver Issue:
@dc42 Thank you. That is so helpful to me right now, I can't even tell you.
No problem, and I'm sorry that you received what I believe to be a faulty tool board.
-
@dc42 It's no problem at all. The offer for a replacement along with how much I picked up over the past few days more than makes up for it.