You are currently viewing New INA138 Module Proteus 8 Library | Download Free
INA138 Module - Proteus Library Model

New INA138 Module Proteus 8 Library | Download Free

Alright folks, exciting news for anyone working on power monitoring or current measurement in their projects! The INA138 module is now available in Proteus, and it’s seriously handy.

If you’ve ever needed a simple and reliable way to measure current, especially on the high side like checking how much current your circuit is pulling from the positive supply, this component is just what you need. It provides a voltage output that is directly proportional to the current flowing through a shunt resistor, making it easy to connect to a microcontroller and start monitoring current in real time.

What is the INA138?

The INA138 is a integrated circuit (IC) designed by Texas Instruments (originally Burr-Brown) specifically for high-side, unipolar current measurement. Its primary function is to accurately measure the amount of current flowing through a circuit.

High-Side: This means the IC is intended to measure current by placing a sensing resistor (called a shunt resistor) in the positive power supply line before the load. This is often advantageous as it doesn’t interfere with the ground reference of the circuit, which can be important in many applications.

Unipolar: The INA138 is designed to measure current flowing in one direction only.

Current Shunt Monitor: It works by precisely monitoring the tiny voltage drop that occurs across a small-value resistor (the shunt) when current flows through it, and then providing an output signal proportional to that current.

How Does it Work? The Basic Principle

Shunt Resistor :

A small resistor (Rₛ) is placed in series with the load where you want to measure the current (Iₛ). As current flows through Rₛ, it creates a small voltage drop across the resistor, following Ohm’s Law:

Vₛₑₙₛₑ = Iₛ × Rₛ

The INA138 has two input pins, VIN+ and VIN−, which are connected across the shunt resistor. These pins sense the differential voltage, calculated as:

Vₛₑₙₛₑ = VIN+ − VIN−

INA138 Working
INA138 Working - Copyright © 1999, Texas Instruments Incorporated

The INA138 contains internal circuitry, including a transconductance amplifier, that converts the input sense voltage (Vₛₑₙₛₑ) into a proportional output current (Iₒᵤₜ). This relationship is described by the transfer function:

Iₒᵤₜ = gₘ × Vₛₑₙₛₑ

Here, gₘ is the transconductance, a key characteristic of the IC that indicates how much output current is produced for a given input voltage. For the INA138, the typical transconductance is 200 μA/V (or 0.0002 A/V).

Since most systems (like microcontrollers with ADCs) are designed to read voltage, not current, you need to convert the INA138’s output current into a usable voltage signal. This is done by connecting an external load resistor (Rₗ) from the OUT pin to ground.

The output current (Iₒᵤₜ) flows through this resistor, producing an output voltage (Vₒᵤₜ) according to Ohm’s Law:

Vₒᵤₜ = Iₒᵤₜ × Rₗ

This voltage can then be read directly by the microcontroller’s ADC or any voltage-sensing circuitry.

INA138 Module - Proteus Model

The INA138 module comes with everything you need built in, it includes the INA138 IC, a shunt resistor, and a load resistor. That means you don’t need to connect any external components to get it working.

By default, the shunt resistor is set to 0.05Ω and the load resistor is set to 205kΩ, but you can easily change these values in the Properties window of the module in Proteus.

The INA238 module also includes an LED indicator that shows whether the board is powered on or no

So how do you decide what values to use? Let’s walk through how to select the shunt resistor (Rₛ) and the load resistor (Rₗ) based on your specific application.

INA138 Module
INA138 Module - Proteus Model

How to Choose Shunt and Load Resistors for the INA138 Module

Measure the current drawn by a load operating at 12V, with a maximum expected current of 2A, using an INA138 module and an Arduino Uno (which has a 10-bit ADC and 5V AREF).

Step 1: Requirements

  • Maximum load current (Iₗₒₐd₋ₘₐₓ): 2 A
  • Common-mode voltage: about 12 V
  • INA138 supply (V+): 5 V
  • ADC input range: 0–5 V

Step 2: Pick the Shunt Resistor (Rₛ)

Let’s target sense voltage (Vₛₑₙₛₑ) of 100mV at our maximum current of 2A. This is within the commonly recommended range.

  • Rₛ = Vₛₑₙₛₑ / Iₗₒₐd₋ₘₐₓ = 0.1V / 2A = 0.05Ω

Step 3: Check the INA138’s Output-Voltage Limits

The INA138 has an output voltage limit based on its supply voltage and input conditions.

  • At Iₗₒₐd₋ₘₐₓ = 2A, we set Vₛₑₙₛₑ = 0.1V

So:

  • VIN+ ≈ 12V
  • VIN− ≈ 12V − 0.1V = 11.9V

From the datasheet (two key equations):

  • Equation 1:
      • Voutₘₐₓ₁ = V+ – 0.7V – Vₛₑₙₛₑ
        Voutₘₐₓ₁ = 5V – 0.7V – 0.1V = 4.2V
  • Equation 2:
      • Voutₘₐₓ₂ = (VIN–) – 0.5V = 11.9V – 0.5V = 11.4V

The lower value is 4.2V. So, the INA138’s output voltage must stay below 4.2V for accurate operation in this setup.

Step 4: Match That to Your ADC

 Arduino can read up to 5 V, but the INA138 can only swing up to 4.2 V here. So the effective top of scale is 4.2 V.

Step 5: Choose the Load Resistor (Rₗ)

We want Vₒᵤₜ = 4.2V when Iₗₒₐd = 2A

  • First, calculate the INA138 output current:
      • Iₒᵤₜ = gₘ × Vₛₑₙₛₑ = 0.0002 A/V × 0.1V = 0.00002A
  • Now calculate the required load resistor:
      • Rₗ = Vₒᵤₜ / Iₒᵤₜ = 4.2V / 0.00002A = 210,000Ω = 210kΩ

Pick the closest standard 1% resistor:

  • Common values: 205kΩ or 215kΩ
  • We choose 205kΩ to keep Vₒᵤₜ slightly below the 4.2V limit

The INA138 module already includes a built-in shunt resistor and a load resistor, so you don’t need to add any extra components. You can adjust these values in the Properties window of the module in Proteus.

INA138 Module - Shunt and Load Resistor Settings
INA138 Module – Shunt and Load Resistor Settings

If you want to dive into all the technical details of the INA138 IC, you can check out the official datasheet. Just visit the Texas Instruments website for  INA138  or download the file directly INA138 Data Sheet to explore everything from electrical characteristics to application examples.

INA138 Module Interface with Arduino

To set up the INA138 module in your circuit:

  • Connect the positive terminal of your 12V power supply to the VIN+ pin of the module.
  • Connect the VIN− pin to the positive terminal of your load.
  • Then, connect the negative terminal of your load back to the ground of the 12V power supply.

This way, the shunt resistor sits between the load and the supply, allowing high-side current sensing.

  • Provide 5V power to the module by connecting the V+ pin to your 5V source (like from an Arduino).
  • Also connect the GND pin of the module to the common ground.

Finally, connect the OUT pin of the INA138 module to one of the Arduino’s analog input pins (e.g., A0) to read the voltage that represents the current

INA138 Module Interface with Arduino
INA138 Module Interface with Arduino

Arduino Code

Download Library

Simply click on the button to download the library. You can refer to this post for instructions on how to install the library in Proteus 8. How to Download and install Library in Proteus (electronicstree.com)

ZIP Password : electronicstree.com

If you have any requests for Arduino Module Libraries in Proteus, please leave a comment or message us using the contact form.

Leave a Reply