找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3371|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

(家庭實用型)MSP430單片機空氣質(zhì)量探測系統(tǒng)設(shè)計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:399111 發(fā)表于 2020-1-18 22:22 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本項目通過MSP430開發(fā)而成,貼近生活的解決方案,,融合多傳感器,讓環(huán)境質(zhì)量得到有效監(jiān)控,

起初做這個項目的念頭在2013年3月,當(dāng)時覺得北京的空氣實在是太差了,需要做一個設(shè)備放在窗外做實時提醒用,所以就用飯盒+MSP430打造了一個室外空氣探測器,后來又發(fā)現(xiàn)物聯(lián)網(wǎng)網(wǎng)站不錯,可以把數(shù)據(jù)上傳到物聯(lián)網(wǎng)上,于是飯盒加上了藍牙,用PC來上傳數(shù)據(jù)。5月份的時候感覺PC整天開著太費電了,于是想用Arduino來完成上傳的功能,于是把無線鏈接換成了NRF24L01。6月突發(fā)奇想,想給家里省點電,于是在家中的電熱水器上加上了MSP430做的另一個節(jié)點,7月參加了樂聯(lián)網(wǎng)的網(wǎng)絡(luò)電表計劃,于是整套系統(tǒng)里面有了第三個節(jié)點。

下面是盒子的功能介紹:

裸板是一片MSP430的轉(zhuǎn)接板+洞洞板,板上有一片MSP430+SPI Flash用作數(shù)據(jù)存儲
有一片RTC時鐘用于記錄時間,還有一顆電池,和JTAG調(diào)試口。


顆粒物監(jiān)測器初期使用的是DSM501和DDP42NS,后來感覺這兩顆不夠穩(wěn)定,數(shù)據(jù)也不太精確,然后換成了日貨……
Sharp的gp2y1010au。夏普這顆電路控制比較復(fù)雜,但精度確實不錯,而且很省電。
下圖是早起用的DSM501的版本


因為空氣探測器是放在室外的,為了整體防潑水,所以用了樂扣樂扣的飯盒,工作半年以來抗大雨無數(shù),完全沒問題。

但是密閉和檢測空氣顆粒物是矛盾的,所以在盒子的隱蔽處有進風(fēng)口和出風(fēng)口,有一顆微小的風(fēng)扇來提供空氣流
這顆風(fēng)扇真的很小,而且只有5V 22mA的耗電。


這是傳感器組,溫濕度傳感器是DHT22,環(huán)境光傳感器是BH1750FVI,大氣壓力和溫度傳感器是BMP085
GPS是SIRF3貌似。電池是一顆3700mah的鋰電,板上自帶1A的3段充電電路


最早做項目的時候曾經(jīng)想過用PC和Android手機來提交數(shù)據(jù),所以還寫了PC和安卓的客戶端app



下面是熱水器模組的介紹:
模組是安裝在熱水器里面的,海爾電熱水器的側(cè)面板很好拆,于是就直接裝在泡沫里面了。
此控制器裝有一個NRF24無線通信模塊,另外有一只DS18B20溫度傳感器粘在金屬內(nèi)膽上面讀取溫度(數(shù)據(jù)有一定遲滯)
單片機有一根GPIO接在熱水器的開關(guān)按鍵上面,所有的過熱保護措置還由熱水器自身實現(xiàn),模塊只控制開關(guān)



下面是電能表模塊的介紹:
模塊是樂聯(lián)網(wǎng)團購的,能測量功率因數(shù),電壓,電流,總功率,總耗電等……
外部通信板還是MSP430+NRF24,并且還有一顆DS18B20用來讀取電表箱外側(cè)的溫度




下面是Arduino主控的介紹:
買過多塊Arduino,最初是Leonardo,但是寫著寫著發(fā)現(xiàn)存儲空間不夠了,后來換了MEGA2560,
代碼空間夠了,但發(fā)現(xiàn)運行不穩(wěn)定,大概4-5個小時就會自動重啟,又入了DUE,發(fā)現(xiàn)每隔20多小時還是自動重啟……
無奈了于是作罷。
主控帶有:1、紅外感應(yīng)器,用于檢測家中人的活動狀況,然后自動控制熱水器水溫
2、DHT22,檢測家中溫濕度
3、光照度感應(yīng)器,檢測家中光照
4、帶有一只EEPROM,用來存儲一些掉電可能會丟的數(shù)據(jù)(因為總是20多個小時就莫名重啟了)






由于arduino可以跑多段代碼,同時上傳數(shù)據(jù)到y(tǒng)eelink和樂聯(lián)網(wǎng),所以兩邊網(wǎng)站上都可以查詢數(shù)據(jù)



附檔還有所有程序的源碼,因為是個人興趣項目,本人也不是專業(yè)軟件工程師(其實是硬件工程師啦)
所以基本都沒怎么寫注釋…… 各位湊合著看啦
所有的pin定義都在各工程的pinmap.h里面
所有的全局變量和全局函數(shù)都在variabledefine.h里面
工程請用IAR Embedded Workshop for MSP430打開

Arduino的工程說明:
HomeController.ino是變量聲明和初始化函數(shù)
HTTPServer.ino是HTTP Server的主要工程,提供了web界面來查看各傳感器參數(shù)
LeWei50.ino是樂聯(lián)網(wǎng)的提交模塊
Misc.ino是一些雜七雜八的東東
NetProtocol.ino是NRF24L01各節(jié)點中間的通信協(xié)議解析,我比較偷懶,沒弄什么自動組網(wǎng)之類的,各節(jié)點編號都是寫死的
NRF24L01.ino是NRF24的功能函數(shù)
NTPClient.ino是NTP時間校準(zhǔn),負(fù)責(zé)從NTP Server取回當(dāng)前時間
Sensors.ino是所有Arduino板上的傳感器函數(shù)
SubmitData.ino是yeelink的提交函數(shù),以及去各節(jié)點的定時讀取函數(shù)
YeeLight.ino里面是yeelight的控制函數(shù),根據(jù)人的活動以及熱水器水溫來控制yeelight當(dāng)個小夜燈
1363392271.9115.jpg (419.27 KB, 下載次數(shù): 5)

1363612360.8027.jpg (275.88 KB, 下載次數(shù): 4)

1363612375.2532.jpg (286.05 KB, 下載次數(shù): 4)


全部資料51hei下載地址:
(家庭實用型)空氣質(zhì)量探測系統(tǒng)設(shè)計.rar (7.8 MB, 下載次數(shù): 16)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:808735 發(fā)表于 2020-7-28 10:24 | 只看該作者
流弊,小學(xué)生求帶
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表