Solved Compressor via thermostatic fan (3HC) not working after upgrade
Dear Duet community
I've been running a cooling compressor to cool our printchamber (Chocolat Printer as university research project) for a half a year without any troubles with the below attached config.g. We're using a Duet 3 with extension board 3HC and a SBC attached. The complicated solution via a thermostatic controlled fan output was neccessary at that time due to the need for hysteresis. If a cooling compressor gets turned on and off all the time it cut's down seriously on its lifetime. Now after a firmwareupgrade from 3.01RC12 to 3.2 the compressor is not working anymore. I would appreciate if anyone could get some inputs where that problem could come from or if I missed an entry in the changelogs. I searched allready a few hours but couldn't find the problem till now. Hardware shouldn't be an issue, all wiring doublechecked. I have two identical printers, one with 3.01 RC12 and one with 3.2.
Thanks for any hints!
Old thread with the hysteresis workarround:
Our chocolat printer:
The config that is not working anymore:
; Configuration file for Duet 3 Chocoformer2 ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"CHOCOFORMER2" ; set printer name ; Network M552 P192.168.1.10 S1 ; enable network and set IP address M553 P255.255.255.0 ; set netmask M554 P192.168.1.254 ; set gateway M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet ; Enable Paneldue on I/O Port 0 M575 P1 S1 B57600 ; *** Drives *** ; * Mainboard * M569 P0.0 S0 ; physical drive 0.0 goes forwards [Y1] M569 P0.1 S1 ; physical drive 0.1 goes forwards [Y2] M569 P0.2 S1 ; physical drive 0.2 goes forwards [Z] M569 P0.3 S0 ; physical drive 0.3 goes forwards [X] M569 P0.4 S1 ; physical drive 0.4 goes forwards [U] ; * Extension board * M569 P1.0 S1 ; physical drive 1.0 goes forwards [E1] M569 P1.1 S1 ; physical drive 1.1 goes forwards [E2] M569 P1.2 S1 ; physical drive 1.2 goes forwards [V] M584 X0.3 Y0.0:0.1 Z0.2 U0.4 V1.2 E1.0:1.1 ; set drive mapping M350 X16 Y16 Z16 U16 V16 E16:16 I1 ; configure microstepping with interpolation M92 X66.67 Y66.67 Z1066.67 U66.67 V1613 E1000:1000 ; set steps per mm M566 X900.00 Y900.00 Z12.00 U900.00 V12 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X25000.00 Y25000.00 Z600.00 U25000 V1200 E600.00:600.00 ; set maximum speeds (mm/min) M201 X300.00 Y300.00 Z20.00 U300.00 V20 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1200 Y1200 Z1200 U1200 V450 E800:800 I40 ; set motor currents (mA) and motor idle factor in per cent M84 S10 ; Set idle timeout ; Axis Limits M208 X-152.2 Y0 Z0 U0 V0 S1 ; set axis minima M208 X312.8 Y330 Z300 U451.2 V174.2 S0 ; set axis maxima, edit U-Axis maxima to rough align the two heads ; Endstops M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin io1.in M574 U2 S1 P"io2.in" ; configure active-high endstop for low end on U via pin io2.in M574 Y1 S1 P"io3.in" ; configure active-high endstop for low end on Y via pin io3.in M574 V2 S1 P"1.io0.in" ; configure active-high endstop for high end on V via pin 1.io0.in ; Z-Probe M558 P5 C"io6.in+io6.out" H5 F250 T12000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y-40 Z68.05 ; set Z probe trigger value, offset and trigger height, incrase Z to lower nozzle onto bed M557 X50:250 Y50:250 S50 ; define mesh grid ***************************************** ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"tempRH0" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out3" T0 ; create nozzle heater output on out0 and map it to sensor 0 M143 H0 S60 ; set temperature limit for heater 0 to 60C M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S1 P"temp1" Y"thermistor" T100000 B4138 A"tempRH1" ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M143 H1 S60 ; set temperature limit for heater 1 to 60C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"temp2" Y"thermistor" T100000 B4138 A"tempLH0" ; configure sensor 2 as thermistor on pin temp2 M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2 M143 H2 S60 ; set temperature limit for heater 2 to 60C M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S3 P"temp3" Y"thermistor" T100000 B4138 A"tempLH1" ; configure sensor 3 as thermistor on pin temp3 M950 H3 C"out0" T3 ; create nozzle heater output on 1.out0 and map it to sensor 3 M143 H3 S60 ; set temperature limit for heater 3 to 60C M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S4 P"1.temp0" Y"thermistor" T100000 B4138 A"tempChamber" ; configure sensor 4 as thermistor on pin 1.temp0 M950 H4 C"1.out8" T4 ; create chamber heater output on 1.out9 and map it to sensor 4 M143 H4 S30 ; set temperature limit for heater 4 to 60C M307 H4 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H4 ; map chamber to heater 4 ; Heater fault detection parameters (only that high because of underpowered heaters!) M570 H0 P3600 T100 M570 H1 P3600 T100 M570 H2 P3600 T100 M570 H3 P3600 T100 M570 H4 P3600 T100 ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency "Power Section Fan" M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency "Electronic Cabinet Fan" M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"out9" Q500 ; create fan 2 on pin out9 and set its frequency "Compressor Section Fan" M106 P2 S1 H-1 ; set fan 2 value. Thermostatic control is turned off M950 F3 C"1.out6" Q500 ; create fan 3 on pin 1.out6 and set its frequency "Compressor Enable" M106 P3 S1 H4 T30 ; set fan 3 value. Thermostatic control is turned off M950 F4 C"1.out7" Q500 ; create fan 3 on pin 1.out7 and set its frequency "Chamber Circulating Fan" M106 P4 S1 H-1 ; set fan 3 value. Thermostatic control is turned off ; Tools M563 P0 S"Printhead_Right" D0 H0:1 F0 ; define tool 0 G10 P0 X0 Y0 Z0.0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"Printhead_Left" D1 H2:3 F0 X3 ; define tool 1, X3 attaches the U Axis to the X coordinates while tool active G10 P1 X0.25 Y0 Z-0.1 ; set tool 1 axis offsets, -Z lifts values from bed, + lowers it onto bed G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings M302 P1 ; Allow cold extrusion ; GPIO M950 J1 C"0.io8.in" ; Input 8 extension for door laser sensor M581 T2 P1 S1 R0 ; Interrupt trigger2.g to open door
Have you tried running M98 P"config.g" to check for failing commands in config.g?
Thanks for your input. It reported some CAN Bus errors. I set the CAN adress of the extension board to 0000 and then I guess it pulled the new firmware. After restarting the errors where gone. I thought that shouldn't be an issue, because the steppers and endstop inputs where working propperly on that board.
Thanks for your fast reply!
Errors returned from M98 P"config.g"
Error: M584: Response timeout: CAN addr 1, req type 6042, RID=36
Error: M350: Response timeout: CAN addr 1, req type 6042, RID=37
Error: M92: Response timeout: CAN addr 1, req type 6042, RID=38
Error: M906: Response timeout: CAN addr 1, req type 6043, RID=39
Response timeout: CAN addr 1, req type 6043, RID=40
Response timeout: CAN addr 1, req type 6043, RID=41
Can you confirm with M122 and M122 B1 that the update to 3.2 has been applied to all boards?
I assume you updated through the SBC with the usual sudo apt update, etc?
Sorry for the late reply. Covid restrictions ^^
Yes I can confirm that both are running now on 3.2 without any errors. I had to change the Duet3 board after upgrading due to the diode manufacturing problem and probabbly while upgrading the new board something got mixed up. You can mark the thread as solved.
Thanks for your support!