基于485總線的溫度監(jiān)控系統(tǒng)
發(fā)布時間:2008/9/2 0:00:00 訪問次數(shù):441
引言
。颍笠唬矗福悼偩由于平衡差分傳輸?shù)奶匦裕哂锌垢蓴_能力強,傳輸距離遠(yuǎn)、有較強的級連的能力。能實現(xiàn)多站遠(yuǎn)距離通信,組網(wǎng)方便,成本低廉,因此在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用。
本系統(tǒng)是基于rs一485總線的遠(yuǎn)程多路溫度監(jiān)測、控制系統(tǒng),上位機是一臺pc,下位機是多個以at98s51為控制器的溫度傳感器。工作時,下位機會向上位機發(fā)出本機地址和詢問預(yù)置溫度的請求。上位機獲得下位機地址后,就知道那些地址的下位機已啟動并根據(jù)請求把相應(yīng)的預(yù)置溫度發(fā)給下位機,此后每隔一定時間逐一詢問已啟動的下位機測定的溫度信息,獲得溫度值后存入數(shù)據(jù)庫并實時顯示當(dāng)前各路傳感器測定溫度,當(dāng)溫度過高時,會告警提示。下位機獲得預(yù)置溫度后,開始對傳感器的數(shù)據(jù)采集和溫度測量。當(dāng)溫度低于預(yù)置溫度時,接通加熱器加熱溫度,溫度過高時,接通制冷設(shè)備加速降溫,同時把溫度信息傳回上位機,溫度超出范圍后,還會以蜂鳴器報警。上位機接收下位機的測量溫度后存入數(shù)據(jù)庫,并實時顯示,系統(tǒng)還具備數(shù)據(jù)庫管理、溫度變化曲線繪制等功能。當(dāng)下位機掉電重啟后,會向上位機重新問詢獲得掉電前的預(yù)置溫度。溫度監(jiān)控系統(tǒng)由傳感器電路、信號調(diào)整電路、a/d采樣電路、控制電路、監(jiān)控主機組成;竟ぷ髟硎牵簜鞲衅麟娐穼⒏惺艿降臏囟刃盘栆噪妷盒问捷敵觯(jīng)調(diào)整電路變換到ttl電平、由a/d采樣后將數(shù)字量送給單片機控制電路,單片機根據(jù)開機時上位機傳來的設(shè)定溫度判斷作何種控制,如溫度未到設(shè)定溫度,經(jīng)驅(qū)動控制繼電器閉合接通加熱器,如溫度過高則接通制冷設(shè)備加速降溫。單片機還將所測溫度在數(shù)碼管上顯示,并在上位機詢問時把測量溫度送到上位機入庫。系統(tǒng)框圖如下圖1。
系統(tǒng)實現(xiàn)
硬件設(shè)計
。幔簦福梗螅担笔牵幔簦恚澹旃镜目稍诰編程的單片機,它價格低廉,且支持在系統(tǒng)編程(isp),方便設(shè)計者開發(fā)調(diào)試。溫度傳感器選用ns公司生產(chǎn)的l= m35,它具有很高的工作精度和較好的線性工作范圍,測溫范圍為一55℃~+150℃,完全適用于一般的測溫場合。其輸出電壓與攝氏溫度線性成正比,無需外部校準(zhǔn)即可提供1/4℃的測量精度。信號調(diào)整電路將傳感器電路輸出的變化范圍為2v左右的直流電壓,調(diào)整為ttl電平,以便與a/d兼容。由于單片機。椋锟谟邢蓿趯y溫實時性要求不是太高的情況下,a/d變換采用8位串行a/d轉(zhuǎn)換器adc0832,它與單片機的io連線只有三根,減少了io占用量。四個數(shù)碼管的數(shù)據(jù)端都接到單片機p1口,控制端由p2[3..0]控制,利用定時器中斷觸發(fā),每次只接通一個數(shù)碼管,顯示相應(yīng)數(shù)值,利用分時顯示在數(shù)碼管上顯示溫度值。當(dāng)溫度變化時,a/d采集調(diào)整電路輸出電壓值,送單片機,單片機根據(jù)采樣值判定溫度,通過數(shù)碼管顯示溫度值并回饋上位機。
原理圖如圖2 所示。
軟件設(shè)計
下位機軟件設(shè)計
下位機的軟件是在keil。酰觯椋螅椋恚欤蚕,使用c語言開發(fā)的。下位機的軟件設(shè)計中,主要解決三個問題:一是adc0832的控制位寫入。根據(jù)數(shù)據(jù)手冊,在時鐘上升沿寫入配置字即可,但按此方法始終不能正確讀出數(shù)據(jù),后來經(jīng)過試驗,在寫入配置字的每一位后,還要在負(fù)跳變前把數(shù)據(jù)翻轉(zhuǎn),配置字才能正確寫入。二是數(shù)碼管上溫度值的顯示。最后采用中斷方案,每隔10ms進(jìn)入中斷程序,循環(huán)選通各個數(shù)碼管,分時顯示對應(yīng)的數(shù)字值。三是a/d采樣數(shù)據(jù)的處理,為避免因干擾而造成a/d采樣數(shù)據(jù)不穩(wěn)定,這里采用軟件濾波的方法以濾除可能的尖峰干擾。方法是連續(xù)采樣七次,去掉最高值和最低值,其余五次取平均值來獲得a/d采樣的數(shù)字量。
經(jīng)測量,0v對應(yīng)的溫度為0℃,,5v時對應(yīng)的溫度為1 25℃,則比例因子k=0.04v/℃。每個數(shù)字量對應(yīng)的電壓值為20mv,則數(shù)字量變化與溫度變化比例關(guān)系k1=2數(shù)字量/℃,利用此比例因子就可由數(shù)字量得到當(dāng)前溫度。
上位機軟件設(shè)計
本系統(tǒng)為主從式監(jiān)控系統(tǒng),主機(即上位機)在向下位機發(fā)預(yù)置溫度啟動下位機后,輪詢不同地址碼的從機,獲得溫度值,存入數(shù)據(jù)庫并在主界面顯示。從機接收到主機預(yù)置溫度后啟動,每次主機詢問溫度值時回送測量溫度值。如出現(xiàn)掉電后重啟的情況,從機向主機發(fā)出重置請求,要求主機重發(fā)預(yù)置溫度。上位機的通信軟件開發(fā)采用borland公司的c++builder5.o,它的集成rad開發(fā)環(huán)境可以幫助開發(fā)人員快速高效地開發(fā)出高質(zhì)量的程序。在c++builder中對串口進(jìn)行編程可以使用mscomm控件加快開發(fā)進(jìn)度。它是一個activex組件,不在c++builder。安裝中提供,可以在裝有vc6.0
引言
rs一485總線由于平衡差分傳輸?shù)奶匦,具有抗干擾能力強,傳輸距離遠(yuǎn)、有較強的級連的能力。能實現(xiàn)多站遠(yuǎn)距離通信,組網(wǎng)方便,成本低廉,因此在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用。
本系統(tǒng)是基于rs一485總線的遠(yuǎn)程多路溫度監(jiān)測、控制系統(tǒng),上位機是一臺pc,下位機是多個以at98s51為控制器的溫度傳感器。工作時,下位機會向上位機發(fā)出本機地址和詢問預(yù)置溫度的請求。上位機獲得下位機地址后,就知道那些地址的下位機已啟動并根據(jù)請求把相應(yīng)的預(yù)置溫度發(fā)給下位機,此后每隔一定時間逐一詢問已啟動的下位機測定的溫度信息,獲得溫度值后存入數(shù)據(jù)庫并實時顯示當(dāng)前各路傳感器測定溫度,當(dāng)溫度過高時,會告警提示。下位機獲得預(yù)置溫度后,開始對傳感器的數(shù)據(jù)采集和溫度測量。當(dāng)溫度低于預(yù)置溫度時,接通加熱器加熱溫度,溫度過高時,接通制冷設(shè)備加速降溫,同時把溫度信息傳回上位機,溫度超出范圍后,還會以蜂鳴器報警。上位機接收下位機的測量溫度后存入數(shù)據(jù)庫,并實時顯示,系統(tǒng)還具備數(shù)據(jù)庫管理、溫度變化曲線繪制等功能。當(dāng)下位機掉電重啟后,會向上位機重新問詢獲得掉電前的預(yù)置溫度。溫度監(jiān)控系統(tǒng)由傳感器電路、信號調(diào)整電路、a/d采樣電路、控制電路、監(jiān)控主機組成。基本工作原理是:傳感器電路將感受到的溫度信號以電壓形式輸出,經(jīng)調(diào)整電路變換到ttl電平、由a/d采樣后將數(shù)字量送給單片機控制電路,單片機根據(jù)開機時上位機傳來的設(shè)定溫度判斷作何種控制,如溫度未到設(shè)定溫度,經(jīng)驅(qū)動控制繼電器閉合接通加熱器,如溫度過高則接通制冷設(shè)備加速降溫。單片機還將所測溫度在數(shù)碼管上顯示,并在上位機詢問時把測量溫度送到上位機入庫。系統(tǒng)框圖如下圖1。
系統(tǒng)實現(xiàn)
硬件設(shè)計
。幔簦福梗螅担笔牵幔簦恚澹旃镜目稍诰編程的單片機,它價格低廉,且支持在系統(tǒng)編程(isp),方便設(shè)計者開發(fā)調(diào)試。溫度傳感器選用ns公司生產(chǎn)的l=。恚常,它具有很高的工作精度和較好的線性工作范圍,測溫范圍為一55℃~+150℃,完全適用于一般的測溫場合。其輸出電壓與攝氏溫度線性成正比,無需外部校準(zhǔn)即可提供1/4℃的測量精度。信號調(diào)整電路將傳感器電路輸出的變化范圍為2v左右的直流電壓,調(diào)整為ttl電平,以便與a/d兼容。由于單片機。椋锟谟邢,在對測溫實時性要求不是太高的情況下,a/d變換采用8位串行a/d轉(zhuǎn)換器adc0832,它與單片機的io連線只有三根,減少了io占用量。四個數(shù)碼管的數(shù)據(jù)端都接到單片機p1口,控制端由p2[3..0]控制,利用定時器中斷觸發(fā),每次只接通一個數(shù)碼管,顯示相應(yīng)數(shù)值,利用分時顯示在數(shù)碼管上顯示溫度值。當(dāng)溫度變化時,a/d采集調(diào)整電路輸出電壓值,送單片機,單片機根據(jù)采樣值判定溫度,通過數(shù)碼管顯示溫度值并回饋上位機。
原理圖如圖2 所示。
軟件設(shè)計
下位機軟件設(shè)計
下位機的軟件是在keil。酰觯椋螅椋恚欤蚕,使用c語言開發(fā)的。下位機的軟件設(shè)計中,主要解決三個問題:一是adc0832的控制位寫入。根據(jù)數(shù)據(jù)手冊,在時鐘上升沿寫入配置字即可,但按此方法始終不能正確讀出數(shù)據(jù),后來經(jīng)過試驗,在寫入配置字的每一位后,還要在負(fù)跳變前把數(shù)據(jù)翻轉(zhuǎn),配置字才能正確寫入。二是數(shù)碼管上溫度值的顯示。最后采用中斷方案,每隔10ms進(jìn)入中斷程序,循環(huán)選通各個數(shù)碼管,分時顯示對應(yīng)的數(shù)字值。三是a/d采樣數(shù)據(jù)的處理,為避免因干擾而造成a/d采樣數(shù)據(jù)不穩(wěn)定,這里采用軟件濾波的方法以濾除可能的尖峰干擾。方法是連續(xù)采樣七次,去掉最高值和最低值,其余五次取平均值來獲得a/d采樣的數(shù)字量。
經(jīng)測量,0v對應(yīng)的溫度為0℃,,5v時對應(yīng)的溫度為1。玻怠,則比例因子k=0.04v/℃。每個數(shù)字量對應(yīng)的電壓值為20mv,則數(shù)字量變化與溫度變化比例關(guān)系k1=2數(shù)字量/℃,利用此比例因子就可由數(shù)字量得到當(dāng)前溫度。
上位機軟件設(shè)計
本系統(tǒng)為主從式監(jiān)控系統(tǒng),主機(即上位機)在向下位機發(fā)預(yù)置溫度啟動下位機后,輪詢不同地址碼的從機,獲得溫度值,存入數(shù)據(jù)庫并在主界面顯示。從機接收到主機預(yù)置溫度后啟動,每次主機詢問溫度值時回送測量溫度值。如出現(xiàn)掉電后重啟的情況,從機向主機發(fā)出重置請求,要求主機重發(fā)預(yù)置溫度。上位機的通信軟件開發(fā)采用borland公司的c++builder5.o,它的集成rad開發(fā)環(huán)境可以幫助開發(fā)人員快速高效地開發(fā)出高質(zhì)量的程序。在c++builder中對串口進(jìn)行編程可以使用mscomm控件加快開發(fā)進(jìn)度。它是一個activex組件,不在c++builder。安裝中提供,可以在裝有vc6.0
熱門點擊
- USB 通信技術(shù)
- Nios II與CF卡的接口設(shè)計
- 基于80C196KC的ARINC429總線接
- 非易失性并行存儲器的應(yīng)用
- ACTEL發(fā)布兩款實現(xiàn)人機接口(HMI)和微
- 揭密DRAM陣列架構(gòu) — 8F2 vs. 6
- 基于USB的接口卡
- 慧榮科技新款固態(tài)驅(qū)動器控制芯片支持MLC F
- TMS320VC5402串行通信接口設(shè)計
- 基于EZ-USB的數(shù)據(jù)傳輸接口設(shè)計
推薦技術(shù)資料
- 扇出型面板級封裝(FOPLP)
- 全球首款無掩模光刻系統(tǒng)—DSP
- 紫光閃存E5200 PCIe 5.0 企業(yè)級
- NAND Flash 技術(shù)和系
- 高性能DIMM 內(nèi)存數(shù)據(jù)技術(shù)封
- PCIe Gen4 SSD主控
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究