Firmware 3.0 update. Heaters problem
-
@secure Sounds like there's something at the beginning of the gcode file that is setting temperatures. Please post your config.g, config-override.g (if used) and the gcode file that is causing the problem.
Ian
-
Weird but M500 turns with
Warning: No M501 command was executed in config.g
config-override.g file
; Heater model parameters M307 H0 A340.0 C140.0 D5.5 S1.00 V0.0 B0 M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0 M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
config
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"DUET" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M584 X0 Y1 Z2 E3:4 ; set drive mapping M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X81.25 Y81.25 Z400.00 E420.00:420.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z200.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1200 Y1200 Z1200 E1200:1200 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X5 Y5 Z5 S1 ; set axis minima M208 X440 Y420 Z400 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater7" ; create servo pin 0 for BLTouch M558 P9 C"zprobe.in+zprobe.mod" H5 F150 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P25 X-25 Y-25.3 Z2.4 ; set Z probe trigger value, offset and trigger height M557 X60:420 Y40:420 S170 ; define mesh grid ; Heaters 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 M143 H0 S125 ; set temperature limit for heater 0 to 125C 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 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 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M143 H2 S280 ; set temperature limit for heater 2 to 280C M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S0 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 S"İnce" 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 P1 S"Kalın" D1 H2 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
I can activate heaters manually.
-
@droftarts There is no problem with the gcode really. I have tried almost 5 old gcodes stored in SDCard. They were fine before and printing without problem
-
One after one H1 pid tuning result turns with different results. M500 doesnt seem to store them
M307 H1 Heater 1 model: gain 505.8, time constant 157.9, dead time 2.8, max PWM 1.00, calibration voltage 25.2, mode PID Computed PID parameters for setpoint change: P19.7, I0.930, D39.0 Computed PID parameters for load change: P19.7, I2.228, D39.0
M307 H1 Heater 1 model: gain 288.5, time constant 86.7, dead time 3.9, max PWM 1.00, calibration voltage 25.2, mode PID Computed PID parameters for setpoint change: P13.9, I0.760, D37.6 Computed PID parameters for load change: P13.9, I1.450, D37.6
-
@secure Do you have a copy of your config.g from when you were running RRF v2.04? This may help with some of the following.
First, you need to get your temperature sensors reporting accurately.
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
T100000 B4138 is the default thermistor setting, for a Honeywell 135-104QAD-J01 thermistor that shipped with hot ends from RepRapPro, who have been out of business for 4 years! So I doubt you have the correct thermistor settings, and likely the temperature your heaters are reporting is not accurate. All 100k ohm thermistors have a resistance of 100k ohms at 25C, and will be fairly accurate at room temperature, but they report very differently as they get hotter. So please check what thermistors you have in your bed and hot ends, and set them correctly, then you have a chance of accurately setting extrusion temperature.
Then, your heater settings. For full details see: https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control
Your heater settings are at the default. It looks like you haven't tuned your heaters THEN sent M500 (to store them to config-override.g). Alternatively you can copy the heater tuning to config.g. This hasn't been done, as the heater profiles in your config.g are still:
M307 H0 B0 S1.00 M307 H1 B0 S1.00 M307 H2 B0 S1.00
While the hot ends will probably heat up, the temperature control won't be smooth. So, tune heaters with something like:
M303 H0 S60 M303 H1 S200 M303 H2 S200
Run them each a number of times, but wait for the heater to be at room temperature before doing it again. Once the results converge, send M500 to save them to config-override.g
Then either add M501 to the end of config.g so they load from config-override.g, or copy the heater settings to config.g
You can check the current heater settings by sending
M307 H0
,M307 H1
orM307 H2
from the console.Ian
-
@droftarts Thanks. I thought they were correct when I see them at 18C degree. I'm using typical 100K Ohm NTC3950.
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Fri Feb 08 2019 02:22:13 GMT+0300 (GMT+03:00) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"DUET" ; Set machine name M552 S1 ; Enable network M587 ; Configure access point. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S1 ; Drive 0 goes forwards X M569 P1 S1 ; Drive 1 goes forwards Y M569 P2 S1 ; Drive 2 goes forwards Z M569 P3 S0 ; Drive 3 goes forwards E0 M569 P4 S0 ; Drive 4 goes forwards E1 M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation M92 X80 Y80 Z400 E95.00:95.00 ; Set steps per mm (CUBE:Y20.15 X:20.05 M92 X80.25 Y81.00 Z400.25 E95.00:95.00) M566 X1000.00 Y1000.00 Z100.00 E120.00:120.00 ; Set maximum instantaneous speed changes (mm/min) (best at M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ) M203 X20000.00 Y20000.00 Z500.00 E1200.00:1200.00 ; Set maximum speeds (mm/min) (best at M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ) M201 X500.00 Y500.00 Z40.00 E300.00:300.00 ; Set accelerations (mm/s^2) (best at M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ) M906 X1200.00 Y1200.00 Z1200.00 E1200.00:1200.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y-10 Z0 S1 ; Set axis minima M208 X420 Y420 Z400 S0 ; Set axis maxima ; Endstops M574 X1 Y1 S1 ; Set active high endstops ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch M558 P5 H15 F120 T6000 X0 Y0 Z1.5 ; Set Z probe type to bltouch and the dive height + speeds G31 P25 X-25 Y-25.3 Z1.4 ; Set Z probe trigger value, offset and trigger height M557 X50:440 Y20:430 S115 ; Define mesh grid G31 Z2.8 ; Heaters M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2 M143 H2 S280 ; Set temperature limit for heater 2 to 280C M307 H0 P131.6, I5.350, D284.4 ; Auto tuning sonuçları ; Fans M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S0 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 S"E1" D0 H1 F1 ; Define tool E1 M563 P1 S"E2" D1 H2 F2 ; Define tool E2 G10 P0 X0 Y0 Z0 ; Set tool E1 axis offsets G10 P1 X-32.50 Y0 Z0 ; Set tool E2 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C G10 P1 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured
-
M308 S1 P"e0temp" Y"thermistor" T100000 B3950
I have added this into my config file the readings getting worst. Infrared thermometer shows 110 deg while the heater set at 200C. It is interesting not find a calibration easily for that thermistor.
-
@secure If it can melt filament, I'd trust the thermistor, not the IR probe, which measures the surface temperature. If it can't melt filament, you may have a faulty thermistor.
Ian
-
I searched and come with a very little information about this "ebay" thermistors on Reprap firmware so I made a little guess with IR thermometer.
I configured settings like below.
M308 S1 P"e0temp" Y"thermistor" T100000 B4250 R4700pid tuning
M307 H0 A81.1 C180.3 D3.1 S1.00 V25.3 B0
M307 H1 A479.4 C157.1 D3.0 S1.00 V25.2 B0
M307 H2 A498.2 C140.7 D2.9 S1.00 V25.2 B0I went from bang bang to pid for heated bed. It is a 220v silicone heater. In bang bang mode I can see the SSR lights blinks. Now in pid mode it is dimming the ssr light. I will further investigate this as I dont know which is safe.
Thanks
-
@secure said in Firmware 3.0 update. Heaters problem:
Now in pid mode it is dimming the ssr light. I will further investigate this as I dont know which is safe.
This will depend on the rating of your SSR. You can change the PWM frequency by using the Q parameter in the M950 command that creates the heater, eg .
M950 H0 C"bedheat" T0 Q100
See https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M950_Create_heater_fan_or_GPIO_servo_pinEither that, or set it back to bang-bang mode, but keep the rest of the PWM settings, so it knows how long it's going to take to heat up, and doesn't fault, eg
M307 H0 A81.1 C180.3 D3.1 S1.00 V25.3 B1
Ian
-
For AC bed heaters controlled by SSRs, I recommend you use PID with the PWM frequency set to 10Hz (Q10 in the M950 H0 command).
-
@dc42 Thanks captain that seems better now!
I'm using 100K NTC3950 sensor but I was thinking I'm on the the colder side. I've checked/ recalibrated sensor settings with my PID controller. When DUET shows 200C degree I was measuring 165C so I come up with settings
M308 S1 P"e0temp" Y"thermistor" T100000 B4360 c0.00000000001
I have tried with temperature points 100C-170C-260C and DUET reads fine now.
-
The thing very interesting is the extruder steps.
I had to change that lot. How could this be?2019 backup config.g file 2.04
M92 X80 Y80 Z400 E95.00:95.00
2020 config.g file 3.00
M92 X81.25 Y81.25 Z400.00 E250.00:250.00 ; set steps per mm
-
What type of extruder are you using, and what microstepping in your M350 command?
-
Sorry this was my fault. My config.json file has 250mm steps so i edited via config tool(I like this) and missed that steps are wrong.
I need to figure out how to update config.json file.
-
@secure To edit config.json you'd have to load it up in the configurator, make changes, and save it out again.
Or just stick to editing config.g since it's human readable.