数字化传感器采用的输出形式有: I2C总线、SPI总线、Microwire/PLUS总线、one-wire单总线等。MPM3808型压力传感器是一款 I2C总线输出的数字化产品。
一体化水下明渠流量计是MPM3808传感器一个典型的应用。
利用速度面积法,综合计算所测液体的流量。非常适合于明渠、河道及难以建造标准断面(如巴歇尔槽)的明渠流速、流量测量。
1、传感器的输出一致性误差可以达到0.5%以内,传感器的特性参数可完全相同,因而具有良好的互换性;
I2C主器件(如单片机)发送7 位从器件地址(0×28)和第8 位=1(读),传感器作为从器件发送一个确认信号(ACK)表示通讯连接成功。接着从器件向主器件返回两个字节的压力数据(P[13:8]和P[7:0])、两个字节的温度数据(T[10:3]和T[2:0])。 I2C通讯流程如下:
(I2C通讯流程)
Wire.begin(4,5);
// 初始化 I2C bus, SDA:4,SCL:5
Wire.beginTransmission(0x28);
// 开始一次传输数据
Wire.endTransmission(void);
// 通讯结束,主机发送STOP 信号
Wire.requestFrom(0x28, 4);
// 从0X28 设备读取4个字节数据
Wire.available();
// 收到的是字节数
Wire.read();
// 收到的是数据, P1, P2,T1,T2
pressure = P1 <<8 | P 2;
// 14位压力数据(BIN)
temperature = T1 <
// 11位温度数据(BIN)
注意:单片机从MPM3808读取的数据为码值,压力为14位二进制数(0 ~ 16383),温度为11位二进制数(0 ~ 2047)。如,传感器基本量程:0 ~ 300Kpa,输出信号(5% ~ 95%):819 ~ 15563,读取的码值与压力、温度的转换如下图:
(如图所示:将单片机采集到的I2C数据,通过串口用SecureCRT终端仿真打印显示)
目前大多数传感器应用是采用模拟输出信号,但 I2C等数字输出传感器应用的便利性,已得到越来越多的设计人员认可。传感器采用串行总线技术,可以使系统的硬件简化、体积减小、可靠性提高,同时系统的升级和扩充极为容易。