by AndrewPartridge on Sun Apr 04, 2010 6:31 pm
Progress report on the digital rate of change of temperature meter
It is going well.
I have my prototype reading the thermocouple 4 times a second and displaying it on the LCD along with the ambient temperature. Depending on the thermocouple type and construction, the temperature range is -270 degrees C to 1200 degrees C.
It's not yet doing the rate of change for the thermocouple, but that's really just a minor bit of coding. I also have yet to code the RS232C serial output to a PC/bluetooth modem.
The circuit uses no surface mount components, no user calibration is required, and there are no trimpots to adjust, not even for the contrast of the LCD. Only a single precision component is required, an LT1634CCZ-5 precision voltage reference, cost USD2.50 (plus shipping) from Linear Technology. Resistors are all 5% tolerance. I have even eliminated the 32.768kHz watch crystal that I was using earlier, and I'm glad of it because they are fiddly small things as bad as any surface mount component. The other ics are a CMOS 4007, and an LM358 dual op amp. There is also a single NPN transistor.
The current consumption is 10.5mA - sorry it's so high, but I have to run the PIC at 32MHz which chews up the power more than I'd like. A normal 9V battery should run it for around 15 hours, or you can power it from an AC or DC wall wart, 9 - 15V. If you want a backlight on the LCD you'll have to run the thing on a wall wart, since backlights consume 100mA and up. I'll probably add a battery test facility after everything else is working - the PIC has an onboard 10 bit ADC that we aren't currently using.
The microcontroller is a PIC 16F1827, and they cost USD1.52 each (plus shipping) from Microchip Direct. It can be programmed using Microchip's own PICkit 2 or PICkit 3, or a cheap PICkit 2 clone programmer (the PICkit 2 design is open source), or I will be able to send you a programmed chip for USD10.00 (the extra covers my handling).
The unit has a single pushbutton that allows you to change the settings: temperature units (degree C or degree F, and I'll probably add kelvin. Anyone want Rankin?), thermocouple type (K, J, T currently supported, requests for any others will be taken kindly), and display contrast. Settings are stored in non-volatile memory, so you won't have to fiddle with them often.
Cheers,
Andrew