一体化水下明渠流量计是MPM3808传感器一个典型的应用。
一体化水下明渠流量计内部有三种传感器,集流速、���位、温度数据实时采集于一体。采用超声传感器探测流速,测量点在探头的前方,不破坏流场,测量精度高,量程宽,响应快;采用安装在后部的压力传感器测量水位,压强受水流影响较小;内置温度传感器测量温度,做数字化温度修正。 利用速度面积法,综合计算所测液体的流量。非常适合于明渠、河道及难以建造标准断面(如巴歇尔槽)的明渠流速、流量测量。 / 方案应用产品 /
利用速度面积法,综合计算所测液体的流量。非常适合于明渠、河道及难以建造标准断面(如巴歇尔槽)的明渠流速、流量测量。
麦克公司生产的MPM3808 型 I²C 数字压力传感器,经过多年市场推广,应用领域逐步扩大,产品优势明显: 1、传感器的输出一致性误差可以达到0.5%以内,传感器的特性参数可完全相同,因而具有良好的互换性; 2、电磁兼容性能优良,传感器的抗干扰能力增加,比模拟信号更为可靠;3、标准的数字通讯接口,信号可直接连到单片机,单片机能获得并处理更多不同的参量,实现多功能的智能仪器。 / 产品编程 / 数字信号输出传感器数据采集,需要做单片机的编程,较模拟信号传感器复杂,这是制约其推广应用的结点所在。我们以MPM3808型 I²C输出传感器为例,说明数字化传感器读取测量数据方法。MPM3808型 I²C输出数字化传感器, I²C默认通讯地址:0x28,write:0x50,read:0x51;SCLK时钟频率:100KHz ~ 400KHz。 I²C主器件(如单片机)发送7 位从器件地址(0×28)和第8 位=1(读),传感器作为从器件发送一个确认信号(ACK)表示通讯连接成功。接着从器件向主器件返回两个字节的压力数据(P[13:8]和P[7:0])、两个字节的温度数据(T[10:3]和T[2:0])。 I²C通讯流程如下: (I²C通讯流程) I²C是一种常用的通信方式,许多单片机集成开发环境IDE(Integrated Development Environment)集成了 I²C库,可以直接调用几个函数实现 I²C通信。如调用库函数wire.h ,通讯流程如下: Wire.begin(4,5); // 初始化 I²C 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 <<3 | T2 >>5 ; // 11位温度数据(BIN) 注意:单片机从MPM3808读取的数据为码值,压力为14位二进制数(0 ~ 16383),温度为11位二进制数(0 ~ 2047)。如,传感器基本量程:0 ~ 300Kpa,输出信号(5% ~ 95%):819 ~ 15563,读取的码值与压力、温度的转换如下图: (如图所示:将单片机采集到的I²C数据,通过串口用SecureCRT终端仿真打印显示) 目前大多数传感器应用是采用模拟输出信号,但 I²C等数字输出传感器应用的便利性,已得到越来越多的设计人员认可。传感器采用串行总线技术,可以使系统的硬件简化、体积减小、可靠性提高,同时系统的升级和扩充极为容易。
1、传感器的输出一致性误差可以达到0.5%以内,传感器的特性参数可完全相同,因而具有良好的互换性;
I²C主器件(如单片机)发送7 位从器件地址(0×28)和第8 位=1(读),传感器作为从器件发送一个确认信号(ACK)表示通讯连接成功。接着从器件向主器件返回两个字节的压力数据(P[13:8]和P[7:0])、两个字节的温度数据(T[10:3]和T[2:0])。 I²C通讯流程如下:
(I²C通讯流程) I²C是一种常用的通信方式,许多单片机集成开发环境IDE(Integrated Development Environment)集成了 I²C库,可以直接调用几个函数实现 I²C通信。如调用库函数wire.h ,通讯流程如下: Wire.begin(4,5); // 初始化 I²C 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 <<3 | T2 >>5 ; // 11位温度数据(BIN) 注意:单片机从MPM3808读取的数据为码值,压力为14位二进制数(0 ~ 16383),温度为11位二进制数(0 ~ 2047)。如,传感器基本量程:0 ~ 300Kpa,输出信号(5% ~ 95%):819 ~ 15563,读取的码值与压力、温度的转换如下图:
(I²C通讯流程)
Wire.begin(4,5);
// 初始化 I²C 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 <<3 | T2 >>5 ;
// 11位温度数据(BIN)
注意:单片机从MPM3808读取的数据为码值,压力为14位二进制数(0 ~ 16383),温度为11位二进制数(0 ~ 2047)。如,传感器基本量程:0 ~ 300Kpa,输出信号(5% ~ 95%):819 ~ 15563,读取的码值与压力、温度的转换如下图:
(如图所示:将单片机采集到的I²C数据,通过串口用SecureCRT终端仿真打印显示) 目前大多数传感器应用是采用模拟输出信号,但 I²C等数字输出传感器应用的便利性,已得到越来越多的设计人员认可。传感器采用串行总线技术,可以使系统的硬件简化、体积减小、可靠性提高,同时系统的升级和扩充极为容易。
(如图所示:将单片机采集到的I²C数据,通过串口用SecureCRT终端仿真打印显示)
目前大多数传感器应用是采用模拟输出信号,但 I²C等数字输出传感器应用的便利性,已得到越来越多的设计人员认可。传感器采用串行总线技术,可以使系统的硬件简化、体积减小、可靠性提高,同时系统的升级和扩充极为容易。