Module for measuring sensors with output from 4mA to 20mA
- 625nA resolution (25600 levels)
- 860 samples per second
- Measurement of up to 4 sensors per module
- Up to 4 modules simultaneously, adding up 16 sensors
- RC Filter in every channel
The ADC 4-20 Nanoshield offers a solution for applications in which it is necessary to measure sensors with 4mA to 20mA output with high precision and resolution.
There is a large number of sensors with output ranging from 4mA to 20mA available on the market (they are commonly called transmitters). The most common ones are the pressure sensor, the temperature sensor, the humidity sensor, among others. Sensors with output ranging from 4mA to 20mA are largely used in industrial processes. Some advantages that arise with the usage of theses sensors are:
- There are no significant losses on the wiring, enabling the connection of only one pair of wires with long length.
- Robust signal transmission, with high immunity to noise.
- Possibility of detection of flaws on the wiring.
Implemented with the ADS1115 IC, the ADC 4-20 Nanoshield provides 25600 measuring points on the scale of 4mA to 20mA, with resolution of 625nA (0,000000625A). Optionally, the module can also be used for measuring sensors with output of 0 to 20mA (the maximum recommended current is 30mA).
!Connecting the sensors
The ADC 4-20 Nanoshield features a screw terminal with 4 independent analog inputs. They are named A0, A1, A2 and a3. To each input the output terminal of the corresponding sensor must be connected.
There is also a fifth signal present on the screw terminal, named SUP. To this pin the other terminal of the sensor (responsible for its power supply and the full current loop) must be connected.
There are two ways to power the sensor. The first is by using the same power supply that powers Arduino and the rest of the set. The second is using an exclusive power supply for powering the sensor. The choice of the use mode is made using the configuration jumper, also named SUP.
The following sections show the two ways to connect the sensor.
!Sensor being powered by only one power supply
In this setup, the power supply to Arduino is the same that powers the sensor. In order to use this setup, it is necessary to close the configuration jumper SUP on the VIN position. This way, the supply voltage (called VIN on Arduino) is directly connected to the SUP terminal on the screw terminal and powers the sensor directly.
The figure below shows how to do this setup.
Unlike other modules that are devoted to measuring sensors from 4mA to 20mA, the ADC 4-20 Nanoshield features a low resistance value in order to convert the current to a voltage level that can be read by the ADC. This value is 150 Ohms, causing a voltage drop of only 3V on the resistor in the situation in which the output current of the sensor is maximum (20mA).
This means less losses and a greater amount of the supply voltage can be used to power the sensor. It you are using a 12V power supply, for example, 3V is lost on the resistor and there are still 9V available to power the sensor. A lot of sensors on the market are specified for being powered by 8V or more, being it possible to use them along with a standard 12V power supply.
!Connecting the sensor with an independent power supply
In this kind of setup, the sensor is powered by an exclusive power supply. That is, you will use a power supply for the sensors and another for the Arduino (which can also be powered via USB port). This setup is useful when the sensors require a supply voltage that is different from the Arduino standard (7 to 12V). We can mention as an example the sensors that need to be powered by a 24V power supply. In this case you use the 24V power supply for the sensors and power Arduino with a standard power supply of 7 to 12V, or through the USB port (for other suggestions on how to power the Arduino with a 24V power supply, check out our PowerLDO Nanoshield).
In order to use this setup, it is necessary to close the configuration jumper SUP on the GND position. This way, the SUP terminal of the screw terminal becomes directly connected to the GND of the module, serving as the return of the current on the loop.
The figure below shows how to use this setup.
!Connection with Arduino + Base Board Uno
The easiest way to use the ADC 4-20 Nanoshield along with an Arduino is by using a Base Board Uno or Base Board L Uno. You just have to assemble the boards and then load our sample code in order to check the system working (see the sample code section at the bottom of the page). This assembly can be used with Arduino UNO, Mega R3, Duemilanove, among others (contact us in case you have doubts about the compatibility with other versions). The figure below shows how the setup looks like.
!Connection with Base Boarduino
It is also possible to connect the ADC 4-20 Nanoshield directly to our Arduino-compatible board, the Base Boarduino. The connection is done the same way as with the Base Board, such as illustrated below. You just have to assemble the boards and then load our sample code in order to check the system working. (see the sample code section at the bottom of the page).
!Direct connection with Arduino
It is also possible to use the module with direct assembly, using a breadboard and jumper wires for the connection. Use the following schematics in order to connect the ADC Nanoshield to an Arduino UNO or Arduino Mega.
!Using several modules simultaneously
The ADC 4-20 Nanoshield communicates with the microcontroller through an I2C communication bus. One advantage of the I2C bus is the possibility to use several modules simultaneously, using only 2 microcontroller pins: one for the clock transmission (SCL) and another for data transmission (SDA).
Each module that is connected to an I2C bus needs an unique address, so that the modules won't cause conflicts among themselves. The ADC Nanoshield features 4 address options that are selectable via jumper on the upper part of the board, allowing up to 4 modules to be used at once, totalling up to 16 independent channels and using only 2 pins of the microcontroller. The figure below shows where the address selection jumpers are located.
The module address on the I2C bus has 5 fixed bits (10010) and other two configurable bits. Through the jumpers, it is possible to setup which the last two bits are going to be. The options are: 00, 01, 10 and 11. In order to select, just close the jumper corresponding to the desired address, leaving the others open (the factory standard is 00). This way, the complete address of the module can be 1001000 (standard), 1001001, 1001010 ou 1001011.
The figure below shows a setup of 4 modules that are being used at the same time. In this example, we use a Base Board UNO along with an Arduino Mega.
Operation with 3.3V
The ADC 4-20 Nanoshield can also be configured to work with 3.3V power supply. This configuration is useful when one wants to use the module along with other boards that work with 3.3V, such as Arduino Zero, Arduino DUE, among others.
In order to change the module’s operating voltage, it is necessary to change the solder jumper called POWER, which is located on the upper part of the board. The figure below shows how to change it:
This change is only necessary if the module is being used along with the Base Board or Base Board L. In case you are using the module connected by jumper wires, you only have to connect the module’s VCC pin directly to the power supply of 3.3V.
Circuitar can send your modules pre-configured. Contact us for more information.
The chip features a programmable internal comparator that can be configured to generate an alert when the voltage value on the analog input exceeds some certain limit that was previously configured by the user. This way, the module can “warn" the microcontroller about a desired event through an interrupt, thus not being necessary to keep measuring the input continuously.
The alert signal is sent over pin 3 on Arduino (on the ADC Nanoshield, this pin is named “ale”). This function comes factory-disabled and in order to activate it, it is necessary to close the solder jumper named ALERT, which is located on the upper part of the board.
The ADC 4-20 Nanoshield communicates with the processor over an I2C bus, which uses only 2 pins. The block diagram below illustrates how the module works.
Each input on the ADC 4-20 Nanoshield features a low-pass RC filter with cutoff frequency at about 480Hz. The filter features the functions of anti-aliasing and noise reduction on the analog inputs.
Power Supply: is provided through the VCC pin with a range from 4.5V to 5.5V (5V typical). Optionally, the board can be powered using the 3V3 pin, with a range from 3V to 3.6V. For that purpose it is necessary to change the jumper POWER (see the instructions on the schematics).
Current Consumption: the maximum current consumption is 300uA.
Logic Levels: the I2C communication and the output ALERT signal (optional) come factory-configured to work with logic level of 5V.
Measuring range: The maximum measuring range is from 0 to 30mA.
The table below describes the function of each of the used signals, as well as the correspondence with the pins on Arduino UNO and Arduino MEGA.
|Signal||Arduino UNO||Arduino MEGA||Function|
|ale||3||3||Comparator output or end of conversion (optional)|
|SDA||A4||20||Data line on the I2C bus|
|SCL||A5||21||Clock line on the I2C bus|
|VIN||VIN||VIN||VIN power input|
|VCC||VCC||VCC||5V power input|
|GND||GND||GND||Reference voltage (ground)|
- Nanoshield_ADC - Arduino library for the ADC Nanoshield.