Heater Current Error
-
The parameters for M307 should be A C and D not P I and D. See here https://duet3d.com/wiki/G-code#M307:_Set_or_report_heating_process_parameters
By default, the bed is in "band bang" mode unless you set B to 0, so that's why it's heating up.
You might want to tune the heaters to get the correct values. See here https://duet3d.com/wiki/Tuning_the_heater_temperature_control
-
The parameters for M307 should be A C and D not P I and D. See here https://duet3d.com/wiki/G-code#M307:_Set_or_report_heating_process_parameters
By default, the bed is in "band bang" mode unless you set B to 0, so that's why it's heating up.
You might want to tune the heaters to get the correct values. See here https://duet3d.com/wiki/Tuning_the_heater_temperature_control
Thanks for that extra bit of information I hadn't yet looked into.
I commented out the PID line of code and tried each of these code variations instead:
M307 H0 A199.0 C962.6 D4.5 B0
M307 H1 A199.0 C962.6 D4.5 B0
M307 H2 A199.0 C962.6 D4.5 B0
M307 H1 A199.0 C962.6 D4.5 B1
M307 H1 A199.0 C962.6 D4.5 S1But it still shows 'error' under current after saving the config.g file, applying the settings, restarting the printer, and reconnecting the printer.
-
OK. Does the error come up as soon as you turn on the Duet or when you try to use the heater? If it's as soon as you turn on the duet, then it's a thermistor or thermistor wiring issue.
If it's when you try and use the heater, then I'd expect to see a fault condition, rather than "error".
For info, for the control parameters you should use the form M307 H1 Annn Cnnn, Dnn, B0 S1 (the B and S are optional but IMO safest to put them in). So your second line down looks like it should work.
Edit. Try swapping the thermistors in E0 and E1 (not the big heater terminals) and let us know if the error now moves to the bed.
-
From your config file:
M305 P1 T107000 B10832 C4.891620e-7 R4700 ; Set thermistor + ADC parameters for heater 0 - BED
M305 P0 T99600 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1 - HOTEND E3dThree things that don't look right to me. The major ones:
1. P1 is the hot end heater, P0 is the bed heater. So you have either the P0/P1 or the comments the wrong way round.
2. Where did you get the B10832 in the first one from? I've never see a B value that high for a thermistor used in a 3D printer.
The minor one:
3. Why are you using T107000 and T99600 instead of T100000? Have you actually measured the thermistor resistances at precisely 25C?
-
OK. Does the error come up as soon as you turn on the Duet or when you try to use the heater? If it's as soon as you turn on the duet, then it's a thermistor or thermistor wiring issue.
If it's when you try and use the heater, then I'd expect to see a fault condition, rather than "error".
For info, for the control parameters you should use the form M307 H1 Annn Cnnn, Dnn, B0 S1 (the B and S are optional but IMO safest to put them in). So your second line down looks like it should work.
Edit. Try swapping the thermistors in E0 and E1 (not the big heater terminals) and let us know if the error now moves to the bed.
When I start and connect the printer, it shows 'error' immediately.
I haven't actually changed anything on the hot end wiring, so I'm not sure why it doesn't work. It was unfastened from the MKS board, then fastened to the DuetWiFi.
I've tried both the Heater E0 and E1 terminals, but both don't change the error. And I've also swapped the wires around in the terminal as well.
The bed is plugged into the Bed Heater terminal near the power input. It's worked from the beginning with no problems.
-
From your config file:
M305 P1 T107000 B10832 C4.891620e-7 R4700 ; Set thermistor + ADC parameters for heater 0 - BED
M305 P0 T99600 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1 - HOTEND E3dThree things that don't look right to me. The major ones:
1. P1 is the hot end heater, P0 is the bed heater. So you have either the P0/P1 or the comments the wrong way round.
2. Where did you get the B10832 in the first one from? I've never see a B value that high for a thermistor used in a 3D printer.
The minor one:
3. Why are you using T107000 and T99600 instead of T100000? Have you actually measured the thermistor resistances at precisely 25C?
I was given the config files from someone in my Tevo Black Widow group on Facebook. He has a DuetWiFi as well and has been operating his with these settings successfully, along with other people who borrowed his config as well.
1. I swapped P1 and P0 around, but it made no difference, although it may fix a secondary issue to the error.
2 & 3. These values were both punched in by the original creator of the config, not me. I actually don't know much about any of this.
I've basically gone from having a wealth of information in the community for my Marlin and MKS set up to having next to no knowledge of the Duet set up. Unfortunately, the majority of the sentences in the wiki make no sense to me as an Englishman, before I even apply my knowledge of 3D printing. I'm trying though.
-
I was fairly reluctant to go from Marlin-pro to duet-noob 8 months ago but you'll pick it up quickly and this forum is about the most helpful and courteous one around.
A lot of the ways things are done are done in a better (but inevitably more complicated way, it certainly seems so at first) but as 3d printers get more complex this firmware will keep up, others I'm not so sure.
-
The "error" reading you are getting suggests that the thermistor connected to that thermistor channel is either open circuit (e.g. because of a bad crimp connection in the connector), or shorted to something else (e.g. something in the hot end assembly).
-
The "error" reading you are getting suggests that the thermistor connected to that thermistor channel is either open circuit (e.g. because of a bad crimp connection in the connector), or shorted to something else (e.g. something in the hot end assembly).
I found the problem.
The board is incorrectly labelled by the looks of it. I plugged a brand new hot end cable into the Heater E1 terminal, and still nothing, then for the heck of it plugged the associated brand new temperature gauge into the E0 Temperature socket and it finally connected in the console.
I've double-checked the official wiring diagram, and it looks like the Heater E1 geographically lines up with Temperature E1, however it only works if I plug the temperature sensor into E0, which isn't geographically lined up with Heater E1.
So be it a labelling error, geographic error, build error, or I'm not seeing something error, it now works if I match Heater 1 to Temp 0.
Now begins the configuration for heating, because I haven't been able to road test it yet.
-
The board is labeled correctly. The E0 (Extruder 0) heater/temperature sensor is called Heater 1 by the board firmware and Duet Web Control, and the E1 heater/temperature sensor is called Heater 2 by the board firmware and Duet Web Control. The Wiki does cover this:
https://duet3d.com/wiki/Connecting_thermistors
Connect the bed temperature thermistor to the BED_TEMP connector. Connect your first extruder thermistor to the E0_TEMP connector. If you have a second hot end, connect its thermistor to E1_TEMP.
If you're using Extruder 0 on the board (E0), then you'd want to use M305 P1 T100000 B4388 C0 R4700 to configure Heater 1 (P1 -> Heater 1). The thermistor would be connected to E0 thermistor and the heater connected to the E0 heater.
If you're using Extruder 1 on the board (E1), then you'd want to use M305 P2 T100000 B4388 C0 R4700 to configure Heater 2 (P2 -> Heater 2). The thermistor would be connected to E1 thermistor and the heater connected to the E1 heater.
That assumes you're using a 100k thermistor with beta value 4388. Not all thermistors are identical.
The reason for this is that everything is zero-referenced. The bed heater is heater 0, and the first extruder is extruder 0. You could do this:
Extruder 0 - Heater 0
Extruder 1 - Heater 1
Bed - Heater 2But then what if you use extruders 2, 3, 4? You'd have this:
Extruder 0 - Heater 0
Extruder 1 - Heater 1
Bed - Heater 2
Extruder 2 - Heater 3
Extruder 3 - Heater 4
etcWhich is confusing. So instead:
Bed - Heater 0
Extruder 0 - Heater 1
Extruder 1 - Heater 2
Extruder 2 - Heater 3
Extruder 3 - Heater 4
etc -
The board is labeled correctly. The E0 (Extruder 0) heater/temperature sensor is called Heater 1 by the board firmware and Duet Web Control, and the E1 heater/temperature sensor is called Heater 2 by the board firmware and Duet Web Control. The Wiki does cover this:
https://duet3d.com/wiki/Connecting_thermistors
Bed - Heater 0
Extruder 0 - Heater 1
Extruder 1 - Heater 2
Extruder 2 - Heater 3
Extruder 3 - Heater 4
etcThank you. My mistake, obviously. I've spent my brain, so I'm making basic mistakes at the moment.
I switched my hot end to the Heater E0 terminal along with the Temperature E0 terminal.
This is my updated heater config.g:
; Heaters
M143 S285 ; Set maximum heater temperature to 285C
;M305 P1 X101M305 P0 T99600 B439 C0 R4700 ; Set thermistor + ADC parameters for heater 0 - BED
M305 P1 T100000 B439 C0 R4700 ; Set thermistor + ADC parameters for heater 1 - HOTENDM307 H0 P96.0, I3.285, D603.9 ;BED
M307 H1 A199.0 C962.6 D4.5 B0 S1 ;HOTEND;M307 H1 P1.1, I0.011, D51.5 ;Hotend pid
;M307 H1 P17.8, I0.055, D74.9 ;Hotend E3d pidHowever while the Hotend shows a temperature reading, it won't switch on when I specify a temperature setting. I must be missing a core feature if I can't get it to an Active state. The bed works perfectly fine.
-
OK, I got it working with this:
; Heaters
M143 S285 ; Set maximum heater temperature to 285C
;M305 P1 X101M305 P0 R4700 T100000 B3950 ; Set thermistor + ADC parameters for heater 0 - BED
M305 P1 R4700 T100000 B3950 ; Set thermistor + ADC parameters for heater 1 - HOTEND E3dM307 H0 P96.0, I3.285, D603.9 ;BED
M307 H1 A200 C140 D5.3 B0 S0.8 ;HOTENDHowever, it didn't work until I ran an Auto Home first. I must of missed the order of process.
-
Your hot end temperature readings won't be very accurate using that B value in the M305 P1 command. See https://wiki.e3d-online.com/wiki/E3D-v6_Assembly#RepRapFirmware for the recommended values. Your M305 P0 command is correct if you are using a typical Chinese bed thermistor.
-
OK, thanks very much for your help.
I've made those updates as well, and I'll go back over them again in finer details once I have a first pass of the entire printer working.
At the moment, one additional thing keeps breaking down after I fix something else.