Fly Electric!

Temperature Monitor 2

This device monitors up to four temperature sensors. It was developed to measure cyclinder temperatures in 150 and 300cc 2 and 4 cylinder petrol motors used in large model aeroplanes. This has helped develop efficient air ducts in the cowl and to set mixtures correctly.

Temperatures are measured every second and displayed in real time via three LEDs for each cylinder. The 'first' green LED flashes when the temperature reaches 80'C and becomes solid when it reaches 90'. The yellow flashes at 100' etc. Various combinations reveal temperatures up to 160'C.

The highest temperature measured in every 20 second cycle is stored in memory. This allows 64 recordings per sensor and 21 minutes recording time. The intervals can be adjusted easily. This data is downloaded after flight for analysis using Excel (graphs above).

I have used Microchip's 20 pin PIC16F687 chip and the tiny MCP9701 temperature sensors. I've compiled the program with the BoostC compiler.


C source code | PIC Projects | Beginners Guide

I have used temperature sensors that are rated to 125'C. Taking them to 150' accelerates the aging of the plastic and going higher would certainly not be recommended. However, they are actually standing up to this abuse surprisingly well.

I'm using these sensors because they are cheap (<0.20), small and linear. Further disadvantages are that they are surface mount so are a little tricky and take some time to 'fabricate'. There is a photo above which shows four in various stages of assembly; not too hard; just takes a while. Each sensor has a 0.1uF cap at the sensor. They should have another at each input to the PIC (C1-C4) which I actually omitted and does not seem to be causing problems.

The PIC performs a 10bit ADC conversion (0-1023) which takes up two bytes of memory when logged. So I manipulate that value in the PIC to fit into one byte (0-255). I sacrifice a little accuracy and measuring range to fit double the records in the EEPROM. This manipulation needs to be reversed in Excel to reveal the correct temperatures. Details are in the C source above.

For this application if there was a 'next time' I would use 'PT100' sensors. The 1000 ohm versions will yield a larger voltage drop which will be useful for ADC conversion. These are rated to around 600'C and just need leads soldering on. Their downside are they are more expensive (~4) and are either not linear or require many more components to make them linear. This can be largely overcome with a 'straightening' algorithm or lookup table. Fitting a 'trend line' in Excel will reval a pretty accurate formula for this which you would probably have to build into the PIC to get an accurate LED display. I've seen a glass bead thermistor rated to 250'C which would be another option but with similar challenges.

The sensors are connected the the PIC circuit via a wiring loom / harness. I have used 0.335mm enameled copper wire for lightness. The harness connector also jumpers pin 4 ('Memory lock' on circuit diagram) to +5v. This has been built into the design to prevent memory from being over-written when the device is out of the plane (eg: when connecting it to a PC for download). Pin 4 is held low normally with a 10k resistor to ground. Memory is wiped every time the device is powered up if pin 4 is high by the harness.

The 12F and 16F PICs only have up to 256bytes of EEPROM memory. The 18F's go up to 1kb. I think all 18F's and a few 16F's (eg: 16F88) allow you to write to program memory (ROM) which would be a less conventional approach to logging but would give you substantially more internal space. So this would be a good way to get more memory to log multiple flights. Writing to micro SD cards is another possibility with the advantages of being removeable, replaceable and directly PC readable.

Click on the links below for other pages.

Home Art of the Possible Absence of Matter Links Updates Email