DAC系列产品简介
DAC系列模块是通过I2C或PWM信号控制,输出电压或电流信号的系列产品。具有输出0-5V、0-10V、0-2.5V、0-VCC、0-25mA等多种模拟电压或电流信号的功能。
模拟量是指一个范围内可连续变化的电压大小(或电流大小),由于其稳定、传输距离远、使用简单等特点,被广泛应用于工业自动化控制领域,如:
-
电机转速控制
-
声音强弱控制
-
温度高低控制
-
灯光亮度调节
-
阀门角度调节
等等......
该系列DAC产品,不仅可选择多种输出信号范围,还具有8bit、12bit、15bit三种分辨率可选,1通道或2通道可选,也可通过级联的方式同时使用多个模块,组合为多通道输出。配合Arduino控制器、树莓派、STM32等控制器,可应用于多种自动化控制场景,如:
-
实验室测试设备
-
电机速度自动控制
-
室内外灯光控制
-
音量自动调节
-
显示屏背光自动调节
等等......
下表列出了各DAC产品的功能参数,以便选型参考:
DFR1073-GP8413(2通道 15bit I2C转0-5V/10V DAC模块)
产品功能
这是一款I2C通讯,分辨率15bit、输出电压线性度误差0.01%的2路0-10V或0-5V 模拟电压输出DAC模块。0-10V或0-5V电压是一个标准的驱动方式。被广泛用于灯光调节、变频器、阀门调节、水泵调节等自动化场合。本产品可通过Arduino编程驱动市场上大量的0-10V或0-5V控制的设备。
高精度与高分辨率可让该模块用于对信号精度要求更高的控制场合,如更加精细的速度控制或角度控制。
模块板载I2C地址选择开关,可设置8个不同的I2C地址,通过I2C级联可扩展16个输出通道。
产品特性
- 支持3.3V-5V电源供电。
- 输出电压线性度误差为0.01% 。
- 两路0-5V或者0-10V电压输出,可连接和控制标准模拟电压设备。
- Gravity接口,I2C通讯,Arduino控制,可用于程序自动化控制。
- 8路I2C地址可调,最多可同时控制16路设备。
- 高精度与高分辨率可让该模块用于对信号精度要求更高的控制场合。
产品尺寸图
功能指示图
名称 | 引脚 | 说明 |
---|---|---|
I2C接口 | + | 电源正极(3.3V-5V) |
- | 电源负极 | |
C | SCL | |
D | SDA | |
I2C地址选择开关 | 切换I2C地址,地址信息见演示代码 | |
电压信号输出口 | VOUT0 | 输出电压信号0正极 |
VOUT1 | 输出电压信号1正极 | |
GND | 输出电压信号负极 |
规格参数
- 芯片型号:GP8413
- 工作电压:3.3V-5V
- 输出电压:0-10V或0-5V
- 通道数:2通道
- 通信方式:I2C
- 分辨率:15bit
- 数值范围:0 - 32767对应0-5V或0-10V
- 输出电压线性度误差:0.01%
演示例程
在本示例中,将展示两个通道输出不同的电压值。
输入信号值范围:0-32767
通道0:给值21457,输出电压6.548V
通道1:给值3210,输出电压0.979V
软件准备
-
下载Arduino IDE: 点击下载Arduino IDE
-
下载Arduino库:点击下载https://github.com/DFRobot/DFRobot_GP8XXX点击链接查看:如何安装库?
注:该系列模块都使用同一库
硬件连接图
演示代码
#include <DFRobot_GP8XXX.h>
/**************************
----------------------------
| A0 | A1 | A2 | i2c_addr |
----------------------------
| 0 | 0 | 0 | 0x58 |
----------------------------
| 1 | 0 | 0 | 0x59 |
----------------------------
| 0 | 1 | 0 | 0x5A |
----------------------------
| 1 | 1 | 0 | 0x5B |
----------------------------
| 0 | 0 | 1 | 0x5C |
----------------------------
| 1 | 0 | 1 | 0x5D |
----------------------------
| 0 | 1 | 1 | 0x5E |
----------------------------
| 1 | 1 | 1 | 0x5F |
----------------------------
***************************/
DFRobot_GP8413 GP8413(/*deviceAddr=*/0x58);
void setup() {
Serial.begin(9600);
while(GP8413.begin()!=0){
Serial.println("与设备通信失败,请检查连接是否正常或者设备地址是否设置正确");
delay(1000);
}
/**
* @brief 设置DAC输出范围
* @param range DAC输出范围
* @n eOutputRange5V(0-5V)
* @n eOutputRange10V(0-10V)
*/
GP8413.setDACOutRange(GP8413.eOutputRange10V);
/**
* @brief 设置不同通道输出DAC值
* @param data 电压值对应的数据值
* @n (0 - 32767)本模块是15位精度的DAC模块,所以(0 - 32767)分别对应着(0-5V)或(0-10V),具体对应的电压范围根据模块电压选择波动开关而定
* @param channel 输出通道
* @n 0:通道0
* @n 1:通道1
* @n 2:全部通道
*/
GP8413.setDACOutVoltage(21457,0);//通道0输出6.548V
GP8413.setDACOutVoltage(3210,1);//通道1输出0.979V
delay(1000);
//将设置的电压保存在芯片内部,掉电保存
//GP8413.store();
}
void loop() {
}
程序执行结果
下载程序后,使用万用表测得实际通道0的输出电压为6.548V,通道1的输出电压为0.979V。
更多资料下载
DFR1073资料
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。
修改历史
文档修改历史
版本号 | 修改时间 | 修改人 | 修改内容 |
---|---|---|---|
V1.0 | 2023.08.21 | 刘礼华 | 第一版发布 |
产品修改历史
版本号 | 修改时间 | 修改人 | 修改内容 |
---|---|---|---|
V1.0 | 2023.08.21 | 刘礼华 | 第一版发布 |