Bed Heater missing as a tool
-
Do you have a M140 command somewhere?
Your firmware is rather old and is out-of-sync with the Duet Web Control version. You may want to think about updating both to 3.3.
Frederick
-
@fcwilt
I dont have M140 command in config.g, config-override.g or bed.g. I have not checked the rest but i guess it should be in config.g.
What exactly do I need to add, just M140? I guess there are some parameters as well ^^And I still dont get why this was not necessary bevore
To the out of sync firmware I must admit that I am a very lazy person and I realy like the fact that for the last year I could always just use my printer without any changes and never had to adjust anything (apart from retensioning the belts). The best printer is the one that works .
But I will look up the changelog and see if there are important changes and update the firmware then.Greetings
Joe -
Here is how my heated bed configuration looks from my config.g file which is for version3 firmware:
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor M950 H0 C"bedheat" T0 Q10 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 A107.3 C136.0 D2.8 V12.0 ; values A, C, D, V determined by running heater tuning M140 P0 H0 ; map heated bed to heater 0 M143 H0 S115 ; set temperature limit for heater 0
The M308 and the M950 don't apply to you since you are running v2 firmware. M950 is not used at all in v2 and M308 in v3 is M305 in v2.
The important part is the M140 which says that heater 0 (the H0 parameter) is the heater for the bed (the P0 parameter)
I believe that even in v2 firmware the M140 must come before the M143 as is done here.
Frederick
-
I have tested the M140 but it did not change my issue. So I desided to update to latest stable FW 3.3 and downloaded the Duet2and3Firmware-3.3.zip from there. I used the System/Upload System files and after the upload and decompression it installed the updates without any error mssg. However in diagn. it still shows me that my firmware is 2.03 from 2019.
Is it not possible to upgrade the reprap firmware like this? I thought that this is the recommended way to do an update.But at least it looks like a "Bed-Heater" is now recognized at least. However there are some things wrong I guess.
I will check first if there is realy no connection on the Bed temp sensor,... but does anyone know why there is now shown 8 Heaters in chart?
Here is the feedback to M122:
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet Ethernet 1.02 or later
Board ID: 08DGM-917NK-F2MSW-6JKF2-3SN6K-1G6NG
Used output buffers: 1 of 24 (6 max)
=== RTOS ===
Static ram: 25680
Dynamic ram: 93324 of which 0 recycled
Exception stack ram used: 388
Never used ram: 11680
Tasks: NETWORK(ready,652) HEAT(blocked,1236) MAIN(running,3756) IDLE(ready,160)
Owned mutexes:
=== Platform ===
Last reset 00:06:07 ago, cause: software
Last software reset at 2021-10-25 19:56, reason: User, spinning module GCodes, available RAM 11836 bytes (slot 0)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 24.4, current 25.2, max 25.4
Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: standstill, SG min/max 0/214
Driver 1: standstill, SG min/max 0/180
Driver 2: standstill, SG min/max not available
Driver 3: standstill, SG min/max not available
Driver 4: standstill, SG min/max not available
Date/time: 2021-10-25 20:02:11
Cache data hit count 863568591
Slowest loop: 4.82ms; fastest: 0.07ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Move ===
Hiccups: 0, FreeDm: 169, MinFreeDm: 167, MaxWait: 10059ms
Bed compensation in use: none, comp offset 0.000
=== DDARing ===
Scheduled moves: 7, completed moves: 7, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Stack records: 2 allocated, 0 in use
Movement lock held by null
http is idle in state(s) 0
telnet is idle in state(s) 0
file is idle in state(s) 0
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 5.11ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
Interface state 5, link 100Mbps full duplex -
To get to ver 3.3 from ver 2.x you have to make a brief "stop" along the way at ver 3.0.
It mentions the details here:
Installing and Updating Firmware
Frederick
-
@fcwilt
Thanks for the info - i will try.The Heater was realy missing because I was to dumb to connect the thermistor correctly. It now shows the temp again and works with some ugly additions.
This might had been the issue in first place, that he coudnt measure any resistance at the bed thermistor.
-
Update:
Firmware Update was successful. I had to adjust some commands (RRF Config tool helped me a lot there).
And after correcting the connection error at the bed thermistor everything works now as intended and the charts are now looking fine as well. Thanks for the support @fcwilt !Have a nice day
Sincerely
Joe -
One more thing - i was happy too early:
I have now the issue that my bed "heats up to slowly".
As fas as my multimeter tells me the 100k @ R25 are correct.; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"" ; set printer name M918 P1 E4 F2000000 ; configure direct-connect display ; Network M551 P"" ; set password M552 P192.168.0.254 S1 ; enable network and acquire dynamic address via DHCP 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 S0 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes backwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E136.45 ; set steps per mm M566 X1200.00 Y1200.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E1000 I50 ; 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 X235 Y235 Z260 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 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop M574 Z1 S3 ; configure sensorless endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X42.5 Y-8 Z2.4 ; set Z probe trigger value, offset and trigger height M557 X50:200 Y50:200 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4400 ; 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 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"e0temp" Y"thermistor" T100000 B4400 ; 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 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ;M143 H0 S115 ; set temperature limit for heater 0 ;M305 P0 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 0 ;M143 H0 S120 ; set temperature limit for heater 0 to 120C M305 P1 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S275 ; set temperature limit for heater 1 to 275C ; BLTouch - Heaters M307 H3 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board. ; Fans M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1:0 T45 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; 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 ; Custom settings are not defined T0 ; 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
What am I missing / do i need to correct with the new FW
-
I have added some comments in relation to parts of your config.g file - this is NOT your entire file - you should edit your existing file.
; if you put the M92 before M350 and the values in M92 are correct for X16 microstepping ; any changes you may make later to M350 will internally change the steps-per-mm as needed M92 X80.00 Y80.00 Z400.00 E136.45 ; set steps per mm M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation ; there is a short form for M208 you can use - the number before the : is the min, after the max ; Axis Limits M208 X0:235 Y0:235 Z0:260 ; are you really using stall-detection on your Z axis? ; Endstops M574 Z1 S3 ; configure sensorless endstop for low end on Z ; Heaters ; it doesn't look like you have run heater tuning (M303) as the M307 commands are missing the parameters the tuning would tell you to add M308 S0 P"bedtemp" Y"thermistor" T100000 B4400 ; 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 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"e0temp" Y"thermistor" T100000 B4400 ; 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 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; M305 is used with v2 firmware - why is it here? M305 P1 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S275 ; set temperature limit for heater 1 to 275C ; M307 like this is used with v2 firmware - remove it ; BLTouch - Heaters M307 H3 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board. ; you have fan 1 for heater 1 - you have fan 2 for heater 1 and 0 - is that correct? ; Fans M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1:0 T45 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
-
@humblejoe I guess you have to do a PID calibration https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control
I had the same before I knew I had to do one