Non contact temperature sensor (for bed surface)
Just thought I'd add this to the hardware wish list as it is a piece of hardware that I could wish for.
There seem to be a few modules around for Arduinos and so forth that use Melexis' MLX90614ESF or TI TMP006 infra red sensors. As far as I can make out, these modules use I2C so maybe a daughter board could be made that is compatible (stackable) with the existing thermocouple and PT 100 boards?
My thinking is that measurement of bed temperature is always a bit hit and miss as the sensor cannot be fitted to the top of the build surface, so it never reads true. In my case, I've had to drill a hole in the side of my aluminium plate and fit the sensor in there but it still doesn't read true because the surface temperature lags behind and also, when the print cooling fan(s) come on, the surface temperature drops but the sensor doesn't see this change (or at least it takes a long time for the change to find it's way through to the sensor). As well as that, I use glass on top of the build plate which acts as an insulator to some extent. Most of us get around these problems by simply upping the bed temperature until the printed object sticks, but it's all hit and miss and guesswork. In my case, I know that even with the sensor set into the edge of the aluminium plate and close to the top of the plate, there is still a lag of several minutes before the temperature at the top of the glass stabilises (and that's without the added complication of print cooling fans). I've sort of compensated for this effect by having a higher temperature for the first layer, then dropping it by 10 degrees for the rest of the print but it's all hit and miss.
Hence my wish for a non contact temperature sensor that will measure the surface of the build plate and thus take out much of the guesswork. Just a thought….......
That's an interesting idea. Unfortunately, IR temperature sensors are not very accurate, because they generally need to be calibrated for variations in the emissivity of the target and in the sensor itself. So I suspect that you would not get greater accuracy than with a thermistor. But I could be wrong, so it would be worth doing some experiments.
I measured the temperature on the bed surface using a thermocouple, so that I know how much to add to the temperature I want when setting the requested bed temperature.
This is one that caught my eye https://www.sparkfun.com/products/9570, and this is another https://learn.adafruit.com/infrared-thermopile-sensor-breakout/downloads. The links to the data sheets for the actual devices will be of more interest to you. To my untrained eye, it seems that the calibration is all taken care of "on chip" and the accuracy didn't look too bad but you'll know better than me. Maybe you could knock something up similar to your IR probe. I'd have thought there ought to be a market for such a device - I'd buy one.
I don't know if it would be possible to use something like this and "zoom in" to the nozzle tip to get an accurate reading of the filament temperature as it comes out of the nozzle, and maybe thus have the ability to compensate for print cooling fans?
I did read the TI data sheet, and it talks a lot about calibration.
The MLX90614 is interesting as it claims to be factory calibrated with:
"As a standard, the MLX90614 is calibrated for an object emissivity of 1. It can be easily customized by the
customer for any other emissivity in the range 0.1…1.0 without the need of recalibration with a black body."
"When I measure aluminum and plastic parts settled at the same conditions I get significant errors on
Different materials have different emissivity. A typical value for aluminum (roughly polished) is 0.18 and for
plastics values of 0.84…0.95 are typical. "
So if you knew the emissivity of your heatbed in the range of 0.1 to 1.0 you could potentially adjust the output to compensate. The issue is that unless you were using a well known and measured heatbed surface with a know emissivity you would be back in the realms of measuring it by some other means to calibrate the MLX90614.
Herewith table of emissivity values http://www-eng.lbl.gov/~dw/projects/DW4229_LHC_detector_analysis/calculations/emissivity2.pdf. One could always calibrate by temporarily sticking a thermocouple or prt to the top of the bed which would then be removed.
Actually guys, this is maybe not such a good idea. I've just done a test heating the bed from around 22 deg C ambient to 65degC and measuring both the bed (inside the aluminium) and the surface temperature (thermocouple stuck to top of glass with Kapton tape. Spreadsheet is here if anyone is interested https://drive.google.com/file/d/0B_MwtHtQR_ZvU3dIYjRGZjVITkk/view?usp=sharing. Basically, at least for my particular bed, there is hardly any difference in the measured temperatures. Which only goes to prove that I shouldn't believe what a lot of people say about using glass on top of aluminium. I guess measuring the surface temperature might be worth doing if the print cooling fan had an effect but you'd need to have a very fast response heater to compensate.
Oh well, it was just a thought.