煙霧檢測傳感器使用的是MQ-2煙霧傳感器。MQ-2型煙霧傳感器屬于二氧化錫半導(dǎo)體氣敏材料,屬于表面離子式N型半導(dǎo)體。處于200~300攝氏度時,二氧化錫吸附空氣中的氧,形成氧的負離子吸附,使半導(dǎo)體中的電子密度減少,從而使其電阻值增加。當(dāng)與煙霧接觸時,如果晶粒間界處的勢壘收到煙霧的調(diào)至而變化,就會引起表面導(dǎo)電率的變化。利用這一點就可以獲得這種煙霧存在的信息,煙霧的濃度越大,導(dǎo)電率越大,輸出電阻越低,則輸出的模擬信號就越大。
使用MQ-2煙霧傳感器來檢測周圍環(huán)境煙霧濃度,再通過小凌派開發(fā)板采集信號。因為采集的信號是電壓值所以通過adc轉(zhuǎn)換成數(shù)字信號。這里有個需要注意的地方RK2206的ADC默認參考電壓是內(nèi)部2.4v所以初始化ADC時通過配置soc_con29 寄存器改成外部3.3v參考電壓。
參考代碼
讀取ADC電壓
計算ppm值
阻值R與空氣中被測氣體的濃度C的計算關(guān)系式
log R = mlog C + n (m,n均為常數(shù))
傳感器的電阻計算
Vc為回路電壓,VRL是傳感器4腳6腳輸出電壓,RL是負載
ppm值校準
因為使用的是無源蜂鳴器,所以通過pwm驅(qū)動蜂鳴器報警。
pwm初始化
pwm 啟動
pwm停止
蜂鳴器報警控制,需要報警時啟動pwm,不需要報警時停止pwm
整個模塊初始化
創(chuàng)建一個任務(wù)處理函數(shù)
這里需要注意的是ppm校準需要提前測試,再把值寫死到代碼里。
還有需要注意的是mq2傳感器需要預(yù)熱,即提前通電大約半分鐘到一分鐘左右。用手放在傳感器外殼感覺微微發(fā)熱即可。如果不預(yù)熱就開始測量其測量值會偏差很大,而且會隨著加熱而變化。
最后創(chuàng)建一個任務(wù)調(diào)用上面處理函數(shù)即可。
燒寫程序后通過串口打印結(jié)果
當(dāng)檢測到煙霧超過設(shè)定值時蜂鳴器報警響起。低于設(shè)置值時蜂鳴器停止報警。這樣基于小凌派的煙霧報警功能就實現(xiàn)了。
-
蜂鳴器
+關(guān)注
關(guān)注
12文章
888瀏覽量
45782 -
檢測傳感器
+關(guān)注
關(guān)注
0文章
31瀏覽量
10655 -
煙霧報警
+關(guān)注
關(guān)注
0文章
5瀏覽量
8707 -
小凌派
+關(guān)注
關(guān)注
0文章
27瀏覽量
1186
發(fā)布評論請先 登錄
相關(guān)推薦
評論