I2C數字化輸出傳感器的應用與編程
一體化水下明渠流量計是MPM3808傳感器一個(gè)典型的應用。

利用速度面積法,綜合計算所測液體的流量。非常適合于明渠、河道及難以建造標準斷面(如巴歇爾槽)的明渠流速、流量測量。
1、傳感器的輸出一致性誤差可以達到0.5%以?xún)?,傳感器的特性參數可完全相同,因而具有良好的互換性;
I2C主器件(如單片機)發(fā)送7 位從器件地址(0×28)和第8 位=1(讀),傳感器作為從器件發(fā)送一個(gè)確認信號(ACK)表示通訊連接成功。接著(zhù)從器件向主器件返回兩個(gè)字節的壓力數據(P[13:8]和P[7:0])、兩個(gè)字節的溫度數據(T[10:3]和T[2:0])。 I2C通訊流程如下:
(I2C通訊流程)
Wire.begin(4,5);
// 初始化 I2C bus, SDA:4,SCL:5
Wire.beginTransmission(0x28);
// 開(kāi)始一次傳輸數據
Wire.endTransmission(void);
// 通訊結束,主機發(fā)送STOP 信號
Wire.requestFrom(0x28, 4);
// 從0X28 設備讀取4個(gè)字節數據
Wire.available();
// 收到的是字節數
Wire.read();
// 收到的是數據, P1, P2,T1,T2
pressure = P1 <<8 | P 2;
// 14位壓力數據(BIN)
temperature = T1 <<3 | T2 >>5 ;
// 11位溫度數據(BIN)
注意:單片機從MPM3808讀取的數據為碼值,壓力為14位二進(jìn)制數(0 ~ 16383),溫度為11位二進(jìn)制數(0 ~ 2047)。如,傳感器基本量程:0 ~ 300Kpa,輸出信號(5% ~ 95%):819 ~ 15563,讀取的碼值與壓力、溫度的轉換如下圖:

(如圖所示:將單片機采集到的I2C數據,通過(guò)串口用SecureCRT終端仿真打印顯示)
目前大多數傳感器應用是采用模擬輸出信號,但 I2C等數字輸出傳感器應用的便利性,已得到越來(lái)越多的設計人員認可。傳感器采用串行總線(xiàn)技術(shù),可以使系統的硬件簡(jiǎn)化、體積減小、可靠性提高,同時(shí)系統的升級和擴充極為容易。
