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