Firmware 3.0 update. Heaters problem
@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 H2from the console.
@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.
secure last edited by secure
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 R4700
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 B0
I 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.
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
Either 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
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.