Noisy/Fluctuating temperatures in idle since updating to RRF 3
-
I have had trouble finding this exact issue in the forums and was hoping someone may be able to point me in the right direction.
I have updated my Duet 2 Maestro to RRF 3.2-RC2 from 2.05 and I am just making sure all is working ok with all the config changes.
My issue is that the temps for bed and hotend are now wildly fluctuating while idle, only within a degree or so but it flicks up and down so quickly that I don't think it can be right, and it did not do this before updating to RRF3. I wouldn't mind this on it's own but pretty sure this is the cause of issue 2:
The other issue relating to this is that I have seen when probing the bed with the BLTouch clone, a large instantaneous temperature decrease may occur, this was very stable before I updated. I have ran PID tuning on RRF3.
I would have thought that both could be explained by interference or failing wires but I had no issues before upgrading to RRF3 and now both thermistors are playing up at once. So I expect I have configured wrong.
I have recorded a video of DWC showing the printer at idle. It's located in a cold room with no fans running:
Record_2020-12-30-23-31-15.mp4If anyone has any insight as to what might be happening it would be much appreciated, thank you.
; Configuration file for Duet Maestro (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.0 on Mon Dec 28 2020 21:46:20 GMT+0000 (Greenwich Mean Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"AM8 Duet" ; set printer name ; Network M551 P"XXXXXXX" ; set password M552 P0.0.0.0 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 S0 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M584 X0 Y1 Z2:4 E3 ; set drive mapping M350 X32 Y32 Z32 E16 I1 ; configure microstepping with interpolation M92 X200.00 Y200.00 Z800.00 E415.00 ; set steps per mm M566 X300.00 Y300.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z900.00 E3600.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z150.00 E3600.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z800 E800 I40 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-21 Y-25.6 Z-1 S1 ; set axis minima M208 X235 Y193 Z260 S0 ; set axis maxima ; Kinematic Type M669 K0 M671 X296.5:-76.5 Y110.0:110.0 S5 ; Z leadscrews are at M569 P2 V100 ;Quiet Z Axis M569 P4 V100 ;Quiet Z Axis ; Pressure advance. DAA M572 D0 S0.07 ; Pressure advance was 0.18 M593 F42.85 ; 42.85hz DAA ; 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"^zprobe.mod" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" R0.05 H4 F80 A5 S0.02 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-28.9 Y-33.5 Z1.15 ; set Z probe trigger value, offset and trigger height M557 X30:190 Y30:190 S40 ; 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 ;M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M307 H0 R0.274 C461.1 D3.36 S1.00 V13.0 B0 ; Tuned M307 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 B4725 C7.06e-8 ; 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 ;M307 H1 R2.594 C192.6 D5.08 S1.00 V13.2 B0 ; Tuned M307 M307 H1 R2.520 C195.7 D4.99 S1.00 V13.2 B0 ; Tuned M307 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"fan0" Q10 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 C"Left" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T30 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q10 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 C"Right" ; set fan 2 value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0:2 ; 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 ; Miscellaneous M501 ; load saved parameters from non-volatile memory
Edit: forgot to mention, the hotend is genuine e3d V6 with standard thermistor and bed is a generic Chinese 12V.
-
@MegaAndy said in Noisy/Fluctuating temperatures in idle since updating to RRF 3:
M501
It looks like you've got the tuned M307 values in the config.g itself but also have an M501 to load config-override.g. Can you post your config-override.g? Perhaps it's loading blank values. After you tuned, did you save the results with M500?
-
@Phaedrux thanks for the reply. I did not use m500 to save the values and instead pasted them in config manually after tuning, do not have anything in the override file.
-
In that case your M501 is loading default values and undoing whatever you've got in config.g
So either use M500 to save the tuned result or make sure the correct M307 values are in config-override.g as well.
Or if you have no need for it, don't use config-override.g at all and remove M501 from the end of config.g
-
@Phaedrux oh, didn't think the config override would change any settings if currently empty anyway. I will remove the m501 as my next test.
That said, I can see the issue of temperature fluctuating when the printer is idling which I would have thought means the PID tuning is irrelevant for this in particular.
-
@MegaAndy said in Noisy/Fluctuating temperatures in idle since updating to RRF 3:
M307 H1 R2.520 C195.7 D4.99 S1.00 V13.2 B0
that means you tuned without the fan
use M303 T0 S200 to tune the new algorythm
-
@MegaAndy said in Noisy/Fluctuating temperatures in idle since updating to RRF 3:
if currently empty anyway.
Is it empty? Does it exist at all? It's usually created on the first use of M500.
-
@Phaedrux just checked, I had actually removed the config override entirely and had never used m500 as anything I wanted changing I have put in the config.
@Veti I will try this, I thought that's exactly how I tuned the PIDs anyway and did it fresh with RRF3.
Still not seeing why PID tuning is relevent to temperatures fluctuating around when idle, no attempt is being made to keep a certain temperature , it's just rapidly changing without input.
-
@MegaAndy said in Noisy/Fluctuating temperatures in idle since updating to RRF 3:
Still not seeing why PID tuning is relevent to temperatures fluctuating around when idle, no attempt is being made to keep a certain temperature , it's just rapidly changing without input.
you are right at idle pid tuning does not come into play.
have you calibrated your ADC?
https://duet3d.dozuki.com/Wiki/Calibrating_thermistor_and_PT1000_readings
-
@Veti I have not heard of calibrating ADC before but it does sound promising, a quick browse of the link you sent mentions gain which sounds like a likely culprit for a noisy signal.
I will see if I can get hold of a few resistors to work out the 100k for the H value and a 100. I'll report back once I have tried.
Strange I have the issue now when I didn't on RRF2. Only thing I can think of is I have not set it up or kept it at room temperature like I would have when setting up on RRF2, it's kept in a garage which when I checked it this morning was about 3 degrees!
-
for the semi auto calibration you only need a jumper. try that
-
@Veti oh great, I glanced at that and thought it was duet 3 only, yet another thing the maestro has over its duet 2 siblings!
-
@Veti Unfortunately , I have tried the semi automatic ADC tuning and have not seen any improvement. H value for both came up as 0 and L was either -1 or 1.
Interestingly, when I had a jumper over a thermistor , rather than getting a static reading, it was jumping all over the place from 2000c to 10953c. I would have thought this should be a static number. It reported a static -273c when the port was left open which I assume is correct.
Even the CPU temp looks like it's jumping around quite a lot so not sure if there is simply jitter on all sensor readings. (This is also visible on the video in the first post)
Video with a jumper over bed heater to show rapidly changing reading. Record_2020-12-31-14-14-18.mp4
-
ok that is not normal. i didnt even know it could go past 2000.
-
Looking like a hardware or wiring fault then I guess..
Found this from David on an old post: https://forum.duet3d.com/post/128645
I have measured 5v as a stable 4.9v and the 3.3v as stable 3.28v so I think that is ok. So could be one of the other things mentioned like leakage between bed heater and thermistor, I guess if that is the case it would be irreversible.
I guess at this stage the only way of proving it's not a config issue will be reverting back to old firmware with old configs to see if it still does it.
Edit: thought I should also mention that when I was setting up I couldn't get one fan working , on fan02, later realising the fan was just now not working as plugging another in worked fine. Makes me wonder if there was a surge at some point to cause this issue and break that fan at the same time.
-
Check your wiring for shorts.
-
I have done a bit of checking for shorts. One thing I have found is that ground and the VSSA pin of all of the thermistors are connected. I am guessing ground and VSSA should be separate?
They are also still joined after unplugging the thermistors.
Edit: Looks like according to this https://duet3d.dozuki.com/Wiki/Connector_and_spare_part_numbers#Section_VSSA_fuse , VSSA and the endstops ground should have under 5ohms between them, it reads 1.8ohm for me so looks correct.
-
I think I will just keep using it and see how it goes for now as I see no solution.
I have started a print and can see that despite the temperature seeming unstable at idle, when at temp it levels out to within 0.1 degrees of the requested temperature which is all that matters. I still also get a temperature blip when the bed is probed by the BL touch as shown in the graph below, reporting 15 degrees off within an instant.
It just seems to me that my printer in particular now seems more prone to noise/interference in temp readings than it was before.
-
What's your wiring routing like?
Any possibly weak crimps? -
@Phaedrux The thermistors are just simply going to straight from the connectors to the hotend or bed.
All wires going to the X carriage are just simply bundled together though so I guess that is prone to interference. So I guess I should be insulating the thermistor wire from the bl touch and other wires. Weird that this could be causing an issue now after updating but no issue before though.
I used the connectors and crimps that came with the maestro but I wouldn't rule out me not crimping them well.