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