1962.多點溫度采集系統與控制器設計畢業設計_第1頁
1962.多點溫度采集系統與控制器設計畢業設計_第2頁
1962.多點溫度采集系統與控制器設計畢業設計_第3頁
1962.多點溫度采集系統與控制器設計畢業設計_第4頁
1962.多點溫度采集系統與控制器設計畢業設計_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢業設計題 目 多點溫度采集系統與控制器設計學 院 控制科學與工程學院專 業 電氣工程及其自動化姓 名 學 號 指導教師 二oo八年六月十四日目錄摘要3abstract41 緒論51.1 選題背景51.2 發展趨勢62 系統分析與方案確定72.1 系統分析72.2 傳感器選型72.3 ds18b2072.3.1 ds18b20結構82.3.2 單總線92.3.3 ds18b20供電方式102.3.4 ds18b20寄存器112.3.5 ds18b20測溫原理122.3.6 ds18b20時序及存儲器命令132.4單片機選型152.4.1 單片機at89s52152.4.2看門狗定時器(wdt)

2、162.5 通訊模塊172.5.1通信概述172.5.2 通信協議182.5.3 通信方式選用192.5.4 max485接口芯片192.6系統方案的確定193 硬件設計213.1 硬件結構框架213.2電源電路213.3鍵盤電路223.4 溫度檢測電路233.5 液晶顯示電路243.6控制電路263.7串口通訊電路283.8 系統電路圖294 軟件設計304.1主程序設計304.2 鍵盤控制程序324.3溫度檢測程序設計334.3.1讀序列號程序334.3.2溫度檢測主程序334.3.3溫度計算流程圖354.4 rs-485通信程序365 總結38致謝39參考文獻40附錄:部分系統程序41多

3、點溫度采集系統與控制器設計摘要本設計提出一種基于單片機并采用數字化單總線技術的溫度測控系統應用于溫室大棚的的設計方案。一旦該溫度值超過我們預先設定的上、下限,單片機便啟動報警系統進行報警,進而對大棚內溫度進行控制。這種設計方案能對多點的溫度進行實時巡檢,各檢測單元能獨立完成各自功能,同時能夠根據主控機的指令對溫度進行定時采集,測量結果不僅能在本地顯示,而且可以利用單片機串行口,通過rs-485總線及通信協議將采集的數據傳送到計算機,進行進一步的存檔、處理。主控機負責控制指令的發送,控制各個從機進行溫度采集,收集測量數據,并對測量結果進行整理、顯示和存儲。該測控系統不需要任何固定網絡的支持,安裝

4、簡單方便,系統穩定可靠、可維護性好。關鍵詞:溫度檢測;單片機;單總線;ds18b20abstractbased on the design of a microcontroller and a digital 1wire-bus technology temperature measurement and control system used in the greenhouse design. once the temperature exceeded our pre-determined, the minimum level, single-chip microcomputer will

5、activate alarm system for alarm as well as on the greenhouse temperature control. this design programmes to more real-time inspection of temperature, the unit can detect independent of their respective functions, according to the instructions of controller temperature regularly collected, measured n

6、ot only in the local, and can use the microcontroller serial port, through the rs-485 bus and communication protocols will be collecting the data transmission to the computer, further filing, processing. zhu kongji responsible for the control sent commands to control all from the collection of tempe

7、rature, the measurement data collection and measurement results are finishing, display and storage. the monitoring system does not require any fixed network support, installation simple, stable and reliable system, maintainability well. keywords:ds18b20;single-chip microcomputer;rs-485;1-wire;1 緒論1.

8、1 選題背景在工農業生產中,溫度檢測及其控制占有舉足輕重的地位,隨著現代信息技術的飛速發展和傳統工業改造的逐步實現 ,能夠獨立工作的溫度檢測和顯示系統已經應用于諸多領域。傳統的溫度檢測以熱敏電阻為溫度敏感元件、多路模擬開關、a/d轉換器及單片機等組成的系統。傳統方法精度不高,不穩定、成本高等問題,又需要后續信號處理電路 ,而且熱敏電阻的可靠性相對較差 ,測量溫度的準確度低 ,檢測系統的精度差。要達到較高的測量精度需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差等問題,使溫度檢測復雜化。模擬信號在長距離傳輸過程中,抗電磁干擾時令設計者傷腦筋的問題,對于多點溫度檢測的場合

9、,各被檢測點到監測裝置之間引線距離往往不同,此外,各敏感元件參數的不一致,這些都是造成誤差的原因,并且難以完全清除。溫室大棚是一種可以改變植物生長環境、為植物生長創造最佳條件、避免外界四季變化和惡劣氣候對其影響的理想場所。實現溫室大棚環境智能控制的目的是主動地調節溫度、濕度、光照和二氧化碳氣體濃度等環境因素,以滿足作物最佳生長環境的要求。其中,溫度是最重要的環境因數。目前,我國絕大多數溫室大棚設備都比較簡陋,溫室大棚環境仍然靠人工根據經驗來管理。環境因素的自動調節和控制的研究正處于起步階段,已嚴重影響了設施農業的大力發展。特別是北方地區因其緯度高,寒冷季節長,四季溫差和晝夜溫差較大,不利于作物

10、生長,目前應用于溫室大棚的溫度檢測系統大多采用傳統的溫度檢測。這種溫度采集系統需要在溫室大棚內布置大量的測溫電纜,才能把現場傳感器的信號送到采集卡上,安裝和拆卸繁雜,成本也高。同時線路上傳送的是模擬信號,易受干擾和損耗,測量誤差也比較大,不利于控制者根據溫度變化及時做出決定。在這樣的形式下,開發一種實時性高、精度高,能夠綜合處理多點溫度信息的測控系統就很有必要。 熱敏電阻或溫敏元件多路模擬開關a/d轉換器單片機 圖1-1 傳統溫度檢測系統目前,一些經濟發達的國家和地區已經研制并實現計算機自動控制的現代化高科技溫室,并且形成了令人驚羨的植物土廠。而我國的溫室系統屬于半開放系統,溫室內環境控制水平

11、比較低,仍靠人工根據經驗來管理。而且,國內的控制系統主要用于單因子控制,因而設施現代化水平低,對溫室環境的調控能力差,產品的質量和產量難以得到保證。正是這些塑料大棚和日光溫室對于解決城鄉人民的蔬菜供應發揮著主力軍的作用。1.2 發展趨勢隨著設施農業的規模化和產業化程度的不斷提高,網絡通訊技術會在溫室控制和管理系統中得到廣泛的應用。溫室內部的管理和控制實際上就具有局域網的特性,隨著網絡通訊技術的發展,地區之間甚至跨國之間可以通過互聯網進行遠程控制和管理。我國土地遼闊,氣候復雜,種植模式多樣,整體的種植水平較低,利用現代化網絡技術進行在線和離線服務,從長遠看具有廣闊的應用前景。目前開發的溫室計算機

12、控制系統采用了主機終端模式,該模式通過一個主機作為控制中心,負責對其它各子系統進行控制管理,該模式不靈活且投入大。分布式計算機系統是計算機控制系統的發展方向,該系統采用了所謂的服務器客戶模式。未來的計算機控制與管理系統是綜合性、多方位的,溫室環境測試與自動控制技術將朝多因素、多樣化方向發展。溫室環境測控技術的發展趨勢隨著傳感技術、計算機技術和自動控制技術的不斷發展,溫室計算機的應用將由簡單的以數據采集處理和監測,逐步轉向以知識處理和應用為主。因此除了不斷完善硬件控制設備外,主要是軟件系統的研制開發將不斷深入完善,其中主要以專家系統為代表的智能管理系統已取得了不少研究成果。近幾年來神經網絡、遺傳

13、算法、模糊推理等人工智能技術在設施農業中得到了不同程度的應用。溫室生產系統由作物、各種農業機械設備、環境控制設備及生產管理者等組成了一個十分復雜的非線性系統。因此企業研究其輸入與輸出的定量關系是十分困難的。神經網絡采用黑箱方法能把復雜的系統通過有限的參數進行表達。但神經網絡方法也存在著明顯的缺陷,即需要大量的歷史資料,否則在進行外推和演繹時可靠性明顯降低。網絡通訊技術是上世紀 90 年代最具活力、發展速度最快的高科技領域。通過網絡隨意獲取世界范圍內的有用信息,指導自己的生產,甚至可以通過在線服務系統進行咨詢,是未來農業的發展趨勢所在。2 系統分析與方案確定2.1 系統分析本系統需要對系統應用環

14、境的多個點的溫度進行實時巡回檢測,同時能夠根據主控機的指令對指定點溫度進行采集,測量結果不僅能在本地顯示,而且可以利用單片機串行口,將采集的數據傳送到計算機,進行進一步的存檔、處理。主控機負責控制指令的發送,控制各個從機進行溫度采集,收集測量數據,并對測量結果進行整理、顯示和存儲。根據系統的需要,本設計需要完成溫度采集模塊、通信模塊、顯示模塊的硬件選型、電路設計與程序編寫。2.2 傳感器選型前應用多點溫度檢測系統大多采用由模擬溫度傳感器、多路模擬開關、a/d轉換器及單片機等組成的傳輸系統。傳統的溫度檢測裝置抗干擾能力較差,多采用單片的溫度傳感器,例如lm35 、ad590 ,這些芯片不僅體積大

15、,而且輸出的信號都是模擬信號,必須要經過a/ d 轉換,而且沒有數字通信和網絡功能,同時,模擬信號的遠距離測量易遭受引線誤差的影響,且外部附加電路較多,硬件結構復雜,增加了成本,在這樣的情況下,溫度傳感器選用1-wire總線數字式溫度傳感器ds18b20,測量溫度范圍為-55125。在-1085范圍內,測量精度為0.5,分辨率為程控可調的 0.50.0625,其與傳統溫敏模擬傳感器相比,由于采取高集成度設計和數字化處理,在可靠性、抗干擾能力以及器件微小化方面都有明顯的優點,其功能能夠滿足該溫度檢測系統需要。2.3 ds18b20ds18b20是美國dallas半導體公司生產的1-wire總線數

16、字式溫度傳感器,體積小、經濟實用、方便靈活的優點,在現代溫度采集系統中廣泛應用開來。其封裝如圖2-1。 圖2-1 ds18b20封裝圖2.3.1 ds18b20結構ds18b20的結構框圖如圖2-2,有4個主要組成部分:1) 64位光刻rom數據存儲器;2) 溫度傳感器;3) 非易失性電可擦寫溫度報警觸發器th和tl;4) 非易失性電可擦寫設置寄存器; 圖2-2 ds18b20結構框圖每片ds18b20含有一個唯一的64位rom編碼。前8位是產品系列編碼,接著的48位是產品序列號,最后8位是循環冗余(crc)校驗碼。所以多片ds18b20能夠連在同一條數據線上而不會造成混亂。這為溫度的多點測量

17、帶來了極大的方便。溫度傳感器的轉換結果以16位二進制補碼的形式存放在便箋式存儲器中,如果測量的溫度值高于溫度報警觸發器th或低于tl中的值,則ds18b20內部的報警標志位就被置位,表示溫度測量值超出范圍。ds18b20的溫度轉換位數可以選擇912位,分別對應的測溫分辨率為0.5,0.25,0.125,0.0625。不過溫度轉換位數越大,轉換時間也越長。12位精度的最大轉換時間為750ms。溫度轉換位數的改變是通過改變設置寄存器的值來實現的。溫度報警觸發器和設置寄存器都由非易失性電可擦寫存儲器(eeprom)組成,設置值可以通過相應命令寫入,一旦寫入后不會因為掉電而丟失。crc 發生器ds18

18、20中有8位crc存儲在64位rom的最高有效字節中。總線控制器可以用64位rom中的前56位計算出一個crc值,再用這個和存儲在ds18b20中值進行比較,以確定rom數據是否被總線控制器接收無誤。crc碼圖如2-3。圖2-3 單線crc碼圖crc計算公式如2-1: crc= (2-1)ds18b20同樣用上面的公式產生一個8位crc值,把這個值提供給總線控制器用來校驗傳輸的數據。在任何使用 crc 進行數據傳輸校驗的情況下,總線控制器必須用上面的公式計算出一個crc值,和存儲在ds18b20的64位rom中的值或ds18b20內部計算出的8位crc值(當讀暫存器時,做為第9個字節讀出來)進

19、行比較。crc值的比較以及是否進行下一步操作完全由總線控制器決定。當在ds18b20中存儲的或由其計算的crc值和總線控制器計算的值不相符時,ds18b20 內部并沒有一個能阻止命令序列進行的電路。單線crc可以用一個由移位寄存器和xor門構成的多項式發生器來產生。2.3.2 單總線近年來,美國的dallas半導體公司推出了一項特有的單總線(1-wire bus)技術。該技術與上述總線不同,它采用單根信號線,既可傳輸時鐘,又能傳輸數據,而且數據傳輸是雙向的,因而這種單總線技術具有線路簡單,硬件開銷少,成本低廉,便于總線擴展和維護等優點。它只定義了一根信號線,總線上的每個器件都能夠在合適的時間驅

20、動它,相當于把單片機的地址線、數據線、控制線合為一根信號線對外進行數據交換。為了區分這些芯片,廠家在生產每個芯片時,都編制了惟一的序列號,通過尋址就能把芯片識別出來。這樣做能使這些器件掛在一根信號線上進行串行分時數據交換,大大簡化了硬件電路。設備主機或從機通過一個漏極開路或三態端口連至該數據線,以允許設備在不發送數據時能夠釋放總線,而讓其它設備使用總線。主機和從機之間的通信可通過3個步驟完成,分別為初始化1-wire器件、識別1-wire器件和交換數據。由于它們是主從結構,只有主機呼叫從機時,從機才能應答,因此主機訪問1-wire器件都必須嚴格遵循單總線命令序列,即初始化、rom、命令功能命令

21、。如果出現序列混亂,1-wire器件將不響應主機搜索服命令,報警搜索命令除外。所有的單總線器件都要遵循嚴格的通信協議,以保證數據的完整性。單總線系統中配置的各種器件由美國dallas半導體公司提供的專用芯片來實現。這些芯片采用cmos技術,耗電量都很小,從單總線上“偷”一點電(空閑時幾w,工作時幾mw)存在芯片內電容中就可以正常工作了,故一般不用另附電源。單總線上通常處于高電位(5v左右),每個器件都能在需要時驅動它。因此,掛在總線上的每個器件必須是漏極開路或者是三態輸出,這樣,不工作時不會給總線增加功耗。單總線技術作用距離在單片機直接驅動下可達200m,經擴展可達1000m,允許掛上百個器件

22、,能滿足一般測控系統的要求。單總線的數據傳輸有兩種模式,通常以的13.6kb/s的速率通信,超速可達142kb/s。因此只能用于速度不高的場合。單總線技術比傳統的方案具有較高的性能價格比,具有以下特點:1) 適用于低速測控場合,測控對象越多越顯出其優越性。2) 性價比高,硬件施工、維修方便,抗干擾性能好。3) 具有校驗功能,可靠性高。4) 軟件設計規范,系統簡明直觀,易于掌握。2.3.3 ds18b20供電方式ds18b20有兩種供電工作方式,一種是寄生電源工作方式,另一種是外接電源工作方式。第一種方法,如圖2.2.4當進行溫度轉換或拷貝到 e2存儲器操作時,給 i/o 線提供一個強上拉。用

23、mosfet 把 i/o 線直接拉到電源上就可以實現,在發出任何涉及拷貝到 e2存儲器或啟動溫度轉換的協議之后,必須在最多 10s 之內把 i/o 線轉換到強上拉,使用寄生電源方式時,vdd 引腳必須接地。第二種給 ds1820 供電的方法是從 vdd 引腳接入一個外部電源。這樣做的好處是 i/o 線上不需要加強上拉,而且總線控制器不用在溫度轉換期間總保持高電平。這樣在轉換期間可以允許在單線總線上進行其他數據往來。另外,在單線總線上可以掛任意多片 ds18b20,而且如果它們都使用外部電源的話,就可以先發一個 skip rom 命令,再接一個 convert t 命令,讓它們同時進行溫度轉換。

24、注意當加上外部電源時,gnd 引腳不能懸空。(a)寄生工作方式( b)外接電源工作方式圖2-4 ds18b20供電方式另外,溫度高于 100時,不推薦使用寄生電源,因為 ds18b20 在這種溫度下表現出的漏電流比較大,通訊可能無法進行。在類似這種溫度的情況下,強烈推薦使用 ds18b20 的 vdd 引腳。對于總線控制器不知道總線上的 ds18b20 是用寄生電源還是用外部電源的情況,ds18b20 預備了一種信號指示電源的使用意圖。總線控制器發出一個 skip rom 協議,然后發出讀電源命令,這條命令發出后,控制器發出讀時間隙,如果是寄生電源,ds18b20 在單線總線上發回“0”,如果

25、是從 vdd 供電,則發回“1”,這樣總線控制器就能夠決定總線上是否有 ds1820 需要強上拉。如果控制器接收到一個“0”,它就知道必須在溫度轉換期間給 i/o 線提供強上拉。2.3.4 ds18b20寄存器 ds18b20的內部存儲器結構如圖2-5所示。圖2-5 ds18b20內部存儲器結構它包括一個暫存ram和一個非易失性電可擦除eeram。其中暫存存儲器作用是在單線通信時確保數據的完整性,它包括8個字節,頭兩個字節表示測得的溫度讀數,數據格式如下:msb (單位:攝氏度) lsbssssss=1時表示溫度為負,s=0時表示溫度為正,其余低位以二進制補碼形式表示,最低位為1時表示0.06

26、25。溫度/數字對應關系如表所示。ds18b20內部暫存存儲器的第5個字節是結構寄存器,它主要用于確定溫度值的數字轉換分辨率。字節結構如下:tmr1r011111 msb lsb典型對應的溫度值如表2-1表2-1典型溫度/數據其中tm為測試模式位。當時tm=1,寄存器處于測試模式;當時tm=0,寄存器處于工作模式。r1和r0的設置組合與溫度分辨率有關,分辨率如表2-2:表2-2 ds18b20溫度轉換時間表r1r0分辨率最大溫度轉換時間00993.75ms0110187.5ms1011375ms1112750ms2.3.5 ds18b20測溫原理ds18b20的溫度傳感器是通過溫度對振蕩器的頻

27、率影響來測量溫度,如圖2-6所示。ds18b20內部有兩個不同溫度系數的振蕩器。低溫度系數振蕩器輸出的時鐘脈沖信號在高溫度系數振蕩器產生的門周期內進計數。計數初值被預置在-55相對的一個基數值,如果計數器在高溫度系數振蕩器輸出的門周期結束前計數到0,表示測量的溫度值高于-55,被預置在-55的溫度寄存器的值就增加l,然后重復這個過程,直到高溫度系數振蕩器的門周期結束為止,這時溫度寄存器中的值就是被測的溫度值,這個值以16位二進制補碼的形式存放在便箋式存儲器中。溫度值由主機通過發讀存儲器命令讀出,經過取補和十進制轉換,得到實測的溫度值。斜率累加器是用于補償和修正溫度振蕩器的非線性。 圖2-6 d

28、s148b20測溫原理圖2.3.6 ds18b20時序及存儲器命令ds18b20要求有嚴格的協議來確保數據傳輸的完整性。協議由幾種單線上信號類型組成:復位脈沖、存在脈沖、寫0、寫1、讀0、讀1。所有這些信號,除了存在脈沖之外,均由單片機產生。ds18b20時序圖如圖2-7所示。(1) 初始化時序開始與 ds18b20 進行任何通信之前,需進行初始化。首先,單片機發送(tx)一個復位脈沖(最短為480s 的低電平信號)。接著單片機便釋放此線并進入接收方式(rx), 單線經過上拉電阻被拉至高電平狀態。在檢測到dq引腳上的上升沿之后,ds18b20等待 1560s 并且接著發送存在脈沖(60240s

29、 的低電平信號)以表示ds18b20的存在。(2) 讀/寫時間段通過使用時間段來讀出和寫入ds18b20的數據,時間段用于處理數據位和指定進行何種操作的命令字。1、寫時間段(write time slots)當單片機把單線從高邏輯電平拉至低邏輯電平時,產生寫時間段。有兩種類型的寫時間段:寫1時間段和寫0時間段。所有時間段必須最短持續60s,在各寫周期之間必須有最短為1s的恢復時間。在單線由高電平變為低電平之后,ds18b20在15s至60s的窗口之間對單線采樣。如果單線為高電平,寫1就發生。如果單線為低電平,便發生寫0。對于單片機產生寫1時間段的情況,單線必須先被拉至邏輯低電平,然后就被釋放,

30、使單線在寫時間段開始之后的15s之內拉至高電平。對于主機產生寫0時間段的情況,單線必須被拉至邏輯低電平且至少保持低電平60s。2、讀時間段(read time slots)當從ds18b20讀數據時,單片機產生讀時間段。當單片機把單線從邏輯高電平拉至低電平時,產生讀時間段。單線必須保持在低邏輯電平至少1s;來自ds18b20 的輸出數據在讀時間段下降沿之后15s內有效。因此,為了讀出從讀時間段開始算起15s時的狀態,單片機必須停止把單線驅動至低電平,如圖3-3所示。在讀時間段結束時,單線經過外部的上拉電阻拉回至高電平。所有讀時間段的最短持續期限為60s,各個讀時間段之間必須有最短為1s的恢復時

31、間。 圖2-7 ds18b20時序圖對 ds18b20 的操作以 rom命令和存儲器命令形式出現。1)rom 命令代碼及其含義read rom命令代碼33h:如果只有一片ds18b20,可用此命令讀出其序列號,若在線ds18b20多于一個,將發生沖突。match rom命令代碼55h:多個ds18b20在線時,可用此命令匹配一個給定序列號的ds18b20,此后的命令就針對該 ds18b20。skip rom命令代碼cch:此命令執行后的存儲器操作將針對在線的所有ds18b20。search rdh 命令代碼f0h:用以讀出在線的ds18b20的序列號。2)存儲器操作命令代碼及其含義write

32、scratchpad命令代碼4eh:寫兩個字節的數據到溫度寄存器。read scratchpad 命令代碼beh:讀取溫度寄存器的溫度值。copy scratchpad 命令代碼48h:將溫度寄存器的數值拷貝到eeram 中,保證溫度值不丟失。convert 命令代碼44h:啟動在線 ds12b80 做溫度 a/d 轉換。對ds18b20的設計,需要注意以下問題:1) 較小的硬件開銷需要相對復雜的軟件進行補償,由于ds18b20與微處理器間采用串行數據傳送,因此,在對 ds18b20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。2) 在ds18b20的有關資料中均未提及單總

33、線上所掛ds18b20 數量問題,容易使人誤認為可以掛任意多個 ds18b20,在實際應用中并非如此。當單總線上所掛ds18b20超過10 個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統設計時要加以注意。3) 連接ds18b20的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m 時,讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此,在用ds18b20進行長距離測溫系統設計時要充分考慮總線分布電

34、容和阻抗匹配問題。4) 在ds18b20測溫程序設計中,向ds18b20發出溫度轉換命令后,程序總要等待ds18b20的返回信號,一旦某個ds18b20接觸不好或斷線,當程序讀該 ds18b20 時,將沒有返回信號,程序進入死循環。這一點在進行ds18b20硬件連接和軟件設計時也要給予一定的重視。2.4單片機選型隨著科學技術的發展,單片機因具有集成度高、體積小、速度快、價格低等特點而在許多領域如過程控制、數據采集、機電一體化、智能化儀表、家用電器以及網絡技術等方面得到廣泛應用,從而使這些領域的技術水平、自動化程度大大提高。正因為如此,國內外多家電子生產廠商把目光投向了單片機的生產當中,其中最為

35、著名的當數intel公司生產的mcs-51系列單片機。單片機型號的選擇是根據控制系統的目標、功能、可靠性、性價比、精度和速度等來決定的。根據上述及本課題的實際情況,單片機型號的選擇主要從以下兩點考慮:一是要有較強的抗干擾能力。由于大棚工作環境比較惡劣,以及實際的運行工況比較復雜,這些都對單片機的干擾較大,所以應采用抗干擾性能較好的單片機機型;二是要有較高的性價比,大棚環境是一個時滯性較大的系統,對控制時間精度要求不需要很高,所以單片機不需采用高速的輸出、輸入口,51系列單片機在時間精度方面可以滿足要求。為了使用方便,系統要求可以進行在線改寫,要求片內具有可擦除程序存儲器,另外為了以后系統升級的

36、需要,在設計中采用52系列單片機。本設計選用at89s52作為主控機。2.4.1 單片機at89s52at89s52是atmel公司生產的低功耗、高性能的采用cmos工藝的8位單片機。其與工業標準型80c51單片機的指令系統和引腳完全兼容。其封裝如圖2-8。圖2-8 at89s52封裝圖at89s52具有以下標準功能:8kb的可在線編程的flash存儲器,片內程序存儲器為8kb,256字節ram,32 位i/o 口線,具有3個可編程定時器,2個數據指針,8個中斷源的中斷系統,1個看門狗定時器,全雙工串行口,2種低功耗節電運行方式。其功能能夠滿足該溫度檢測系統需要。2.4.2看門狗定時器(wdt

37、)由于是和mcs-51系列相兼容,其各部分功能不作贅述,只介紹一下看門狗定時器。wdt是一種需要軟件控制的復位方式。wdt由13位計數器和特殊功能寄存器中的看門狗定時器復位存儲器(wdtrst)構成。wdt在默認情況下無法工作;為了激活wdt,必須往wdtrst寄存器(地址:0a6h)中依次寫入01eh 和0e1h。當wdt激活后,晶振工作,wdt在每個機器周期都會增加。wdt計時周期依賴于外部時鐘頻率。除了復位(硬件復位或wdt溢出復位),沒有辦法停止wdt工作。當wdt溢出,它將驅動rsr引腳一個高個電平輸出。為了激活wdt,用戶必須向wdtrst寄存器(地址為0a6h的sfr)依次寫入0

38、e1h和0e1h。當wdt激活后,用戶必須向wdtrst寫入01eh和0e1h喂狗來避免wdt溢出。當計數達到8191(1fffh)時,13 位計數器將會溢出,這將會復位器件。晶振正常工作、wdt激活后,每一個機器周期wdt 都會增加。為了復位wdt,用戶必須向wdtrst 寫入01eh 和0e1h(wdtrst 是只讀寄存器)。wdt 計數器不能讀或寫。當wdt 計數器溢出時,將給rst 引腳產生一個復位脈沖輸出,這個復位脈沖持續96個晶振周期(tosc),其中tosc=1/fosc。為了很好地使用wdt,應該在一定時間內周期性寫入那部分代碼,以避免wdt復位。在掉電模式下,晶振停止工作,這

39、意味這wdt也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復位或通過一個激活的外部中斷。通過硬件復位退出掉電模式后,用戶就應該給wdt 喂狗,就如同通常at89s52 復位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應持續拉低很長一段時間,使得晶振穩定。當中斷拉高后,執行中斷服務程序。為了防止wdt在中斷保持低電平的時候復位器件,wdt 直到中斷拉低后才開始工作。這就意味著wdt 應該在中斷服務程序中復位。為了確保在離開掉電模式最初的幾個狀態wdt不被溢出,最好在進入掉電模式前就復位wdt。在進入待機模式前,特殊寄存器auxr的wdidle位用來決定wdt是否

40、繼續計數。默認狀態下,在待機模式下,wdidle0,wdt繼續計數。為了防止wdt在待機模式下復位at89s52,用戶應該建立一個定時器,定時離開待機模式,喂狗,再重新進入待機模式。2.5 通訊模塊2.5.1通信概述數據通信的基本方式可分為并行通信和串行通信兩種。并行通信是指數據的各位同時進行傳送的通信方式。其優點是傳送速度快,缺點是傳輸線多,不宜實現遠程通信。串行通信是指數據是一位一位地按順序傳送的通信方式。所以它所需的傳輸線條數很少,特別適用于分級、分層和分布式控制系統及遠程通信。串行通信按照串行數據的同步方式又可以分為同步通信和異步通信兩類。同步通信是按照軟件識別同步字符來實現數據的發送

41、和接收的,異步通信是利用字符的再同步技術的通信方式。系統采用的就是異步串行通信方式,來實現上位機和單片機間通訊的。在異步通信中,數據通常是以字符(或字節)為單位組成字符幀傳送的。字符幀由發送端一幀一幀地發送,通過傳輸線被接收設備一幀一幀地接收。發送端和接收端可以有各自的時鐘來控制數據的發送和接收,這兩個時鐘源彼此獨立,互不同步。發送端何時開始發送和何時結束發送是由字符幀格式規定的。平時,發送線為高電平(邏輯“1”),每當接收端檢測到傳輸線上發送過來的低電平邏輯“0”(字符幀中起始位)時就知道發送端己開始發送,每當接收端接收到字符幀中停止位時就知道一幀字符信息已發送完畢。字符幀也叫數據幀,由起始

42、位、數據位、奇偶校驗位和停止位等四部分組成。一部串行通信數據格式如圖2-9。圖2-9 異步串行通信數據格式各部分結構和功能:(1)起始位:位于字符幀開頭,只占一位,始終為邏輯“0”低電平,用于向接收設備表示發送端開始發送一幀信息。(2)數據位:緊跟起始位之后,用戶根據情況可取5位、6位、7位或8位,低位在前高位在后。(3)奇偶校驗位:位于數據位后,僅占一位,用于表征串行通信中采用奇校驗還是偶校驗,由用戶根據需要決定。在測溫系統中奇偶校驗位被用來作為上位機和單片機間的多機通訊時的第九位。(4)停眾位:位于字符幀末尾,為邏輯“1”高電平,通常可取1位、1.5位或2位,用于向接收端表示一幀字符信息已

43、發送完畢,也為發送下一幀字符做準備。2.5.2 通信協議目前rs-232是pc機與通信工業中應用最廣泛的一種串行接口。rs-232被定義為一種在低速率串行通訊中增加通訊距離的單端標準。rs-232采取不平衡傳輸方式,即所謂單端通訊。由于發送電平與接收電平的差僅為2v至3v左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約20米,最高速率為20kb/s。rs-232是為點對點(即只用一對收、發設備)通訊而設計的,其驅動器負載為37k。所以rs-232適合本地設備之間的通信。1983年在rs-422基礎上制定了rs-485標準,增加了多點、雙向通信能力,即允許多個發送器連接到

44、同一條總線上,同時增加了發送器的驅動能力和沖突保護特性,擴展了總線共模范圍。rs-485與rs-232相比有很多優點,rs-485是一個多引出線接口,這個接口可以有多個驅動器和接收器,利用高阻抗接收器,一個rs-485可以最多連接256個節點。rs-485的驅動器和接收器價格便宜,而且只需要一個單+5v的電源來產生差動輸出的最小1.5v的壓差。rs-485總線采用平衡電路。每個信號都有專用的導線對,其中一根導線上的電壓等于另一根導線上的電壓取反,或者取補。接收器對這些電壓之間的壓差作出反應。平衡連線是無噪聲的,因為這兩根信號線都傳遞幾乎相同大小的反向電流,大多數噪聲電壓在這兩根導線上或多或少都

45、同時出現,任何在一個導線上出現的噪聲電壓或從電纜外部禍合進入導線的干擾都被在另一根導線上的噪聲電壓所抵消。一個平衡接收器只看到傳輸的信號,噪聲被清除或者極大的消弱。由于rs-485采用差動平衡電路,所以通訊距離遠,最長可以達到1200米。為了構建無故障的rs-485連接,一般需遵循下面7條準則:1、對指定的比特率使用可能的最慢的驅動器。如果連接不需要太快的速度,使用低速的驅動器是改進信號質量的一個簡單的、低成本的方法,同時使用低速芯片減弱了發散的電磁干擾。用導線的特征阻抗終止長導線。選擇合適匹配的阻抗將會消弱反射的幅度并且在總體上改進信號的質量。3、將這些節點連接成總線拓撲。其優點是如果其中的

46、一個連接出現故障或需要從一個接點處斷開時,其他的接點之間的通訊可以正常地進行。4、偏置非活動連接。(開路和短路的保護)。其特點是在其中的一個驅動器出現故障時,使整個通訊還可以正常進行。5、使用雙絞線電纜。雙絞線在消除由于磁禍合引起的低頻干擾方面是有效的。在一根雙絞線中,電纜的每一次扭曲都交換導線的物理位置,磁禍合進入一根導線的任何干擾都在下一次扭曲中被另一根導線的等量的相反的干擾抵消。雖然不是100%的抵消,但也是被極大地消弱。6、限制公共模式電壓。雖然rs-485是采用差動方式,但是為了使rs-485能正常工作,需要限制公共模式電壓,一般每個接收器的輸入對地電壓在-7v到+12v之間,以接收

47、器的地線為參考。7、在rs-485規定中一個連接可以最多有32個單位負載,如果超過了這個限制,通常采用轉發器電路,一個轉發器可以重新生成rs-485并且可以提供額外的32個接點。2.5.3 通信方式選用由于大棚環境與上位機的距離一般都會大于100米,且通信環境相當復雜,rs-232通信只適合短程通信,在這種環境下,rs-485通信比較適合本設計的需求。2.5.4 max485接口芯片max485接口芯片是maxim公司的一種rs-485芯片。采用單一電源+5v工作,額定電流為300a,采用半雙工通訊方式。它完成將ttl電平轉換為rs-485電平的功能。其引腳結構圖如圖 2-10 所示。圖2-1

48、0 max485結構與引腳圖從圖中可以看出,max485芯片的結構和引腳都非常簡單,內部含有一個驅動器和接收器。ro和di端分別為接收器的輸出和驅動器的輸入端,與單片機連接時只需分別與單片機的rxd和txd相連即可;/re和de 端分別為接收和發送的使能端,當/re 為邏輯0時,器件處于接收狀態;當de為邏輯1時,器件處于發送狀態,因為max485工作在半雙工狀態,所以只需用單片機的一個管腳控制這兩個引腳即可;a端和b端分別為接收和發送的差分信號端,當a引腳的電平高于b時,代表發送的數據為1;當a的電平低于b端時,代表發送的數據為0。在與單片機連接時接線非常簡單。只需要一個信號控制max485

49、的接收和發送即可。同時將a和b端之間加匹配電阻,一般可選100的電阻。2.6系統方案的確定在總體設計方案中,應考慮以下幾點:1) 系統能方便、直觀、有效的監控大棚環境溫度的變化。2) 系統必須能夠實時采集大棚測控點處的溫度值,并且迅速處理。3) 系統能夠將數據處理結果顯示給用戶,還要能夠存儲結果,以方便以后對比研究。4) 系統的經濟性、可靠性要求。5) 測溫點多,要易于擴充。6) 操作和維護方便。綜上所述,本方案中,主控機采用at89s52,溫度傳感器采用ds18b20,八路ds18b20采集的數字溫度信號通過主控機at89s52的處理,在lcd顯示出來,并通過rs485通訊方式與上位機進行通

50、訊,主控機at89s52通過可控硅對溫控電氣設備進行控制。3 硬件設計3.1 硬件結構框架根據本文的測控系統的要求,需要完成電源、鍵盤、溫度采集、控制、顯示、通信等幾個部分的設計,其系統框圖如圖3-1所示。at89s52lcd顯示ds18b20數字溫度信號上位機rs485通信聲光報警溫度控制圖3-1 系統結構框圖3.2電源電路根據系統要求,需要設計一5v穩壓電源。如圖3-2所示電路為輸出電壓+5v、輸出電流1.5a的穩壓電源。它由電源變壓器,橋式整流電路vd1vd4,濾波電容c1、c3,防止自激電容c2、c3和一只固定式三端穩壓器(lm7805)極為簡捷方便地搭成的。220v交流電通過電源變壓

51、器變換成交流低壓,再經過橋式整流電路d1d4和濾波電容c1的整流和濾波,在固定式三端穩壓器lm7805的vin和gnd兩端形成一個并不十分穩定的直流電壓(該電壓常常會因為市電電壓的波動或負載的變化等原因而發生變化)。此直流電壓經過lm7805的穩壓和c3的濾波便在穩壓電源的輸出端產生了精度高、穩定度好的直流輸出電壓。本穩壓電源體積小、成本低、性能好、工作可靠性高、使用簡捷方便等特點,可作為ttl電路或單片機電路的電源。圖3-2 電源電路3.3鍵盤電路鍵盤是單片機應用系統中不可缺少的輸入設備,是實現人及對話的紐帶,是操作人員控制干預單片機應用系統的主要手段。通過鍵盤可以向單片機應用系統輸入數據和

52、控制命令,實現對應用系統的認為控制,提高應用系統的靈活性。鍵盤按結構形式可分為非編碼鍵盤和編碼鍵盤;按組成形式可分為獨立式鍵盤、矩陣式鍵盤、撥碼式鍵盤;按硬件接口可分為直接i/o端口、鍵盤接口芯片;按程序實現方法可分為中斷方式、程序掃描方式、定時掃描方式和中斷掃描方式。本系統中,由于只需要3個按鍵,故只需采用獨立式鍵盤方式。獨立式鍵盤是指將每個按鍵按一對一的方式直接連接到單片機i/o端口上所構成的鍵盤。根據軟硬件的不同實現方法,可分為中斷鍵盤、程序查詢鍵盤、定時查詢鍵盤、中斷查詢鍵盤。不管是程序查詢還是定時查詢,cpu都要進行很多額外的查詢操作,不利于提高cpu的效率,在一些低功耗應用場合,尤

53、其不適合使用。如果采用中斷方式,只有在每次有鍵按下的時候cpu才會去相應鍵盤,提高了cpu的效率,但卻占用太多的中斷源,所以本設計采用中斷查詢式鍵盤,設計電路如圖3-3。 圖3-3 中斷查詢鍵盤接口電路3.4 溫度檢測電路溫度檢測電路是將ds18b20中采集的數據通過信號線傳輸到單片機中進行處理。由于ds18b20 在溫度較高的情況下表現出的漏電流比較大,通訊可能無法進行,故本設計中ds18b20供電方式采用獨立電源供電。單總線協議使得ds18b20的采集電路簡潔了許多,溫度采集電路如圖3-4所示。圖3-4 溫度采集電路3.5 液晶顯示電路顯示器是最常用的輸出設備,特別是發光二極管顯示器(le

54、d)和液晶顯示器(lcd),由于結構簡單、價格便宜、接口容易,得到廣泛的應用,尤其在單片機系統中大量使用。為了更方便的同時顯示多路溫度數據,在本系統中溫度顯示方案采用液晶顯示模塊。它是一種將液晶顯示器件、連接件、集成電路、線路板、背光源、結構件裝配在一起的組件,英文名稱叫“lcd module”,簡稱“lcm”,中文一般稱為“液晶顯示模塊”。它的顯示內容極為豐富,可顯示漢字及圖形,是一種高新技術的基礎元器件,并且接口電路簡單,顯示更加人性化,應用及其廣泛。本系統所用的液晶顯示模塊為smc1602a。smc1602a技術參數n 顯示容量:16*2個字符,每個字符為5*7點陣n 芯片工作電壓:4.

55、5-5.5vn 工作電流:2ma(5.0v)n 模塊最佳工作電壓:5.0vn 字符尺寸:2.95*4.35(w*h)mmsmc的管腳定義如圖3-5。圖3-5 接口信號說明smc1602a的讀操作時序圖如圖3-6,寫操作時序圖如圖3-7,時序參數如圖3-8。圖3-6 讀操作時序圖圖3-7 寫操作時序圖圖3-8 時序參數at89s52與smc1602的硬件接線如圖3-9。圖3-9 lcd接口電路圖3.6控制電路由于受環境的影響,大棚內的溫度并不是一成不變的,而是隨著各種環境因素的改變而改變,當溫度高于或低于植物生長的最佳溫度區域時,就必須通過有效方式將溫度調節到最佳狀態。一般說來,大棚環境的溫度都

56、會低于外部環境,保溫是大棚的一個重要特點,故本課題只作溫度低時升溫的溫度的設計,升溫通過電熱爐的加熱實現。其控制最終由輸出控制電路來實現,這部分電路主要是來控制強電的通斷實現對爐溫的控制,控制是通過可控硅調功電路實現的。可控硅調功電路就是雙向可控硅和加熱絲串接在交流電路回路中。在給定周期t內,at89s52只要給改變可控硅的通斷時間便可以改變加熱絲的功率,以達到調節溫度的目的。可控硅在給定周期t的100%時間內接通時的功率最大。圖3-10給出了可控硅在給定周期t內具有不同接通時間的情況。圖3-10 可控硅調功器輸出功率與通斷時間的關系控制輸出電路如圖3-11。at89s52在p1.3引腳上產生的信號控制,由圖 3-11所示可知。當 p1.3 引腳上是低電平信號時,光電耦合芯片 moc3041 導通,電阻絲開始加熱。光電耦合芯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論