Pi-SPi-8AI-16B Raspberry Pi 8 Channel Analog Input 16 Bit (4 - 20 mA) I/O Module
Regular price
$42.90 USD
Sale
The Pi-SPi-8AI-16B Analog Input I/O Module is based on the MCP33131, a 16 Bit Analog to Digital Converter.
The 26 pin GPIO port is duplicated on either side of the module, so more modules can be "daisy chained" together.
With the latest libwidgetlords v2.0 release, up to 4 PI-SPI-8AI-16B modules can be connected together giving a total of 32 analog inputs to one Raspberry Pi.
All Accessories Including Ribbon Cables Sold Separately
Node-Red support is available.
These are the standard versions of analog inputs available:
PI-SPI-8AI-16B-8MA:
Inputs 1 thru 8 are 4-20 mA (Load Resistor 150 Ohms)
PI-SPI-8AI-4MA-16B-4VDC:
Inputs 1 thru 4 are 4-20 mA Input (load Resistor 150 Ohms)
Inputs 5 thru 8 are 0 to 6.6 VDC Input
PI-SPI-8AI-16B-TEMP :
Inputs 1 thru 8 are 10K Thermistor Inputs
for Temperature Sensor Applications
PI-SPI-8AI-16B-4MA-4TEMP :
Inputs 1 thru 4 are 4-20 mA Input (load Resistor 150 Ohms)
Inputs 5 thru 8 are 10K Thermistor Inputs
for Temperature Sensor Applications
PI-SPI-8AI-16B-4TEMP-4VDC :
Inputs 1 thru 4 are 10K Thermistor Inputs
Inputs 5 thru 8 are 0 to 6.6 VDC Inputs
for Temperature Sensor and Voltage Input Applications
Each channel can be configured as either mA or Voltage. Another feature is all inputs can easily be configured for thermistor input making the Pi-SPi-8AI-16B an 8 channel temperature sensor module.
Changing an Input Type is as easy as removing and adding a solder jumper on the back of the module - here is the A1 jumper selection:
Ranges:
mA = 0 to 20 mA
TH = 10K Thermistor Input for temperature applications
5 VDC = 0 to 6.6 VDC Input
10 VDC = 0 to 12 VDC Input
GPIO Port Pins
Features:
- Identical foot print to the RPi 3
- Each module has its own 3.3VDC LDO regulator operating from the RPi 5VDC bus
- No loading on the RPi 3.3VDC bus
- Terminal Blocks for analog input signals
- LED indicators for power
- Dual 26 pin GPIO connectors (left and right)
- MCP33131 A/D Converter with 16 bit resolution
- Each analog signal buffered (1/4 Op Amp)
- Inputs 1 thru 8 are configured for 4 to 20 mA Input (Standard)
- All inputs can be configured for either mA, VDC, or Thermistor Input for temperature measurement
Other input configurations are available, please contact us before ordering!
Block Diagram
Pi-SPi-8AI Accessories :
- Pi-SPi-PS-24VDC Field Power Supply
- Pi-SPi-CABLE-40x26-2 (40 Pin to 26 Pin x 2") Required to connect to RPi
- Pi-SPi-CABLE-40x40-2 (40 Pin to 40 Pin x 2")
- Pi-SPi-CABLE-26x26-2 (26 Pin to 26 Pin x 2") Required to connect to PI-SPI Module
- Pi-SPi-MTG-HDW Mounting hardware 4x1/2" Aluminum spaces c/w 8 x 4-40 Stainless Steel Screws
For 4-20mA transmitter descriptions and connections, please visit:
Typical Field Wiring
Sample Software (Python)
Please download the latest Widgetlords libwidgetlords library. The instructions can be found at
Getting Started with PI-SPI Libraries
All of the sample code examples are based on the latest library installation. Please note the code samples all use Python 3.
Basic Python "Read" 8 Channels 0 to 20 mA Program:
from time import sleep
import spidev
from widgetlords.pi_spi import *
from widgetlords import *
init()
inputs_12b = Mod8AI(True)
spi = spidev.SpiDev()
spi.open(0, 1)
spi.max_speed_hz =100000
def read_channel(channel: int):
channel %= 8
spi.xfer([channel])
spi.xfer([channel])
data = spi.xfer([channel, channel])
return data[1] + data[0] * 256
def read_channel_avg(channel: int):
channel %= 8
spi.xfer([channel])
spi.xfer([channel])
sum = 0
for i in range(8):
data = spi.xfer([channel, channel])
sum += data[1] + data[0] * 256
return sum >> 3
while True:
for i in range(8):
ADC = read_channel_avg(i)
print(i, " %.4f" % ( ADC / ((2 ** 16) - 1) * 3300 / 150))
print("")
print("")
sleep(0.5)
For DIN Rail applications, the PI-SPI-ENC series of DIN rail mount enclosures are available in the Accessories Collection