Electronics Projects

Contactless Infrared Thermometer (Pyrometer)

The device is designed for contactless measuring and monitoring temperature of objects. It is built on Melexis MLX90614 sensor and can measure temperatures in the range from -70°C to +380°C with 0.5°C accuracy and 0.01°C resolution. The period of measurements can be set in the menu from 1 sec to 1 min in 10 sec increments. It is also possible to record the temp measurements and upload them to a computer via the serial interface through X1 and an external level converter.

Schematic Assembled unit

The heart of the device is TI's MSP430RF5728 microcontroller (μC) with FRAM type of memory instead of conventional Flash. This simplifies and speeds up writing to memory and from the user's viewpoint there is no difference between RAM and FRAM access. No preliminary block erase is needed by writing a single byte into FRAM. However, presently FRAM is slower than Flash. In FR57xx devices the maximum FRAM access frequency is 8 MHz. However, in my device μC is running at 8MHz, so there is no any slowdown. Another disadvantage of FRAM is its lower size compared to Flash in today's devices. As of today, it is limited to 16 KB in the FR57xx family. However, this amount of memory is sufficient to store about 5400 temp measurements in memory (2 bytes per value). Most of the time the μC remains in a sleep mode LPM3. Using peripheral SPI and I2C modules along with DMA allows the data exchange to be performed practically without involving the μC. This benefits to its power consumption leaving it at 8μA, in average.

The measurements and other information is displayed on a 102×64 graphics LCD manufactured my Electronic Assembly. It is a low-power device drawing just about 270 μA when idle. It needs just 3 external caps to operate (C11 - C13) and uses SPI interface to communicate with μC at 8 MHz frequency.

The device operates in 3 main modes which are selected with a slider switch. The switch position is monitored by a built-in ADC. In the middle position of that switch the device performs periodic measurements of temp. The measurements can be stopped and started by the "mode" button which is convenient for monitoring some difficult to access devices. The monitoring period is set with "<" and ">" buttons and is displayed in the bottom right corner of the screen.

Turning the device into the temp recording mode can be done by moving the switch to the top position. In this mode all buttons have the same functionality as in the temp monitoring mode described above. The recording is terminated by moving the slider into a different position, or upon using all available FRAM memory. In the later case the device automatically shuts down.

Finally, in the bottom position of the slider the device performs playback of recorded values from memory and displays them on the LCD. The "<" and ">" buttons are used to walk through the stored measurements while the "mode" button sets the step (1/10/100/1000). The bottom line on the LCD shows the current record number and the total number of them. The images below show the device in operation for all of the main modes.

Monitoring Recording Playback

To upload the recordings into a computer one should turn the device on with the mode button pressed. This initiates a file transmission upon whose completion the devices turns into one of the main modes depending on the slider position. The uploading itself starts only when the button is released. It uses an 8-bit mode with 1 stop bit and no parity checking at 9600 baud. The computer will get a text file with one text line per measurement.

The device is powered from a single AAA cell and a DC/DC converter IC3 that boosts the battery voltage up to 3V. The converter starts even when the battery is discharged down to 0.9V. To turn the device on one should press the "On/Off" button. This way the battery voltage is applied to the EN input of IC3 which leads to activating it and the μC. The last one sets 3V at pin 1 thus blocking the button. To turn if off the same button should be pressed again. When happens, the voltage on pin 15 drops from 3V down to 0, which leads to releasing pin 1 and stop blocking the button. The device shuts down upon releasing the "On/Off" button. Transistor T1 is needed because of presence of the Schmitt triggers at μC inputs, whose thresholds are above the battery voltage. The DC/DC converter provides a complete isolation of the circuit from the battery in the shut-down state.

Back view Front view

The circuit is assembled on a 1-sided PCB designed with Eagle. The foil on the other side is used for grounding. All passive components are in 0402 package excluding C6, C7 and C11 – C13 which are in 0603 package. The diode and MOSFET are in SOD523 and SOT523 packages, respectively. The crystal is Abracon in ABS09 package with capacitive load 7pF. The coil L1 is Murata LQH3NP. The code is developed with a free version of IAR Embedded Workbench IDE. To load the code and perform in-circuit debugging through X2 I used MSP-FET430UIF tool. However, MSP430 Launchpad can be used as well. Tuning the circuit is reduced to setting 3V at the output of IC3 with R4.


Last modified:Sun, Jul 1, 2012.