yonDest / tire-temperature-system-with-infrared-sensors

Setup Guide :sauropod:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting Started

A Short Melexis Sensor Program and Setup Guide

University of Colorado Formula SAE

Introduction

Every object emits a wavelength in the infrared spectrum. According to the Stefan–Boltzmann law, the wavelength emitted from an object is proportional to its temperature. Infrared sensors read the infrared energy being emitted from the object, it produces an electrical signal of it to then be sent as data and processed. The Melexis MLX90614 Infrared Thermometer requires I2C protocol to communicate by way of sending its data. The MLX90614 has two interfaces: I2C and PWM (pulse width modulation) and will operate either with a 3.3V or 5V connection. The sensor contains a 17-bit ADC and a custom DSP chip to achieve high accuracy and resolution of objects being measured.

Steps:

  1. The first step in communication to the MLX90614 sensor is to write an I2C initialization, start condition, stop condition, etc.

    ... Functions where the TWCR and TWSR registers have certain bits set and the TWBR register is set to the bit rate. Fortunately, there is a dedicated library that can be downloaded from GitHub for this purpose

  2. After downloading the I2C master library and adding it to the Arduino library, the sensors can be put onto a breadboard and connected to power where the Arduino board's SDA / SCL pins are shown below. Also note, Pull-up resistors of 3.7k Ohms will be needed for this set up.

  3. Pay attention to MLX90614 sensor pinout, Arduino board pinout below (other boards vary). Connect to either 3.3V or 5V.

    image
    Patarroyo, Jaime. (2012, July 16). [digital image]. retrieved from site

  4. Look for the data line (SDA) and the clock line (SCL) pins on the board, which should be clearly labelled. Using the image below, the sensor's SDA/SCL and power pin sides are shown with the tab oriented at the top of sensor.

    image
    Arduino UNO board pinout (other boards may vary)
    image

  5. Once sensors are setup accordingly, each address must be changed to access the data of each individual sensor connected. Change the address of the other sensors to your choice of listed slave addresses found in the Melexis MLX90614 data sheet (0x00…0x7F). To do this, disconnect the sensor from power as well as the SDA/SCL pins.

Up and Running

Compile and upload the address change code file onto the board. It is important to power cycle the sensor by just removing and then reconnecting the ground wire of the sensor. After each sensor address has changed to a different slave address, upload the driver ino file to your arduino board with each sensor having a different address to receive each sensors field of view temperature to the monitor.

About

Setup Guide :sauropod:


Languages

Language:C++ 100.0%