I2C數(shù)字化輸出傳感器的應(yīng)用與編程

時(shí)間 : 2019-09-03      作者 :

        數(shù)字化傳感器采用的輸出形式有: I2C總線、SPI總線、Microwire/PLUS總線、one-wire單總線等。MPM3808型壓力傳感器是一款 I2C總線輸出的數(shù)字化產(chǎn)品。


 應(yīng)用方案  /

一體化水下明渠流量計(jì)是MPM3808傳感器一個(gè)典型的應(yīng)用。


I2C數(shù)字化輸出傳感器的應(yīng)用與編程

一體化水下明渠流量計(jì)內(nèi)部有三種傳感器,集流速、水位、溫度數(shù)據(jù)實(shí)時(shí)采集于一體。采用超聲傳感器探測(cè)流速,測(cè)量點(diǎn)在探頭的前方,不破壞流場(chǎng),測(cè)量精度高,量程寬,響應(yīng)快;采用安裝在后部的壓力傳感器測(cè)量水位,壓強(qiáng)受水流影響較??;內(nèi)置溫度傳感器測(cè)量溫度,做數(shù)字化溫度修正。

利用速度面積法,綜合計(jì)算所測(cè)液體的流量。非常適合于明渠、河道及難以建造標(biāo)準(zhǔn)斷面(如巴歇爾槽)的明渠流速、流量測(cè)量。


 /  方案應(yīng)用產(chǎn)品  /

I2C數(shù)字化輸出傳感器的應(yīng)用與編程
麥克公司生產(chǎn)的MPM3808 型 I2C 數(shù)字壓力傳感器,經(jīng)過(guò)多年市場(chǎng)推廣,應(yīng)用領(lǐng)域逐步擴(kuò)大,產(chǎn)品優(yōu)勢(shì)明顯:

1、傳感器的輸出一致性誤差可以達(dá)到0.5%以內(nèi),傳感器的特性參數(shù)可完全相同,因而具有良好的互換性;

2、電磁兼容性能優(yōu)良,傳感器的抗干擾能力增加,比模擬信號(hào)更為可靠;
3、標(biāo)準(zhǔn)的數(shù)字通訊接口,信號(hào)可直接連到單片機(jī),單片機(jī)能獲得并處理更多不同的參量,實(shí)現(xiàn)多功能的智能儀器。


/   產(chǎn)品編程   /

數(shù)字信號(hào)輸出傳感器數(shù)據(jù)采集,需要做單片機(jī)的編程,較模擬信號(hào)傳感器復(fù)雜,這是制約其推廣應(yīng)用的結(jié)點(diǎn)所在。我們以MPM3808型 I2C輸出傳感器為例,說(shuō)明數(shù)字化傳感器讀取測(cè)量數(shù)據(jù)方法。
MPM3808型 I2C輸出數(shù)字化傳感器,  I2C默認(rèn)通訊地址:0x28,write:0x50,read:0x51;SCLK時(shí)鐘頻率:100KHz ~ 400KHz。

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數(shù)字化輸出傳感器的應(yīng)用與編程

I2C通訊流程)

 I2C是一種常用的通信方式,許多單片機(jī)集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment)集成了 I2C庫(kù),可以直接調(diào)用幾個(gè)函數(shù)實(shí)現(xiàn) I2C通信。如調(diào)用庫(kù)函數(shù)wire.h ,通訊流程如下:

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)換如下圖:

I2C數(shù)字化輸出傳感器的應(yīng)用與編程

(如圖所示:將單片機(jī)采集到的I2C數(shù)據(jù),通過(guò)串口用SecureCRT終端仿真打印顯示)

目前大多數(shù)傳感器應(yīng)用是采用模擬輸出信號(hào),但 I2C等數(shù)字輸出傳感器應(yīng)用的便利性,已得到越來(lái)越多的設(shè)計(jì)人員認(rèn)可。傳感器采用串行總線技術(shù),可以使系統(tǒng)的硬件簡(jiǎn)化、體積減小、可靠性提高,同時(shí)系統(tǒng)的升級(jí)和擴(kuò)充極為容易。