Aptinex DAC Module DA1C010BI I2C Digital to Analog 0-10V MCP4725

LKR3,540.00

Out of stock

I2C Digital to Analog conversion module using  MCP4725

Compare

In Data Acquisition , Digital to analog conversion plays a crucial role. Vast number of devices and equipments are there which can be controlled by voltage variation from 0V to 10V. Aptinex DA1C010BI is the perfect solution for this. This single channel module is using I2C as its communication protocol and therefore major micro controllers or other hardware platforms can use this without much of hustle bustle.

General Features

  • Channels : 1
  • PCB Dimension : 2.5cm x 4.0cm
  • PCB Color : Blue
  • DAC : MCP4725
  • Resolution : 12-bit
  • Speed ; up to 3.4Mbps
  • Rail to Rail Operational Amplifier

Aptinex DA1C010BI pin-out

 

DA1C010BI uses MCP4725 I2C DAC IC with on-board power boost and rail-to-rail signal amplifier, which takes 0-5V output of the DAC and covert the same to 0-10V DAC signal. This 0-10V output is programable with 12-bit resolution which will be having 4096 levels of voltage as output and with an accuracy of ±1%.

In addition it is possible to share two DACs of this type share the same bus and the I2C address can be changed by plugging or removing the I2C address jumper. If any design is needed more than two of these DAC modules, it is advised to use a I2C multiplexer controller and it will allow you to connect multiple of these DAC modules with one I2C master device.

Three modes of operation are supported.

  • standard 100kbps
  • fast 400kbps
  • high speed 3.4Mbps

It is possible to interface this DAC module with following platforms .

  • Raspberry Pi
  • Arduino
  • Onion Omega
  • Beaglebone
  • Windows,
  • Particle Photon

 

SAMPLE CODES

Arduino

Download Sample | Download Library

#include
#include “Aptinex_MCP4725.h”

Aptinex_MCP4725 dac;

void setup(void) {
Serial.begin(115200);
Serial.println(“***APTINEX MCP4725A DAC MODULE TEST CODE***”);

// For Aptinex MCP4725A1 the address is 0x62 (default) or 0x63 (ADDR pin tied to VCC)
// For MCP4725A0 the address is 0x60 or 0x61
// For MCP4725A2 the address is 0x64 or 0x65
dac.begin(0x62);

Serial.println(“First, Enter H and adjust pot for the maximum value (10v) “); // measure DAC output voltage with multimeter
Serial.println(“Enter H for maximum value”); // DAC output will be set to the maximum value
Serial.println(“Enter M for medium value”); // DAC output will be set to the medium value
Serial.println(“Enter L for lowest value”); // DAC output will be set to the lowest value
}

void loop(void) {

uint32_t counter;
char incomingByte;

if (Serial.available() > 0) {
// read the oldest byte in the serial buffer:
incomingByte = Serial.read();

if (incomingByte == ‘H’) {
counter = 0xFFF;
dac.setVoltage(counter, false);
Serial.println(counter);
delay(100);
}

else if (incomingByte == ‘M’) {
counter = 0x800;
dac.setVoltage(counter, false);
Serial.println(counter);
delay(100);
}
else if (incomingByte == ‘L’) {
counter = 0x000;
dac.setVoltage(counter, false);
Serial.println(counter);
delay(100);
}
}
}

RaspberryPi (PYTHON)

from fcntl import ioctl
class AptinexDAC(object):

def __init__(self, address=0x62, bus=1):
self._addr = address
self._file = open(‘/dev/i2c-{0}’.format(bus), ‘r+b’, buffering=0)

def disconnect(self):
self._file.close()

def set_voltage(self, value, persist=False):

if value > 4095:
value = 4095

if value 0:
value = 0

if persist:
data[0] = 0x60 #EEPROM

else:
data[0] = 0x40
data[1] = (value >> 4) & 0xFF
data[2] = (value 4) & 0xFF
ioctl(self._file.fileno(), 0x0703, self._addr & 0x7F)
self._file.write(data)
dac = AptinexDAC()
dac.set_voltage(2096)

See It Styled On Instagram

    No access token

Main Menu

Aptinex DAC Module DA1C010BI I2C Digital to Analog 0-10V MCP4725

Aptinex DAC Module DA1C010BI I2C Digital to Analog 0-10V MCP4725

LKR3,540.00