Printhead issues running on Toolboard 1LC
-
@nmsmith89 said in Printhead issues running on Toolboard 1LC:
Heater ran PID tuning fine but now gives a fault with no notification every time it heats up. It doesn't seem to tell me why.Fixed - It was theB0
in theM307
tuning command.- Update: It's still faulting... That fixed it for a little bit after PID tuning but after rebooting it's back to faulting again.
Did you copy all the parameters from tuning to the M307 command?
- BLTouch works somewhat but the red light on it flickers constantly and after every 3 probes or so it goes into fail mode (blinking)
- Update: Noticed that the light will be solid red until first probe then the red light flickers afterwards (different than fail mode)
Run M122 on the tool board to check what version bootloader it has. If it reports "bootloader version not available" then it has the old bootloader, which has a known incompatibility with BLTouch.
-
@dc42 said in Printhead issues running on Toolboard 1LC:
Did you copy all the parameters from tuning to the M307 command?
Yeah I figured out it does it when using
T0
but notH1
so I can at least use that for now.@dc42 said in Printhead issues running on Toolboard 1LC:
Run M122 on the tool board to check what version bootloader it has. If it reports "bootloader version not available" then it has the old bootloader, which has a known incompatibility with BLTouch.
You're right! It says:
Bootloader ID: not available
Is there anything I can do about that?
-
@nmsmith89 said in Printhead issues running on Toolboard 1LC:
Is there anything I can do about that?
See https://duet3d.dozuki.com/Wiki/Updating_the_bootloader_on_Duet_3_expansion_and_tool_boards. Please note, if you have any EXP3HC boards, I advise against updating the bootloader on those.
-
Thank you so much for your help with getting everything set up! You are the main reason I was even able get everything sorted out!
-
Hey! Sorry to bother you again but I managed to flash the new bootloader and it now says there is a bootloader ID but it doesn't seems to have fixed the issue.
The BLTouch looks perfectly normal on boot. (red solid light) But after probing the BLTouch has both red and blue LEDs on and the red LED flickers.
It still works ok for the most part except for the LEDs and it also goes into fail mode after a random amount of probes. (Usually 3-5)
Do I need to maybe invert the pins with a
!
or something like that? Or is it a bug with the Toolboard1LC?Update
I ran
M280 P0 S60
and that seemed to stop the flickering. (Not really sure what it does.) It might have stopped the fail mode also but it's too early to tell. The blue AND red LEDS are still on and I don't think it's supposed to be like that. It's really hard to find good documentation on what exactly everything does. (Their site is terrible)I also found this post:
https://forum.duet3d.com/topic/10023/bltouch-v3-0-information-setup-and-o-scope-picturesWhich talks about a 5V logic mode but idk if I need that. I tried the command and it didn't really seem to change anything.
Toolboard1LC info:
Diagnostics for board 121: Duet TOOL1LC firmware version 3.2.2 (2021-02-12) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 3952, free system stack 80 words HEAT 90 CanAsync 89 CanRecv 83 TMC 56 MAIN 218 AIN 64 Last reset 00:09:02 ago, cause: software Last software reset time unknown, reason: OutOfMemory, available RAM 15440, slot 0 Software reset code 0x01c0 ICSR 0x00000000 SP 0x20003638 Task MAIN Freestk 796 ok Stack: 20000d10 00012407 20000d10 0001e7d9 00000000 00004008 20000d10 0001e74d 20000d0c 00004000 a5a5a5a5 a5a5a5a5 00000000 0001e615 00004000 000193a1 a5a5a5a5 000193bd a5a5a5a5 00012255 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 Driver 0: position 0, 400.0 steps/mm, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 163, reads 2434, writes 3, timeouts 0, DMA errors 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0 No step interrupt scheduled VIN: 24.1V MCU temperature: min 36.2C, current 36.6C, max 37.3C Ticks since heat task active 242, ADC conversions started 540102, completed 540100, timed out 0 Last sensors broadcast 0x00000002 found 1 245 ticks ago, loop time 0 CAN messages queued 6439, send timeouts 0, received 4790, lost 0, free buffers 36
BLTouch config:
M558 P9 C"121.io0.in" H10 F600 T6000
-
Post your full config.
-
BLTouch config:
M558 P9 C"121.io0.in" H10 F600 T6000
There’s your probable problem. You’re not enabling the pull up resistor on the bltouch.
Change your line to read M558 P9 C”^121.io0.in” H10 F600 T6000
-
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Apr 14 2021 01:55:04 GMT-0500 (Central Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M81 ; start 24v PSU G4 S1 ; wait for expansion boards to start ; Drives M569 P0.0 S1 V50 ; physical drive 0.0 goes forwards M569 P0.1 S0 V50 ; physical drive 0.1 goes forwards M569 P0.2 S0 V50 ; physical drive 0.2 goes forwards M569 P0.3 S0 V50 ; physical drive 0.3 goes forwards M569 P121.0 S0 V50 ; physical drive 121.0 goes forwards M584 X0.0 Y0.1 Z0.3:0.2 E121.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E400.00 ; set steps per mm M566 X480.00 Y480.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z1200.00 E3000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z500 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Independent Z Axis M671 X-40:340 Y0:0 S2.0 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M208 X-20:300 Y-20:310 Z375 ; X and Y limits ; Axis Limits ;M208 X0 Y0 Z0 S1 ; set axis minima ;M208 X300 Y310 Z375 S0 ; set axis maxima ; Endstops ;M574 X1 S3 ; configure sensorless endstop for low end on X ;M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 X1 S1 P"121.io2.in" ; X min active high endstop switch M574 Y1 S1 P"io6.in" ; configure active-high endstop for low end on Y via pin io6.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Stall Detection ;M915 X S-10 F0 H135 R0 T50 ;M915 Y S-10 F0 H135 R0 T50 ; Z-Probe M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch ; NOTE: Set dive height to 30mm temporarily M558 P9 C"^121.io0.in" H10 F600 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-20 Y21.5 Z5.08 ; set Z probe trigger value, offset and trigger height M98 P"set-mesh-grid.g" ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"121.temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin 121.temp0 M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"!121.out1" Q25000 ; create fan 0 on pin 121.out1 and set its frequency M106 P0 C"Hotend" S1 T45 H1 ; set fan 0 name and value. Thermostatic control is turned on M950 F1 C"121.out2" Q500 ; create fan 1 on pin 121.out2 and set its frequency M106 P1 C"Part" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off M950 F2 C"out5" ; create fan 2 on pin out6 M106 P2 C"Motherboard" S1 H-1 ; set fan 2 name and value. Thermostatic control is turned off ; Tools M563 P0 S"LGX" D0 H1 F1 ; 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 ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool
Sorry I did actually have it in there but I had temporarily taken it out when trying to diagnose the problem. It's back there now.
The only thing that seemed to help was the
M280 P0 S60
command. That stopped the 80% duty cycle flicker but the red and blue LEDs are still lit up at the same time. I've seen both things reference a "wiring defect" in the BLTouch documentation but it never goes on to explain anything. I followed the wiring guide on the Toolboard1LC page so I don't think that's actually the issue. I could probably even figure it out myself if the documentation for the BLTouch wasn't non-existent. I did see one thing on their site that mentioned only hooking up 3 of the wires but I haven't actually tried it to see if that changes anything. Either way it seems to be much more reliant after thatS60
command. -
I’m running my bltouch on my toolboard; can you take a picture of your wiring?
-
@nmsmith89
In the meantime, since our setup isn’t too dissimilar, here are all my “g” files to compare to yours.code_text ; bed.g M291 P"Probing mesh grid process started" R"Probing.." S1 T2 M561 ; clear any bed transform M557 X30:300 Y30:300 S40 ; Define mesh grid G90 ; absolute positioning G1 H2 Z20 F1000 ; Making sure we're not going to hit the side of glass M400 ; Wait for move to finish G30 P0 X30 Y192.5 Z-99999 ; probe near leadscrew one G30 P1 X300 Y282.5 Z-99999 ; probe near leadscrew two G30 P2 X300 Y69.5 Z-99999 S3 ; probe near leadscrew three and calibrate. G30 S-3 ; Probe and set Z=0 G1 H2 Z20 F1000 ; Making sure we're not going to hit the side of glass G29 ; Probe the bed and save height map to file M402 ;Retract probe M291 P"Probing mesh grid process finished !" R"Probing.." S1 T2 G1 X0 Y0 F10000 ***************************************************************************************************** ***************************************************************************************************** ***************************************************************************************************** ; Configuration file for Duet3 (firmware version 3.1.0 Stable) ; executed by the firmware on start-up ; ; --------------- Pin/connection Mapping Legend ------------------- ; 0.out0 - Bed heater ; 0.out1 ; 0.out2 ; 0.out3 ; 0.out4 - Radiator cooling fan - WC heatsink ; 0.out5 ; 0.out6 ; 0.out7 ; 0.out8 ; 0.out9 - Duet board cooling fan ; 0.out4.tach - Radiator cooling fan rpm wire - WC heatsink ; 0.out5.tach ; 0.out6.tach ; 0.io0.in ; 0.io1.in - Emergency stop switch ; 0.io2.in - Y max active low endstop switch ; 0.io3.in ; 0.io4.in ; 0.io5.in ; 0.io6.in ; 0.io7.in ; 0.io8.in ; 0.io0.out ; 0.io1.out ; 0.io2.out ; 0.io3.out ; 0.io4.out ; 0.io5.out ; 0.io6.out ; 0.io7.out ; 0.io8.out ; 0.servo, out10 (only on v0.5, not on v0.6) ; 0.pson ; 0.spi.cs0 ; 0.spi.cs1 ; 0.spi.cs2 ; 0.spi.cs3 ; 0.temp0 - Bed Thermistor ; 0.temp1 ; 0.temp2 ; 0.temp3 - Coolant Temp Sensor ; 0.mcu-temp - MCU sensor ; ;----------Toolboard 1 (CAN ID#20) ; 20.out0 - Hotend Heater ; 20.out1 ; 20.out2 - Parts cooler on printhead ; 20.out1.tach ; 20.out2.tach ; 20.io0.in - Z probe type to bltouch current - Piezo future ; 20.io1.in - X min active low endstop switch ; 20.io0.out - GPIO port 0 on toolboard io0, servo mode - BLTouch Z-Probe ; 20.temp0 - Extruder Thermistor ; 20.temp1 ; 20.button0 ; 20.button1 ; ; ----------------------------------------------------------------- ; ; General preferences M81 ; Turn on the Power (inverted for Meanwell) G4 P2000 ; Hold your Horses. G90 ; send absolute coordinates... M83 ; ...but relative extruder moves G21 ; Set units to Millimeters M550 P"DUET3" ; set printer name M575 P1 S1 B115200 ; Set things up for the PanelDue M584 X0.3 Y0.2 Z0.0:0.1:0.4 E20.0 ; set drive mapping to each axis M669 K1 ; Select CoreXY mode - New format ; Network ; M552 S1 ; enable network ; M586 P0 S1 ; enable HTTP ; M586 P1 S0 ; disable FTP ; M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; physical drive 0 goes backwards - Z Axis Left (1) M569 P0.1 S0 ; physical drive 1 goes backwards - Z Axis Right Back (2) M569 P0.2 S0 D3 ; physical drive 2 goes backwards - Y Axis, activate Stealthchop M569 P0.3 S0 D3 ; physical drive 3 goes backwards - X Axis, activate Stealthchop M569 P0.4 S0 ; physical drive 4 goes backwards - Z Axis Right Front (3) M569 P20.0 S1 D3 ; physical drive 5 goes forwards - Extruder 1 ; Set up three Z-axis location M671 X-10.2:359:359 Y172.5:291.5:49.5 S5 ; Pivot Points at 1 - left, 2 - rear right and 3 - front right M92 X199.27 Y199.27 Z1600 E1704.5 ; set steps per mm M350 X16 Y16 Z16 E16 I1 ; configure micro-stepping with interpolation M566 X800.00 Y800.00 Z200.00 E240.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z800.00 E1200.00 ; set maximum speeds (mm/min) M201 X6000.00 Y6000.00 Z200.00 E800.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in percent*100 M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X320 Y320 Z350 S0 ; set axis maxima ; Endstops M574 X1 S1 P"20.io1.in" ; X min active high endstop switch M574 Y2 S1 P"0.io2.in" ; Y max active high endstop switch ; Z-Probe - BLTouch - *CURRENT* M574 Z1 S2 ; set endstops controlled by probe M558 P9 C"^20.io0.in" H5 F2000 T12000 ; set Z probe type to bltouch and the dive height + speeds (bltouch NEEDS pullup) G31 P100 X0 Y-20 Z3.43 ; set Z probe trigger value, offset and trigger height - 0.40MM NOZZLE FIXED Kv1 G30 ; Probe Z ; Configure Heaters and Sensors M308 S0 P"0.temp0" Y"thermistor" T100000 B3950 ; Configure bed temperature sensor M950 H0 C"0.out0" T0 ; Define heater 0 (bed heater) - bed_heat pin and Temp Sensor 0 M143 H0 S120 A2 ; set temperature limit for heater 0 to 120c M140 H0 ; Map heated bed to heater 0 M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 ; Configure extruder 1 temperature sensor - Mosquito M950 H1 C"20.out0" T1 ; Define heater 1 (hot-end E0) to use the "20.out0" pin and Temp Sensor 1 M143 H1 S265 A2 ; set temperature limit for heater 1 to 265C M308 S2 P"mcu-temp" Y"mcu-temp" A"Duet Board" ; Configure MCU sensor M308 S3 P"temp3" Y"thermistor" T10000 B3988 A"Coolant" ; Configure coolant sensor ; Configure Fans M950 F0 C"20.out2" Q100 ; Define Fan_0 for use - Parts Cooler on Printhead - 5015 fan M950 F1 C"0.out9" Q25000 ; Define Fan_1 for use - Duet board cooling fan M950 F2 C"!0.out4+^0.out4.tach" Q25000 ; Define Fan_1 for use - Radiator cooling - WC heatsink. - PWM fan M950 S0 C"20.io0.out" ; Define GPIO port 0 on IO0, servo mode - BLTouch Z-Probe - *CURRENT* M950 J0 C"^!0.io1.in" ; Input 0 uses 0.io1.in pin, pullup enabled ; Fans M106 P0 S0 ; set fan 0. Parts Cooler on Printhead M106 P1 T45:50 H2 ; Set fan 1. Manages Duet board fan. M106 P2 T20:40 H3 ; Set fan 1. Manages Radiator fan for water-cooled loop. ;Set PID values M307 H0 A289.6 C634.8 D0.9 V23.3 B0 ; disable bang-bang mode for the bed heater and set PWM limit M307 H1 A745.2 C193.6 D3.0 V23.2 B0 ; disable bang-bang mode for the extruder heater and set PWM limit ; Pressure Advance M572 D0 S0.1 ; Set pressure advance to offset elasticity ; Tools M563 P0 S"Extruder 1" D0 H1 F0 ; define tool 0. Fan 0 operates with an active hot-end G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets active and standby temperatures to 0C ; Emergency Stop M574 S1 P"^!0.io1.in" ; Define Emergency endstop - emergency stop switch condition M581 P0 S1 T0 ; Define action to be taken with activation of emergency stop switch ; Miscellaneous T0 ; select first tool ***************************************************************************************************** ***************************************************************************************************** ***************************************************************************************************** ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Tue Oct 09 2018 13:27:56 GMT+0300 G91 ; relative positioning M98 P"homex.g" ; Home X M98 P"homey.g" ; Home Y M98 P"homez.g" ; Home Z G90 ; absolute positioning ***************************************************************************************************** ***************************************************************************************************** ***************************************************************************************************** ; homex.g ; called to home the X axis ; G91 ; relative positioning G1 H2 Z3 F1000 ; Drop Z 3mm G1 H2 X5 Y5 F10000 ; move X away a little so the switch is not pressed G1 H1 X-400 F8000 ; move left 400mm, stopping at the endstop G1 X5 F8000 ; move away for second pass G4 P500 ; wait 500msec G1 H3 X-300 F300 ; (second pass) G1 X15 F8000 ; move away from end G1 H2 Z-3 F1000 ; Raise z back G90 ; back to absolute positioning G4 P100 ; wait 400ms ***************************************************************************************************** ***************************************************************************************************** ***************************************************************************************************** ; homey.g ; called to home the y axis ; G91 ; use relative positioning G1 H2 Z3 F1000 ; Drop Z 3mm G1 H2 X5 Y5 F10000 ; ensure gantry is clear G1 H1 Y400 F8000 ; move to the front 400mm, stopping at the endstop G1 Y-5 F5000 ; move away for second pass G4 P500 ; wait 500msec G1 H3 Y400 F300 ; (second pass) G1 Y-15 F8000 ; move away from end G1 H2 Z-3 F1000 ; Raise Z back G90 ; back to absolute positioning G4 P100 ; wait 400ms ***************************************************************************************************** ***************************************************************************************************** ***************************************************************************************************** ; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool on Tue Oct 09 2018 13:27:56 GMT+0300 G91 ; relative positioning G1 H2 Z10 F1000 ; Drop Z relative to current position G90 ; absolute positioning G1 X162.5 Y162.5 F10000 ; go to first probe point G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing G91 ; relative positioning G1 H2 Z10 F1000 ; lower Z a bit more G90 ; absolute positioning ***************************************************************************************************** ***************************************************************************************************** *****************************************************************************************************
-
Yeah I can try to take a picture and post it.
BTW... Making a pin map like you did in your code is really smart! I should have done that LMAO!
-
@nmsmith89 btw I’m running on 3.3b2, so ignore the comments about which version it’s for