基于單片機的智能感溫水表的設計
3 系統軟件設計
3.1 軟件總體設計
系統的軟件設計采用了模塊化的設計方法,主程序通過(guò)調用各子程序模塊來(lái)實(shí)現相應的功能,其程序流程如圖5所示。本文引用地址:http://dyxdggzs.com/article/172155.htm
系統初始化程序完成單片機端口的功能選擇及各寄存器、LCD顯示模塊的初始化。溫度傳感器模塊檢測當前水管中液體溫度,并與設定的閾值(85℃)相比較,當溫度高于閾值時(shí),流量傳感器模塊計算當前流量。LCD顯示模塊程序完成流量顯示,存儲模塊存儲當前流量值。
3.2 流量信號的計算
流量傳感器中的干簧管采用單計數脈沖輸入,2個(gè)100μF的電容用來(lái)消除雙干簧管閉合時(shí)產(chǎn)生的抖動(dòng)。如圖4所示,轉盤(pán)每轉一圈,永磁鐵經(jīng)過(guò)干簧管附近一次,即產(chǎn)生一個(gè)計量脈沖。雙干簧管的情況下這要計數脈沖有效就對流量進(jìn)行計算。具體的程序流程如圖6所示。
當檢測到干簧管A的脈沖信號是并不直接開(kāi)始計算,還要檢測干簧管B得脈沖信號。當干簧管B的脈沖信號也被檢測到的時(shí)候,認為此次計數脈沖有效,并記錄,與以前的檢測脈沖數求和。
在室溫下進(jìn)行20次測量實(shí)驗,傳感器管道直徑50 mm。實(shí)驗數據得到該流量傳感器平均一次有效計數脈沖對應0.64 L的液體流過(guò)設計管道。
若當前記錄的總的脈沖數為N,則此時(shí)的流量Q=0.64N(單位:L)。
3.3 溫度測量
感溫水表的溫度測量系統的溫度傳感器是DS18B20,硬件電路簡(jiǎn)單、穩定。但是這是以犧牲軟件為代價(jià)的,在編程時(shí)必須嚴格遵守DS18B20工作時(shí)序的要求。基于DS18B20的溫度信號檢測流程如圖7所示。
先由主機給DS18B20發(fā)一個(gè)復位脈沖,在DS18B20發(fā)回響應脈沖給主機后,主機再發(fā)讀ROM命令(代碼33H),并發(fā)一個(gè)15μs左右的脈沖,接著(zhù)再讀取DS18B20序列號的一位,并用同樣方法讀取序列號的每一位。
4 結語(yǔ)
本文所設計的感溫水表,以AT89C52單片機為核心控制芯片,加入了溫度傳感器、流量傳感器、外圍顯示電路和E2PROM存儲設備。
設計提出的采用DS18B20傳感器采集溫度信號的設計方案,克服了普通水表不能分辨冷熱水的缺陷,適合用于我國各種不同的區域環(huán)境。同時(shí),其計量準確度符合國家標準要求,有良好的實(shí)用價(jià)值,具有廣闊的市場(chǎng)前景。
評論