本帖最后由 engineerarui 于 2022-7-25 16:07 編輯
將單片機項目實訓——基于nRF905的多點溫度無線采集系統分享出來,如有不足,敬請指出。
一、設計要求系統采用NRF905作為無線收發器,四個從機采集到溫度信息分別發送給主機,主機顯示四點的溫度信息,并且可通過按鍵設定溫度的上下限報警值,超限能夠進行聲光報警。 二、方案設計 隨著技術的發展,基于無線的信息傳輸方式越來越成熟,與有線的信息傳輸方式相比,無線的方式易于安裝和后期維護。NRF905單片無線接收器是挪威Nordic公司推出的單片射頻發射器芯片,工作電壓為1.9V至3.6V,工作于433、868、915MHZ 3個ISM頻道,通過SPI接口與MCU連接。由于51單片機沒有SPI接口,可以通過軟件模擬SPI通信協議進行通信。系統方案框圖如下圖所示。 三、硬件電路設計從機用DS18B20溫度傳感器進行溫度采集,DS18B20是美國Dallas半導體公司的數字化溫度傳感器,其單總線控制方式最大限度的節省單片機有限的IO口資源,其I/O口和單片機第8腳P17相連。從機電路原理圖如下圖所示。 主機使用LCD1602液晶屏進行顯示,LCD1602液晶屏內置常用的ASCII碼,有兩種驅動方式,本設計考慮到顯示數據的刷新速度,決定采用并口驅動方式;按鍵使用獨立按鍵控制方式;聲光報警部分采用蜂鳴器加LED指示。主機電路原理圖如下圖所示。 無線收發器均采用挪威Nordic公司推出的NRF905單片無線收發器。 思考:通過對比從機、主機原理圖,發現其中一部分電路是相同的,也有部分差異,如果繪制PCB打樣,需要設計兩種PCB電路,考慮到成本與實際設計需要,作者本人設計了“主從一體機”,也就是從機、主機都是一樣的電路,只是在具體焊接時部分器件不用焊接。 主從一體機原理圖如下所示: 備注:D1~D8指示燈的含義: D1:1號從機測量的環境溫度低于溫度下限; D2:1號從機測量的環境溫度高于溫度上限; D3:2號從機測量的環境溫度低于溫度下限; D4:2號從機測量的環境溫度高于溫度上限; D5:3號從機測量的環境溫度低于溫度下限; D6:3號從機測量的環境溫度高于溫度上限; D7:4號從機測量的環境溫度低于溫度下限; D8:4號從機測量的環境溫度高于溫度上限; 四、軟件設計主機首先對從機分別分配不同的地址,然后通過地址來區別收到的數據是哪一個從機發來的。4個從機將溫度傳感器DS18B20測得溫度值通過NRF905無線模塊將數據傳輸給主機。 (一)從機發送端 1.主程序: 2.程序分析 (二)主機接收端(下載鏈接在文章第六部分) 1.主程序 2.程序分析 五、其他圖片(一)PCB -3D視圖 1.主機-PCB-3D 正反面 2.從機-PCB-3D 正反面 (二)系統實物圖 1.整體效果圖 2.1號從機圖 3.2號從機圖 4.3號從機圖 5.4號從機圖 6.主機圖 7.PCB空板圖-正面 8.PCB空板圖-背面 9.PCB-主機散件 10.PCB-從機散件 11.PCB-主從機散件 六、資料鏈接(1)作品演示視頻鏈接 (2)硬件電路分析視頻: (3)軟件程序分析視頻: 七、關于作者 |