(SKU:DFR0316)MCP3424 18位AD转换模块

来自DFRobot Product Wiki
2015年1月5日 (一) 11:44Bobo讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
可编程4通道18位ADC模块

目录

概述

模块集成了高品质的的MCP3424实现模拟量到数字量(AD)转换,可以为树莓派提供获取模拟量的功能 ,也可以满足Ardruino等高精度AD转换的需求。

MCP3424是一款低噪音、高精度的18位A/D转换芯片,其特点是:

  • 在每个转换周期内,自动对失调和增益误差进行校正。
  • 其分辨率可以设置,以满足不同场景的要求。
  • 用户可在A/D转换之前可选择PGA增益对信号进行放大,方便对微弱电压检测。
  • 提供两种转换模式:单次转换模式和(b)连续转换模式。
    • (a)单次转换模式:器件在完成一次转换后自动进入低电流待机模式,直至接收到新的转换命令,这样可显著降低空闲周期内的电流消耗,建议使用该模式。
    • (b)在连续转换模: 器件以设定的转换速率进行连续转换,这样可以直接读取数据前不用再次启动转换。


适用范围

  • 温度、力度等传感器
  • 电池等计量
  • 工业自动化设备


技术规格

  • 工作电压:2.7 - 5.5V
  • 待机电流:300nA (5V)
  • 工作温度:-40°C ~ +125°C
  • 片内参考电压:2.048V ± 0.05%, 漂移15 PPM /°C
  • 片内可编程增益(PGA):x1,x2,x4,x8 (x1为缺省值)
  • 差分输入范围:-2.048V / PGA ~ 2.048V / PGA
  • 可设置分辨率:12位、14位、16位、18位 (12为缺省值)
  • 采样速率:240次/s, 60次/s ,15次/s,3.75次/s(与分辨率相对应)
  • 增益误差:0.05% (PGA = 1,18位)
  • 失调误差:15uV (PGA = 1,18位)
  • 输入接口:4路差分输入,2.54mm间距排针
  • 输出接口:I2C,2.54mm间距排针
  • 模块尺寸:27x16mm


注:差分输入范围和PGA相关,以PGA=4为例,则其输入范围为 -0.512(-2.048/4)V ~ 0.512(2.048/4)V

接口说明

ADC3424.JPG
  • 输入输出引脚如图所示。
  • 拨码说明:模块通过一组拨码开关设置I2C的通讯地址,拨码的设置参见模块上的地址表


注意事项

  • 该模块是差分输入,测量的是输入通道正(CH+)和负(CH-)之间的的电压差。如果进行单端测量,需将相应通道的负和被测系统接地。


使用教程

Arduino电压测量

a) 目标:Arduino电压测量 使用Arduino环境,测试稳压电源的电压值,然后通过串口调试助手显示出来。

b) 硬件清单

  • DF_UNO 1
  • 本模块 1个
  • 可调稳压电源 1个
  • 杜邦线

c) 软件清单

d) 连线图

Cs2.png

e) 操作步骤

  1. 将稳压电源调节到最小,然后打开电压,将电压调整到(0-2.085V)内
  2. 安装Arduino MCP3424库,参见安装Arduino库
  3. 打开Arduino IDE
  4. 将下面的代码上传到UNO
 /* MCP 3424 version 1.2 example sketch OneShotConversion
 Written by B@tto 
 Contact : batto@hotmail.fr
 
 In this example, one conversion per second is performed on channel 1 and 16 bits resolution. 
 A new conversion has to be initiated by the user
 */
 
 
 #include <Wire.h>
 #include <MCP3424.h>
 
 MCP3424 MCP(0x68);   // Declaration of MCP3424 with Address of I2C
 
 long Voltage;
 
 void setup(){ 
 
   Serial.begin(9600); 
   MCP.Configuration(1,16,0,1); // Channel 1, 16 bits resolution, one-shot mode, amplifier gain = 1
 
 }
 
 void loop(){
 
   MCP.NewConversion();    // New conversion is initiated
   
   Voltage=MCP.Measure();  // Measure, note that the library waits for a complete conversion
  
   Serial.print("Voltage = "); 
   Serial.print(Voltage);
   Serial.println("uV");  // unit: microVolt
   
   delay (1000);
   
 }

f) 实现效果

  • 打开Ardino串口,可以观察到电压值。

树莓派电压测量

a) 目标:树莓派读取电压

b) 硬件清单

c) 软件清单

d) 连线图:请参考前一示例,将转换通道与树莓派GPIO中的I2C和电源引脚相连接。

e) 操作步骤:请参考该驱动的说明。



产品购买链接

购买

个人工具
名字空间

变换
操作
导航
工具箱