What exactly does PID tuning do?
-
@mudcruzr I think your B values are out of date. That was correct for firmware 1.16 and earlier. According to the E3D documentation the values for the Duet Wifi and firmware 1.17 and later should be:
M305 P1 T100000 B4725 C7.06e-8 R4700
There was a mistake in the configurator that was still using the old values.
@crchisholm So check your config.g for the heater section and compare your M305 P1 commands with the one above. A wrong value there would definitely explain the difference in temperature readings.
-
@mudcruzr said
M305 P1 T100000 B4388 C7.06e-8 R4700
I made the change but not much difference config.g attached.
; 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 01 2019 16:04:24 GMT-0500 (Eastern Standard Time); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder movesM667 S1 ; Select CoreXY mode
; Network
M550 P"Core XY" ; Set machine name
M552 S1 ; Enable network
; M587 S"BHNDVW3201B4B28" P"3c5d116a" ; 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 S0 ; Drive 0 goes backwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S0 ; Drive 3 goes forwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolationM92 X80.5369 Y100.7067 Z399.9219 E416.666 ; Set steps per mm
M566 X900.00 Y900.00 Z150.00 E857.1428 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y6000.00 Z380.00 E1500.00 ; Set maximum speeds (mm/min)
M201 X3000.00 Y500.00 Z100.00 E10000.00 ; Set accelerations (mm/s^2)
M906 X950.00 Y950.00 Z950.00 E950.00 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 X300 Y270 Z300 S0 ; Set axis maxima; Endstops
M574 X1 Y1 Z1 S0 ; Set active low and disabled endstops; Z-Probe
;M574 Z1 S2 ; Set endstops controlled by probe
;M558 P5 H5 F0 T6000 ; Set Z probe type to switch and the dive height + speeds
;G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
;M557 X15:13 Y15:195 S20 ; Define mesh grid; Heaters
M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120CM305 P1 T100000 B4388 C7.06e-8 R4700 ; As suggested by mudcurxzr
;M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1M143 H1 S280 ; Set temperature limit for heater 1 to 280C
M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H2 S280; 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 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on; Tools
M563 P0 D0 H1 ; 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; Automatic power saving
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss; Attempt to control heater2
M307 H2 A-1 C-1 D-1 ; Disable Heater E1 for use with the Berd-Air cooling
M106 P0 A2 S0 F30000 ; Fan 0 (Part Cooler) using Heater E1 Mosfet; Custom settings are not configured; BLTouch code
G29 S1
M307 H3 A-1 C-1 D-1
M558 P9 H5 F100 T2000
G31 X30 Y15 Z3 P25
G31 P500 Z0.1
M375 ; load "heightMape.csv" -
@phaedrux Remember I have a Maestro
-
Use your multimeter and measure the resistance of the thermistor at room temperature? Cant see any other possibility than
- sensor is bad
- input channel is not configured correctly
- input channel is bad (try another one?)
-
@mudcruzr said in What exactly does PID tuning do?:
@phaedrux Remember I have a Maestro
In that case the only thing that changes in the command I posted is the R4700. For the maestro it's R2200, but you can actually leave the R value off completely for boards newer than the 0.6 Duet.
-
@phaedrux Sorry m8, missed you were talking about the B parameter. I've changed it and will keep a close eye on temps for a day or two.
Alan
-
Ok, for good or for bad, I have ordered the thermocouple daughter board and K type probe for it. I think the reason I didn't want to do that was that I spent a lot of time designing and printing (on another priinter) the case....just the way I wanted it. So now, after installing this, I will be redesigning it again. Oh well.
-
So this didn't give a good result?
M305 P1 T100000 B4725 C7.06e-8
-
@phaedrux said in What exactly does PID tuning do?:
M305 P1 T100000 B4725 C7.06e-8
@Phaedrux Pretty much the same results. Now I've tried B4138, B4388 and B4725 and the results have not varied any appreciable amount. All registered around 160 to 170
when DWC reported a temp of 235,
(I also added the R4700 on the end because I figured that was just an oversite that it wasn't added, correct?)@bearer I checked the resistance across the thermiter and it is about 91k which I would think was close enough.
-
@crchisholm said in What exactly does PID tuning do?:
I figured that was just an oversite that it wasn't added,
It doesn't matter if it was included or not, but won't hurt to include it.
I would suggest contacting E3D support, perhaps they can replace your thermistor cartridge for you.
Another way to check where the fault lies is to swap the bed thermistor and hotend thermistor connection on the board. If the fault follows the thermistor, the board is fine at least.
-
@bearer I checked the resistance across the thermiter and it is about 91k which I would think was close enough.
If your ambient temp is about 27C then that should be correct.
(if https://e3d-online.com/100k-ohm-ntc-thermistor-semitec is correct and it is a 104GT-2 (which is replaced by 104NT-4-R025H42G) both should have b=4267 from what I could tell )Try another input on the Duet?
-
@crchisholm said in What exactly does PID tuning do?:
The problem is worse than I thought. I tested the thermocouple/multimeter with boiling water and it was within a couple degrees of 100c. I taped the thermocouple to the heat block and when DWC showed 235c , the thermocouple showed 160c My neighbor has another thermocouple device and we tried with that and got essentially the same reading (157-165)
It's hard to get a good reading that way, because the thermocouple leads carry heat away from the top and it's difficult to get good thermal contact with the heater block. Even so, that difference in reading is greater than I expect. So I think the thermistor may be faulty.
-
I am going to put this on hold for the time being. Appreciate all the input and assistance. I have ordered the thermocouple and daughter board and will see what that brings to the game. As it stands now, I can get some pretty good prints (I've only used PLA thus far) just by jacking up the temp.
I actually think one or the more fun aspects of this pursuit is trying to be as smart as the machine. Not there yet, but who knows....
-
@crchisholm said in What exactly does PID tuning do?:
I actually think one or the more fun aspects of this pursuit is trying to be as smart as the machine.
I couldn't agree more.
-
I may be hijacking my on thread, but would like to ask an unrelated question. Is there a G or M code that would lock the motors (especially Z). I keep moving the bed down by accident when working on there parts of the printer, and then have to relevel. Aggravating!
-
@crchisholm said in What exactly does PID tuning do?:
I may be hijacking my on thread, but would like to ask an unrelated question. Is there a G or M code that would lock the motors (especially Z). I keep moving the bed down by accident when working on there parts of the printer, and then have to relevel. Aggravating!
Are your motors using idle current at that point?
Combination of M84 and M906 to set current.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M84_Stop_idle_hold
https://duet3d.dozuki.com/Wiki/Gcode#Section_M906_Set_motor_currents -
@phaedrux
Ok, does this look like the correct stratigy?Created a macro 010_Freeze_Z_Axis with the following lines....
M84 Z
M906 Z:300
...assuming the motors are 1a and I only want to freeze Z. -
Not exactly.
M84
basically turns the motors to a lower power mode so they are quieter and can cool off. So where you haveM84 Z
, that will basically turn the Z motor off, which is the opposite of what you want.M84 Sn
sets the timer for how long it will sit idle before going to lower power. The amount of current used for this is set byM906 In
which is a percentage of the normal current. So you'll want to set the amount of current to a level that will still keep the motor from turning when you press on the Z axis. Or alternatively, increase the idle time out so that the motors stay fully powered for longer, and therefore keep their holding power.So maybe for you the best setup would be
M84 S600 ; set idle timeout to 10 minutes M906 I50 ; set idle current to 50% of normal
-
@phaedrux I will try that. Thank you very much.
This mornings challenge seems to be understanding the M557 code to set the probe grid. Getting closer. Still getting results other than intended, but I guess that's to be expected when you don't expect the right thing.
-
@crchisholm For the M557 it's important to keep the probe offset specified in the G31 command in mind when determining the grid extents.