當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于RS-485總線的溫度監(jiān)控系統(tǒng)

引言

  RS一485總線由于平衡差分傳輸?shù)奶匦?,具有抗干擾能力強,傳輸距離遠、有較強的級連的能力。能實現(xiàn)多站遠距離通信,組網方便,成本低廉,因此在工業(yè)控制領域得到廣泛應用。

  本系統(tǒng)是基于RS一485總線的遠程多路溫度監(jiān)測、控制系統(tǒng),上位機是一臺PC,下位機是多個以AT98S51為控制器的溫度傳感器。工作時,下位機會向上位機發(fā)出本機地址和詢問預置溫度的請求。上位機獲得下位機地址后,就知道那些地址的下位機已啟動并根據(jù)請求把相應的預置溫度發(fā)給下位機,此后每隔一定時間逐一詢問已啟動的下位機測定的溫度信息,獲得溫度值后存入數(shù)據(jù)庫并實時顯示當前各路傳感器測定溫度,當溫度過高時,會告警提示。下位機獲得預置溫度后,開始對傳感器的數(shù)據(jù)采集和溫度測量。當溫度低于預置溫度時,接通加熱器加熱溫度,溫度過高時,接通制冷設備加速降溫,同時把溫度信息傳回上位機,溫度超出范圍后,還會以蜂鳴器報警。上位機接收下位機的測量溫度后存入數(shù)據(jù)庫,并實時顯示,系統(tǒng)還具備數(shù)據(jù)庫管理、溫度變化曲線繪制等功能。當下位機掉電重啟后,會向上位機重新問詢獲得掉電前的預置溫度。溫度監(jiān)控系統(tǒng)由傳感器電路、信號調整電路、A/D采樣電路、控制電路、監(jiān)控主機組成。基本工作原理是:傳感器電路將感受到的溫度信號以電壓形式輸出,經調整電路變換到TTL電平、由A/D采樣后將數(shù)字量送給單片機控制電路,單片機根據(jù)開機時上位機傳來的設定溫度判斷作何種控制,如溫度未到設定溫度,經驅動控制繼電器閉合接通加熱器,如溫度過高則接通制冷設備加速降溫。單片機還將所測溫度在數(shù)碼管上顯示,并在上位機詢問時把測量溫度送到上位機入庫。系統(tǒng)框圖如下圖1。

  系統(tǒng)實現(xiàn)

  硬件設計

  AT89S51是ATMEL公司的可在線編程的單片機,它價格低廉,且支持在系統(tǒng)編程(ISP),方便設計者開發(fā)調試。溫度傳感器選用NS公司生產的L=?。停常担哂泻芨叩墓ぷ骶群洼^好的線性工作范圍,測溫范圍為一55℃~+150℃,完全適用于一般的測溫場合。其輸出電壓與攝氏溫度線性成正比,無需外部校準即可提供1/4℃的測量精度。信號調整電路將傳感器電路輸出的變化范圍為2V左右的直流電壓,調整為TTL電平,以便與A/D兼容。由于單片機?。桑峡谟邢蓿趯y溫實時性要求不是太高的情況下,A/D變換采用8位串行A/D轉換器ADC0832,它與單片機的IO連線只有三根,減少了IO占用量。四個數(shù)碼管的數(shù)據(jù)端都接到單片機P1口,控制端由P2[3..0]控制,利用定時器中斷觸發(fā),每次只接通一個數(shù)碼管,顯示相應數(shù)值,利用分時顯示在數(shù)碼管上顯示溫度值。當溫度變化時,A/D采集調整電路輸出電壓值,送單片機,單片機根據(jù)采樣值判定溫度,通過數(shù)碼管顯示溫度值并回饋上位機。

  原理圖如圖2 所示。

 

  軟件設計

  下位機軟件設計

  下位機的軟件是在Keil?。酰郑椋螅椋恚欤蚕?,使用C語言開發(fā)的。下位機的軟件設計中,主要解決三個問題:一是ADC0832的控制位寫入。根據(jù)數(shù)據(jù)手冊,在時鐘上升沿寫入配置字即可,但按此方法始終不能正確讀出數(shù)據(jù),后來經過試驗,在寫入配置字的每一位后,還要在負跳變前把數(shù)據(jù)翻轉,配置字才能正確寫入。二是數(shù)碼管上溫度值的顯示。最后采用中斷方案,每隔10ms進入中斷程序,循環(huán)選通各個數(shù)碼管,分時顯示對應的數(shù)字值。三是A/D采樣數(shù)據(jù)的處理,為避免因干擾而造成A/D采樣數(shù)據(jù)不穩(wěn)定,這里采用軟件濾波的方法以濾除可能的尖峰干擾。方法是連續(xù)采樣七次,去掉最高值和最低值,其余五次取平均值來獲得A/D采樣的數(shù)字量。

  經測量,0V對應的溫度為0℃,,5V時對應的溫度為1 25℃,則比例因子K=0.04V/℃。每個數(shù)字量對應的電壓值為20mV,則數(shù)字量變化與溫度變化比例關系K1=2數(shù)字量/℃,利用此比例因子就可由數(shù)字量得到當前溫度。

  上位機軟件設計

  本系統(tǒng)為主從式監(jiān)控系統(tǒng),主機(即上位機)在向下位機發(fā)預置溫度啟動下位機后,輪詢不同地址碼的從機,獲得溫度值,存入數(shù)據(jù)庫并在主界面顯示。從機接收到主機預置溫度后啟動,每次主機詢問溫度值時回送測量溫度值。如出現(xiàn)掉電后重啟的情況,從機向主機發(fā)出重置請求,要求主機重發(fā)預置溫度。上位機的通信軟件開發(fā)采用Borland公司的C++Builder5.O,它的集成RAD開發(fā)環(huán)境可以幫助開發(fā)人員快速高效地開發(fā)出高質量的程序。在C++Builder中對串口進行編程可以使用Mscomm控件加快開發(fā)進度。它是一個ActiveX組件,不在C++Builder。安裝中提供,可以在裝有VC6.0的PC 上獲得,拷貝到本機上注冊后,在C++ B?。酢。椋臁。洹。濉。蛳?,先是在菜單的Compotlent選項中導入ActiveX控件,再Install?。校幔悖耄幔纾澹蠛缶涂梢栽冢粒悖簦椋觯澹孛姘逯锌吹讲⑹褂盟恕?/p>

  數(shù)據(jù)庫采用微軟的ACC:ESS數(shù)據(jù)庫,使用ADO數(shù)據(jù)引擎;C++Builder在ADO面板中提供了完備的ADO開發(fā)控件,實現(xiàn)了通過鼠標操作就能實現(xiàn)連接數(shù)據(jù)庫、編輯數(shù)據(jù)內容、顯示數(shù)據(jù)等一些基本數(shù)據(jù)庫操作功能。程序還可以繪制溫度變化歷史曲線便于操作員管理。[!--empirenews.page--]總線通信格式設置

  上位機和下位機之間的串行通信采用RS一485標準接口,PC端接一個RS232/    ?。矗福档霓D換器,就實現(xiàn)RS485總線控制了。在通信頻率1200bps 的情況下,有效通信距離為1.2km。由于有多個從設備并聯(lián)在485總線上,所以要制定嚴格的通信格式,表1是用到的通信協(xié)議。

  結語

  筆者設計了一種基于RS485總線的溫控系統(tǒng)。此系統(tǒng)投資少,架設簡單、可擴展性強,大大減輕管理者的負擔,實現(xiàn)了工業(yè)控制自動化。目前在多個場所得到了具體應用,其測溫精度在0.5℃以內,系統(tǒng)工作可靠穩(wěn)定,無通信故障。

 

引言

 ?。遥右唬矗福悼偩€由于平衡差分傳輸?shù)奶匦裕哂锌垢蓴_能力強,傳輸距離遠、有較強的級連的能力。能實現(xiàn)多站遠距離通信,組網方便,成本低廉,因此在工業(yè)控制領域得到廣泛應用。

  本系統(tǒng)是基于RS一485總線的遠程多路溫度監(jiān)測、控制系統(tǒng),上位機是一臺PC,下位機是多個以AT98S51為控制器的溫度傳感器。工作時,下位機會向上位機發(fā)出本機地址和詢問預置溫度的請求。上位機獲得下位機地址后,就知道那些地址的下位機已啟動并根據(jù)請求把相應的預置溫度發(fā)給下位機,此后每隔一定時間逐一詢問已啟動的下位機測定的溫度信息,獲得溫度值后存入數(shù)據(jù)庫并實時顯示當前各路傳感器測定溫度,當溫度過高時,會告警提示。下位機獲得預置溫度后,開始對傳感器的數(shù)據(jù)采集和溫度測量。當溫度低于預置溫度時,接通加熱器加熱溫度,溫度過高時,接通制冷設備加速降溫,同時把溫度信息傳回上位機,溫度超出范圍后,還會以蜂鳴器報警。上位機接收下位機的測量溫度后存入數(shù)據(jù)庫,并實時顯示,系統(tǒng)還具備數(shù)據(jù)庫管理、溫度變化曲線繪制等功能。當下位機掉電重啟后,會向上位機重新問詢獲得掉電前的預置溫度。溫度監(jiān)控系統(tǒng)由傳感器電路、信號調整電路、A/D采樣電路、控制電路、監(jiān)控主機組成?;竟ぷ髟硎牵簜鞲衅麟娐穼⒏惺艿降臏囟刃盘栆噪妷盒问捷敵觯浾{整電路變換到TTL電平、由A/D采樣后將數(shù)字量送給單片機控制電路,單片機根據(jù)開機時上位機傳來的設定溫度判斷作何種控制,如溫度未到設定溫度,經驅動控制繼電器閉合接通加熱器,如溫度過高則接通制冷設備加速降溫。單片機還將所測溫度在數(shù)碼管上顯示,并在上位機詢問時把測量溫度送到上位機入庫。系統(tǒng)框圖如下圖1。

 

  系統(tǒng)實現(xiàn)

  硬件設計

  AT89S51是ATMEL公司的可在線編程的單片機,它價格低廉,且支持在系統(tǒng)編程(ISP),方便設計者開發(fā)調試。溫度傳感器選用NS公司生產的L= M35,它具有很高的工作精度和較好的線性工作范圍,測溫范圍為一55℃~+150℃,完全適用于一般的測溫場合。其輸出電壓與攝氏溫度線性成正比,無需外部校準即可提供1/4℃的測量精度。信號調整電路將傳感器電路輸出的變化范圍為2V左右的直流電壓,調整為TTL電平,以便與A/D兼容。由于單片機?。桑峡谟邢?,在對測溫實時性要求不是太高的情況下,A/D變換采用8位串行A/D轉換器ADC0832,它與單片機的IO連線只有三根,減少了IO占用量。四個數(shù)碼管的數(shù)據(jù)端都接到單片機P1口,控制端由P2[3..0]控制,利用定時器中斷觸發(fā),每次只接通一個數(shù)碼管,顯示相應數(shù)值,利用分時顯示在數(shù)碼管上顯示溫度值。當溫度變化時,A/D采集調整電路輸出電壓值,送單片機,單片機根據(jù)采樣值判定溫度,通過數(shù)碼管顯示溫度值并回饋上位機。

  原理圖如圖2 所示。

 

  軟件設計

  下位機軟件設計

  下位機的軟件是在Keil?。酰郑椋螅椋恚欤蚕?,使用C語言開發(fā)的。下位機的軟件設計中,主要解決三個問題:一是ADC0832的控制位寫入。根據(jù)數(shù)據(jù)手冊,在時鐘上升沿寫入配置字即可,但按此方法始終不能正確讀出數(shù)據(jù),后來經過試驗,在寫入配置字的每一位后,還要在負跳變前把數(shù)據(jù)翻轉,配置字才能正確寫入。二是數(shù)碼管上溫度值的顯示。最后采用中斷方案,每隔10ms進入中斷程序,循環(huán)選通各個數(shù)碼管,分時顯示對應的數(shù)字值。三是A/D采樣數(shù)據(jù)的處理,為避免因干擾而造成A/D采樣數(shù)據(jù)不穩(wěn)定,這里采用軟件濾波的方法以濾除可能的尖峰干擾。方法是連續(xù)采樣七次,去掉最高值和最低值,其余五次取平均值來獲得A/D采樣的數(shù)字量。

  經測量,0V對應的溫度為0℃,,5V時對應的溫度為1?。玻怠?,則比例因子K=0.04V/℃。每個數(shù)字量對應的電壓值為20mV,則數(shù)字量變化與溫度變化比例關系K1=2數(shù)字量/℃,利用此比例因子就可由數(shù)字量得到當前溫度。

  上位機軟件設計

  本系統(tǒng)為主從式監(jiān)控系統(tǒng),主機(即上位機)在向下位機發(fā)預置溫度啟動下位機后,輪詢不同地址碼的從機,獲得溫度值,存入數(shù)據(jù)庫并在主界面顯示。從機接收到主機預置溫度后啟動,每次主機詢問溫度值時回送測量溫度值。如出現(xiàn)掉電后重啟的情況,從機向主機發(fā)出重置請求,要求主機重發(fā)預置溫度。上位機的通信軟件開發(fā)采用Borland公司的C++Builder5.O,它的集成RAD開發(fā)環(huán)境可以幫助開發(fā)人員快速高效地開發(fā)出高質量的程序。在C++Builder中對串口進行編程可以使用Mscomm控件加快開發(fā)進度。它是一個ActiveX組件,不在C++Builder。安裝中提供,可以在裝有VC6.0的PC 上獲得,拷貝到本機上注冊后,在C++?。隆。酢。椋臁。洹。濉。蛳?,先是在菜單的Compotlent選項中導入ActiveX控件,再Install Packages后就可以在ActiveX面板中看到并使用它了。

  數(shù)據(jù)庫采用微軟的ACC:ESS數(shù)據(jù)庫,使用ADO數(shù)據(jù)引擎;C++Builder在ADO面板中提供了完備的ADO開發(fā)控件,實現(xiàn)了通過鼠標操作就能實現(xiàn)連接數(shù)據(jù)庫、編輯數(shù)據(jù)內容、顯示數(shù)據(jù)等一些基本數(shù)據(jù)庫操作功能。程序還可以繪制溫度變化歷史曲線便于操作員管理。

  總線通信格式設置

  上位機下位機之間的串行通信采用RS一485標準接口,PC端接一個RS232/    ?。矗福档霓D換器,就實現(xiàn)RS485總線控制了。在通信頻率1200bps 的情況下,有效通信距離為1.2km。由于有多個從設備并聯(lián)在485總線上,所以要制定嚴格的通信格式,表1是用到的通信協(xié)議。

 

  結語

  筆者設計了一種基于RS485總線的溫控系統(tǒng)。此系統(tǒng)投資少,架設簡單、可擴展性強,大大減輕管理者的負擔,實現(xiàn)了工業(yè)控制自動化。目前在多個場所得到了具體應用,其測溫精度在0.5℃以內,系統(tǒng)工作可靠穩(wěn)定,無通信故障。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉