數(shù)字化傳感器采用的輸出形式有: I2C總線、SPI總線、Microwire/PLUS總線、one-wire單總線等。MPM3808型壓力傳感器是一款 I2C總線輸出的數(shù)字化產(chǎn)品。
一體化水下明渠流量計是MPM3808傳感器一個典型的應(yīng)用。
利用速度面積法,綜合計算所測液體的流量。非常適合于明渠、河道及難以建造標(biāo)準(zhǔn)斷面(如巴歇爾槽)的明渠流速、流量測量。
1、傳感器的輸出一致性誤差可以達(dá)到0.5%以內(nèi),傳感器的特性參數(shù)可完全相同,因而具有良好的互換性;
I2C主器件(如單片機)發(fā)送7 位從器件地址(0×28)和第8 位=1(讀),傳感器作為從器件發(fā)送一個確認(rèn)信號(ACK)表示通訊連接成功。接著從器件向主器件返回兩個字節(jié)的壓力數(shù)據(jù)(P[13:8]和P[7:0])、兩個字節(jié)的溫度數(shù)據(jù)(T[10:3]和T[2:0])。 I2C通訊流程如下:
(I2C通訊流程)
Wire.begin(4,5);
// 初始化 I2C bus, SDA:4,SCL:5
Wire.beginTransmission(0x28);
// 開始一次傳輸數(shù)據(jù)
Wire.endTransmission(void);
// 通訊結(jié)束,主機發(fā)送STOP 信號
Wire.requestFrom(0x28, 4);
// 從0X28 設(shè)備讀取4個字節(jié)數(shù)據(jù)
Wire.available();
// 收到的是字節(jié)數(shù)
Wire.read();
// 收到的是數(shù)據(jù), P1, P2,T1,T2
pressure = P1 <<8 | P 2;
// 14位壓力數(shù)據(jù)(BIN)
temperature = T1 <
// 11位溫度數(shù)據(jù)(BIN)
注意:單片機從MPM3808讀取的數(shù)據(jù)為碼值,壓力為14位二進制數(shù)(0 ~ 16383),溫度為11位二進制數(shù)(0 ~ 2047)。如,傳感器基本量程:0 ~ 300Kpa,輸出信號(5% ~ 95%):819 ~ 15563,讀取的碼值與壓力、溫度的轉(zhuǎn)換如下圖:
(如圖所示:將單片機采集到的I2C數(shù)據(jù),通過串口用SecureCRT終端仿真打印顯示)
目前大多數(shù)傳感器應(yīng)用是采用模擬輸出信號,但 I2C等數(shù)字輸出傳感器應(yīng)用的便利性,已得到越來越多的設(shè)計人員認(rèn)可。傳感器采用串行總線技術(shù),可以使系統(tǒng)的硬件簡化、體積減小、可靠性提高,同時系統(tǒng)的升級和擴充極為容易。