I'm getting jumpy readings from both nozzle and bed thermistors, both when they're up at operating temperature as well as down around room temperature. They both appear to exhibit much the same amount of 'jumpiness' and have consistent _averaged_ temperature readings when they're both at room temperature, but they bounce around independently of each other (one can be reading a degree high, one a degree low at the same time. They have been up to 2 or 3 degrees away from actual temperature as well, though currently for whatever reason they're not behaving like that)
Part of the upshot of this is that I cannot get repeatable calibration runs. Below are 4 full runs on my first attempt.
Code: Select all
Run Kp Ki Kd
1 29.77 7.94 37.13
1 20.48 1.71 61.27
1 29.1 7.76 27.29
2 27.14 2.9 63.53
2 37.37 9.96 35.04
2 31.92 3.55 71.73
3 30.25 8.01 28.58
3 15.93 1.07 59.08
3 25.78 6.87 24.18
4 21.37 1.92 59.51
4 26.94 7.16 25.34
4 14.19 0.81 62.44
The resultant average values were nonsense. Some of the calibration runs even timed out for some reason, and never completed. When I tried to use them, even averaging out all 12 entries from the 4 complete runs above, the nozzle temp swung wildly (+/- 8 degrees indicated, 220-236* with a 228 target)
What appeared to be happening was that the temperature reading was so unstable, the reported temperature effectively jumped above 200, then back below, then back above, then below, then above, etc all in a matter of a second or two, and not in a true response to the heater, thereby greatly confusing the calibration routine which was trying to cross the 200 degree threshold 8 times in a nice controlled fashion. In the end I averaged the numbers from Gene's example screenshot in the instructions and used that, which worked well enough (+/- ~3 degrees).
This jumpy temperature reading is also evident on cooldown where my LED ring spends 10 seconds alternately turning on and off depending on whether the thermistor is reading above 50C at the moment.
Cut to Monday morning, after a night of being turned off, I turn the machine on and both bed and extruder temperatures are dead stable, varying +/- 0.1 degrees at room temperature. 'Whoopee!' sez I, 'it's fixed itself!' (though I was deeply suspicious, and with good reason) and I set about running the calibration procedure again. This time it worked flawlessly, here's two runs worth of data from that;
Code: Select all
Run Kp Ki Kd
1 14.78 0.88 62.2
1 15.59 0.94 64.31
1 15.17 0.92 62.6
2 15.31 0.93 63
2 15.59 0.95 64.1
2 15.59 0.95 64.03
I ran it a third time but the numbers were near as dammit identical so I didn't bother recording them.
I averaged and plugged those numbers in and got printing. Initially it seemed to be flawless, maintaining target temperature to within small fractions of a degree. But after a few minutes of printing it seemed to lose accuracy again and the swings started to creep back in (though again, limited to a couple of degrees this time).
Since I wasn't having serious print quality issues, I kept going until Monday night when I re-ran the calibration routine a couple of times to see how it would behave, and it'd gone back to giving the same nonsense results I was getting initially. The ambient temperature swing has returned as well, though not as pronounced, a little over a degree total variance at room temp, though _occasionally_ 2 degrees. See video;
So, here's what I think I know;
- Very quick back-of-a-fag-packet math (having looked at the simple voltage divider circuit for the thermistors in the RAMBo manual) suggests that the RAMBo board itself should be capable of measuring resistance to within at least 50-100 ohms consistently (not necessarily accurate, but consistent reading to reading) which should I think be roughly .1*C at room temp, but I'm seeing what I think amounts to a 500 ohm+ variance based on the reported room temperature fluctuation. That combined with the brief period where it seemed to work correctly (and calibrate properly) leads me to believe There Is Actually Something Wrong. Can someone verify that I should be seeing more consistency in temperature readings?
- The fact that both long lead and short lead thermistors are misbehaving in the same way suggests that wiring/shielding/crosstalk in the wiring itself is not the issue. Nor should a simple voltage divider/ADC resistor measurement be susceptible to much crosstalk, especially when you consider that the wiring is running in the same extrusion as the high current wires to the resistor, which in turn are turned off when we're measuring at ambient.
- It seems like dirty power to the voltage divider driving the thermistors themselves _could_ be causing a problem, though since they're running from VCC, I presume that means they're receiving nice clean regulated power from the on-board low voltage logic PSU. I haven't probed anything to confirm that, and without an o-scope I can't really tell much about power quality anyway.
- If the PSU is making a _bunch_ of noise, that could be getting coupled into the thermistor lines from the rest of the board, but surely if there was something _that_ noisy going on, other systems would be impacted no? I've been searching and I've found very few reports of this problem, with the notable recent exception of this thread; viewtopic.php?f=37&t=9843&p=85416
- If the above solution (twisting, ferrite-ing and shielding the snot out of everything you can get your hands on) _is_ the solution, then there's a bigger electrical problem on the board.
I'm likely missing something obvious, but I don't want to go borrow an o-scope and burn a bunch of time trying to diagnose what's going wrong if the answer is obvious to one of you guys. This is not a board, nor a platform I'm familiar with.