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 and M584. 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 E M584 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 say G92 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 the M122 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.


  • administrators

    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.


  • administrators

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


  • administrators

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


Log in to reply