PID tuning of large bed
-
Hi,
I can't finish the PID tune on my large aluminum bed plate.
I waited for 6 hours and it won't complete the tune.I tried some generic PID in config. but I allways get "Heater fault".
The bed is 525x525x7mm and has 4x250W heaters.
-
@Haggan90 See https://docs.duet3d.com/User_manual/Connecting_hardware/Heaters_tuning#setting-the-model-parameters-manually
Also see https://docs.duet3d.com/User_manual/Connecting_hardware/Heaters_tuning#manual-adjustments-to-the-heater-model-parameters for adjusting based on specific error messages.Ian
-
@droftarts Hi!
Yeah I've read that, but it's very hard to do it manually..
-
@Haggan90 What is the actual heater fault reported? "Heating too slow"? Check in the console.
Ian
-
@droftarts The fault was "temperature not rising as quickly as supposed to"
-
@Haggan90 Can you post your config.g or the M308 from that, and check what your bed heater is actually using by sending
M308 H0
(assuming H0 is your bed). Please post the version of RRF and hardware you're using, by sending M115.Generally, you'll need to either increase the dead time (D) and/or decrease heating rate (R) for these errors. But lets see what you're currently using first. Most likely tuning failed because heating or cooling times were inconsistent.
Ian
-
@droftarts Hi!
Sorry for a late reply.
Here's my config.g; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.12 on Thu Sep 15 2022 14:04:10 GMT+0200 (centraleuropeisk sommartid) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"My Printer" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Defining X and Y coordinates of the leadscrews M671 X-80:580:580 Y245:490:0 S15 ; leadscrews at front right, rear right and middle left ; Drives M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes backwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 7 goes forwards M569 P5 S0 ; physical drive 8 goes backwards M569 P6 S1 ; physical drive 9 goes forwards M584 X6 Y1 Z2:5:4 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y242.00 Z200.00 E415 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X15000.00 Y15000.00 Z600.00 E1200.00 ; set maximum speeds (mm/min) M201 X§000.00 Y§000.00 Z200.00 E1250.00 ; set accelerations (mm/s^2) M906 X1200 Y1500 Z1000 E500 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 X500 Y500 Z700 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !xstop M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H10 F400 T10000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y73.2 Z2.1 ; set Z probe trigger value, offset and trigger height M557 X15:450 Y15:450 S50 ; define mesh grid ; Heaters M308 S2 P"e2temp" Y"thermistor" T100000 B4138 M308 S3 P"e3temp" Y"thermistor" T100000 B4138 M308 S4 P"e4temp" Y"thermistor" T100000 B4138 M308 S5 P"e5temp" Y"thermistor" T100000 B4138 M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 R0.127 K0.101:0.000 D65.41 E1.35 S1.00 B0 ; 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"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 R2.236 K0.573:0.040 D8.55 E1.35 S1.00 B0 V24.3; 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"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ;Pressure advance M572 D0 S0.08 ; Tools M563 P0 D0 H1 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 M563 P2 D1 ; Custom settings are not defined
-
@Haggan90 I finaly made a full tuning cycle, but I'm not sure if everything is correct?
The heaters run from a SSR relay.Warning: heater behaviour was not consistent during tuning Auto tuning heater 0 completed after 3 idle and 25 tuning cycles in 15067 seconds. This heater needs the following M307 command: M307 H0 R0.123 K0.097:0.000 D63.29 E1.35 S1.00 B0 Edit the M307 H0 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.```