Library Download: Mlx90614 Proteus

They implement a software "dummy read" before the temperature word. Instead of: Start -> Send Address -> Read High Byte -> Read Low Byte -> Stop

The functional library does: Start -> Send Address -> Read High Byte -> **NACK then Restart** -> Read Low Byte -> Stop

That's an excellent topic, as the (non-contact infrared thermometer) is a popular sensor, but Proteus doesn't include it natively.

The single most interesting feature related to searching for and downloading an MLX90614 Proteus library is this: Most of the MLX90614 libraries you'll find on forums (like The Engineering Projects, Labcenter Forum, or random GitHub repos) have a critical, interesting flaw : They only work correctly in Real Time Simulation mode, but fail or freeze in Step Mode or at specific clock speeds. Why is this interesting? The MLX90614 is an extremely fast I2C device (up to 100kHz standard, but it can respond quicker than many Proteus I2C primitives expect). Many hobbyist-made libraries improperly handle the PEC (Packet Error Checking) or the RAM-to-EEPROM read delay .

Discover more from Reading Matters

Subscribe now to keep reading and get access to the full archive.

Continue reading