mlx90614 proteus library

Mlx90614 Proteus Library __exclusive__

is a contactless infrared (IR) thermometer sensor. Since it is not a native component in the standard Proteus Design Suite

library, you must install an external third-party library to simulate its behavior. 1. Library Overview Third-party libraries, often provided by resources like The Engineering Projects , typically consist of three critical files:

: Contains the electrical and symbolic data for the component.

: An index file that allows Proteus to search for the component in the "Pick Devices" window.

: (Optional but common) The simulation model that defines how the sensor reacts to inputs (e.g., changes in temperature via a "Test Pin"). 2. Installation Guide

To add the MLX90614 sensor to your Proteus environment, follow these steps: Download and Extract

: Obtain the library zip folder and extract it to your desktop. You should see the , and possibly Locate Proteus Library Folder Proteus 8.x : Typically found at

C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\Data\LIBRARY Proteus 7.x : Usually at

C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\LIBRARY Copy and Paste : Move the files from your download into this Restart Proteus mlx90614 proteus library

: Close any running instances of Proteus and reopen them to refresh the component database. 3. Simulation Components

When using the MLX90614 in a circuit, you will typically interface it with a microcontroller like an Arduino Uno

How to Add Arduino UNO Library to Proteus | Step-by-Step Guide

MLX90614 Infrared Thermometer Library for Proteus

The MLX90614 is a non-contact infrared thermometer that can measure temperature in a wide range of applications. In this write-up, we will explore how to use the MLX90614 library in Proteus, a popular simulation software for electronic circuits.

Introduction

The MLX90614 is a high-accuracy infrared thermometer that uses advanced thermopile technology to measure temperature. It has a wide temperature measurement range of -40°C to 125°C and an accuracy of ±0.5°C. The device communicates with microcontrollers using the I2C protocol.

Proteus Library

To use the MLX90614 in Proteus, you need to download and install the MLX90614 library. The library provides a virtual model of the device that can be used in your Proteus simulations.

Step-by-Step Installation

  1. Download the MLX90614 library from the official website or a trusted source.
  2. Extract the zip file to a folder on your computer.
  3. Open Proteus and navigate to the "Library" folder.
  4. Copy the extracted library files into the Proteus library folder.
  5. Restart Proteus to load the new library.

Adding the MLX90614 to Your Proteus Schematic

  1. Open Proteus and create a new project.
  2. Click on "Place" > "Device" and search for "MLX90614".
  3. Select the MLX90614 device from the search results and click "OK".
  4. The MLX90614 device will be added to your schematic.

Configuring the MLX90614

  1. Double-click on the MLX90614 device to open its properties window.
  2. Configure the device settings as required, such as the I2C address and temperature measurement range.

Simulation and Testing

  1. Connect the MLX90614 to your microcontroller or other devices in your Proteus schematic.
  2. Run the simulation and test the MLX90614 device to ensure it is working correctly.

Example Code

Here is an example code snippet in C that demonstrates how to read temperature data from the MLX90614 using the I2C protocol:

#include <stdint.h>
#include <stdbool.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#define MLX90614_I2C_ADDRESS 0x5A
void mlx90614_init() 
  // Initialize I2C communication
  TWBR = 0x18; // 100 kHz
  TWSR = 0x00;
uint16_t mlx90614_read_temperature()  (1 << TWSTA);
  while (!(TWISr & (1 << TWINT)));
  TWIDR = (MLX90614_I2C_ADDRESS << 1)
int main() 
  mlx90614_init();
  while (1) 
    uint16_t temperature = mlx90614_read_temperature();
    // Process temperature data
return 0;

This code snippet demonstrates how to initialize the I2C communication, send a read command to the MLX90614, and read temperature data from the device. is a contactless infrared (IR) thermometer sensor

Conclusion

The MLX90614 library for Proteus provides a convenient way to simulate and test the MLX90614 infrared thermometer in your electronic circuits. By following the steps outlined in this write-up, you can easily add the MLX90614 to your Proteus schematic and start simulating and testing your projects.

The MLX90614 Proteus library is a custom simulation model designed to bridge the gap between physical hardware and virtual circuit design for the Melexis MLX90614 non-contact infrared temperature sensor. Because Proteus does not include a native model for this specific I2C-based sensor, users typically rely on third-party libraries—most notably those from The Engineering Projects. Key Features of the Proteus Library

Virtual Interaction: Since physical IR waves cannot be simulated in Proteus, these libraries often use a TestPin to mimic the presence of an object. Applying a HIGH or LOW voltage to this pin triggers the sensor's response in the simulation.

Protocol Support: The library accurately models the SMBus/I2C communication, allowing it to interface with microcontrollers like the Arduino Uno or Nano within the Proteus workspace.

Visual Representation: It provides a specific LIB (library) and IDX (index) file that adds the TO-39 package component to your Proteus "Pick Device" list. Review of Strengths & Limitations New Proteus Libraries of Digital Sensors

The MLX90614 Proteus library is a third-party simulation model designed to test non-contact temperature sensors by enabling I2C communication and simulating both object and ambient temperature ranges. It features an interactive, high-resolution modeling setup (17-bit ADC) essential for virtual testing with microcontrollers such as Arduino, though it requires manual installation into the Proteus library folder. For instructions on how to set up the library, see The Engineering Projects Mlx90614 proteus library - meredithquivavoter1973's Ownd


11. Example Arduino Code (read object temp)

#include <Wire.h>
#define MLX_ADDR 0x5A
void setup()
  Serial.begin(115200);
  Wire.begin();
float readTemp(uint8_t reg)
  Wire.beginTransmission(MLX_ADDR);
  Wire.write(reg);
  Wire.endTransmission(false);
  Wire.requestFrom(MLX_ADDR, (uint8_t)3); // 2 data + PEC
  uint8_t l = Wire.read();
  uint8_t h = Wire.read();
  Wire.read(); // PEC ignored
  uint16_t val = (h<<8)
void loop()
  float tobj = readTemp(0x07); // example object register
  float tamb = readTemp(0x06); // ambient
  Serial.print("Tobj: "); Serial.println(tobj);
  Serial.print("Tamb: "); Serial.println(tamb);
  delay(1000);

6. Defining the PCB Footprint (optional)

4. Practical Alternative – Skip Simulation

Part 5: Simulating with Code