




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于單片機的魚缸控制器設計摘 要本文是基于單片機的魚缸控制器的設計,目前市場上有各種各樣的觀賞類的魚缸,進入了不同的應用場合,如家庭、賓館和商場等等,但現有的魚缸一般需要人為的操作,比如水溫的檢測、水循環、魚兒喂食和液位控制等,給人們帶來了很大的不便。本論文就是基于這一現狀,分析和研究目前大多數的魚缸的控制設備和現狀,提出了一種新型的基于單片機控制的自動化魚缸控制器,該控制器是以單片機為核心,再結合傳感器技術,可以實現多種功能,包括溫度控制、水位檢測、氧含量控制、燈光照明等,真正做到了自動化控制。整個控制系統分為兩部分,一是以單片機AT89C52為核心,主要是實現對各種控制參數的設置、顯示、
2、處理和存儲等。二是輸入輸出部分,主要是采集系統所要求的各種參數和檢測信號,并將核心芯片傳輸的信號進行執行,設計出硬件電路和軟件電路,綜合實現魚缸控制的集中管理。通過對所設計的系統進行較長時間的運行和測試,結果表明所設計的系統可以實現要求,并且其具有系統運行穩定可靠、操作簡單、設計靈活、成本低廉和結構簡單等特點,可以廣泛的應用于家庭類的觀賞性魚缸。關鍵字:單片機,自動化,魚缸,控制系統48 / 52The Designer of MCU-based tankABSTRACTThis article is based design automation aquarium, there are a
3、variety of ornamental fish tank on the market today, into the different applications, such as home, hotel and shopping and so on, but the existing tanks generally require human operation , such as water temperature detection, water cycle, fish feeding and level control, to bring a lot of inconvenien
4、ce. This paper is based on this situation, analysis and research equipment and the current status of control of most of the fish tank, we propose a new tank based automation microprocessor controlled, the system is core, combined with sensor technology, set multiple technologies and control function
5、s in one, including thermostat, automatic feeding, automatic water change, automatic lighting, the perfect automated control. The whole control system is divided into two parts, one is the AT89C52 as the core, it is to achieve a variety of control parameters setting, display, processing, and storage
6、. Second, the input and output section, mainly a variety of parameters and detect signal acquisition system requires, and will be executed, hardware design schematics signal transmission core chip and software design, integrated centralized management control tank.Based on the design of the system f
7、or a long time to run and test results show that the proposed system can achieve requirements and having the system is stable and reliable, simple operation, design flexibility, low cost and simple structure, etc., can be widely used in the family class of ornamental fish tank.KEY WORDS: MCU,automat
8、ion,fish tank,control system目錄前言1第1章 概述21.1 研究的意義21.1.1 自動化魚缸21.1.2 自動化魚缸應用情況與意義21.2 現狀31.2.1 功能分類31.2.2 單片機的應用31.2.3 控制系統與特點41.3 論文的主要工作41.3.1 設計任務51.3.2 設計方案5第2章 控制方案62.1 自動化魚缸的控制原理分析62.1.1 應用方向62.1.2 控制原理62.1.3 控制要求72.2 控制參數與性能指標72.2.1 溫度72.2.2 水位82.2.3 光和氧氣82.3 設備造型82.3.1I/O點分析82.3.2 單片機的選型92.3.
9、3 電源的選擇92.3.4 繼電器的選擇102.4 總體方案10第3章 系統硬件設計133.1 硬件的總體結構133.2 主從機的電路設計143.3 各個模塊的硬件設計153.3.1 時鐘電路模塊的設計163.3.2 鍵盤與顯示模塊的設計163.3.3 溫度控制模塊的設計163.3.4 數據存儲電路的設計18第4章 系統軟件設計194.1 設計容與方法194.1.1 設計容194.1.2 設計方法194.2 主程序的設計214.3 中斷服務子程序的設計224.4 時間顯示和溫度讀取程序的設計234.4.1 顯示時間的設計234.4.2 溫度讀取的設計23第5章 系統的抗干擾設計245.1 硬件
10、電路的抗干擾245.1.1 單片機控制系統出錯的原因245.1.2 電路的抗干擾設計245.2 軟件電路的抗干擾255.2.1 數據采集軟件的抗干擾255.2.2 輸出通道的抗干擾255.2.3 程序執行過程的抗干擾26結論28 辭29參考文獻30附錄31外文資料翻譯41前言本次課題主要是完成基于單片機的魚缸控制器的設計,針對于目前市場上的魚缸情況,其在很大程度上都需要人為的操作,而本次論文的主要工作與目的,便是通過將單片機與傳感器技術相結合,將人們從操作上解放出來,實現魚缸的自動化控制,使得其控制更加穩定、靈活和方便。該設計要求控制器能實現魚缸的自動調溫、自動換水以與自動除垢等功能。隨著國民
11、經濟的發展,人們的生活水平有了很大的提高,相應的對生活質量有了明顯的要求,而休閑水族產業的出現在很大程度上提高了人們對自然和享受的追求,目前水族業的蓬勃發展也恰恰說明了這一點,但目前市場上的魚缸還有所欠缺,其正處在初步發展的階段,不能達到大眾的需求。本次論文針對于這一現狀,提出了將單片機與魚缸相結合的想法,并應用傳感器技術,實現硬件和軟件的統一,使其共同協調工作,實現傳統魚缸所不能實現的自動控制。解決人們因為時間原因不能與時養護魚缸的困難,使得系統可以在設定參數后能夠自行的運作,減少人為的操作。本次設計是先針對于目前魚缸市場的現狀,提出新型的控制方案,確定設計的主要目的和要實現的要求,明確設計
12、對象中的各個控制參數,并闡述所應用的技術的原理。在設計過程中,主要將工作分為兩部分,一是硬件的選用和設計,主要是針對于設計所需要的各種設備和性能的要求,選擇并設計出可靠和穩定的硬件電路;二是軟件的設計,此過程主要是程序的設計和編寫,在設計好硬件電路的前提下,將編寫好的程序寫入芯片中,有主控制系統下達命令并使得硬件部分快速準確的執行。此外,由于在硬件和軟件設計的過程中會出現各種問題,并且最終的執行結果可能會出現偏差,這些主要是由于在系統工作過程中會出現信號的干擾,導致系統誤動作,所以要有一定的抗干擾設計,保證系統在發出信號、接收信號以與執行動作的時候不會出錯,能夠準確的實現系統所要求的功能。第1
13、章 概述1.1 研究的意義1.1.1自動化魚缸自動化魚缸利用先進的技術,真正做到了節能、環保和方便實用,是養魚者最好最方便的選擇。它改變了原有的很多手工上的操作,比如自己換水、氧氣含量的控制、水質不好等問題,而應用自動化魚缸可以很好的解決這些問題,為魚兒提供了一個良好的環境,并且大提高了養魚愛好者的樂趣。再也不用人為的進行換水,當外出時也不用擔心魚兒無人照料,并且系統設計的安全措施也能有效的降低異常情況的發生等等。真正做到了自動化的控制,在時間上解放了人類,為養魚愛好者節省了很多時間,省去了很多不必要的麻煩。全自動魚缸有各式各樣的款式和不同的型號,可根據不同場合選用最合適最實用的魚缸。自動化魚
14、缸節能環保,方便控制,解決了一系列的問題,如換水難、水中礦物質缺乏以與耗時照料等。系統控制會自動進行定時,然后根據魚缸中水量的情況進行加水和排水的,保證魚缸中水量的適度。并且能自動清除魚的糞便和水中的雜質,免除了使用清洗過濾棉給魚兒帶來的傷害和對水質的污染。這樣一來,不僅使得魚缸的使用變得更加方便,而且美化了環境,使得養魚成為賞心悅目的事,人們不用在其上花費太多的時間和勞力,在很大程度上將人們解放出來,真正實現了休閑的自動化控制。1.1.2 自動化魚缸應用情況與意義隨著我國經濟的發展,人民的生活水平得到了很大的改善,人們的生活品位相應的也越來越高,與之相關的休閑、養生類等行業有了日漸蓬勃的發展
15、之勢。工作和生活在城市里的人或多或少都承受著各方面壓力,心里都渴望著回歸大自然的寧靜與和諧。這樣一來,一個生機盎然、蒼翠欲滴的魚草水族箱便有了很大的作用,它不但能美化居室的環境,使得人們近距離的接觸到大自然,更能使人得到綠色和充滿活力的能量,每天欣賞大自然綠色美景的同時,在心理上得到很大的滿足和平靜。在這種需求下,水族行業便得到了其發展的優勢。魚缸又被大家稱水族箱,它起源于英國,到現在已經有了超過150年的歷史。在魚缸市場發展早期的時候,水族箱的作用多用于展覽,主要是在酒店和展覽會等大眾化的場所的觀賞。但如今隨著生活水平的提高,而且科技的加入使得水族業得到了快速和良好的發展。水族箱更是逐漸成為
16、了普通家庭的室裝飾。現如今,以水草和金魚為主的魚缸被稱作“水中微縮的魚草園林”,是人們在休閑上的普遍選擇,但人們由于工作繁忙或者不是專業養護,導致沒有很好的結果,最后的結局大多是水草的枯萎和魚兒的死亡。針對這一現狀,市場上也陸續出現了各種自動化控制的魚缸,可以完成水溫控制、保證氧含量、自動排水以與自動照明等。通過對目前大多數水族箱控制設備應用現狀的分析和研究,提出了一種集多中功能于一體的自動化魚缸控制器,該控制系統是以單片機為控制中心,將其與傳感器技術相結合,最終可以集多種功能于一體,實現自動調溫、自動喂食、自動照明、自動換水和自動除垢等功能。1.2 現狀1.2.1 功能分類不同場合的自動化魚
17、缸要具有不同的功能與特點,總體說來,要具有以下基本的要求:溫度控制、光照充足、水位控制、自動喂食、水質監測等,同時還具有節能環保的特點。但是在應用到不同場合時,便需要其有相應的功能,如礦廠、公司、水族館、觀賞池、展覽會、酒店、家庭等。工礦場合要有良好的除噪效果,系統反應要更加靈敏,并且要具有凈化空氣的效果;養殖戶一類必須要方便管理和處理突發狀況;其它水族館和觀賞池等等一定要在滿足基本條件下做到美觀、賞心悅目,最好帶有音樂與燈光效果。1.2.2 單片機的應用單片機又被大家稱為單片微控制器,它不僅僅只是完成某一個邏輯功能,它一個芯片本身便實現了大部分的集成功能。有人形象的稱單片機就是一臺微型的計算
18、機。它擁有體積小、質量輕和價格低廉等特點,大大的方便了大家的學習、應用和開發。同時,通過學習單片機,我們可以更好的了解計算機的原理與結構。單片機部和電腦有一些功能相似的模塊,比如同樣有CPU、存、并行總線以與和硬盤作用一樣的存儲器件,但不同的是,單片機的這些器件的性能相對與電腦來說要弱很多,不過價錢同時也低很多,一般不會超過10元,所以可以用它來做一些控制電器的工作。它是一種控制計算機,并且其工作是在線式實時的,所謂的在線式就是現場控制,這就要求其有較強的抗干擾能力和比較低的成本,這也是它和離線式計算機的最大區別。單片機主要是靠程序來控制硬件實現各種功能的,而且要求其要具有可修改性。其通過不同
19、的程序來實現相應的不同的功能,尤其是針對于一些特殊功能,往往要耗費大量的人力和時間,有些甚至難以實現。一個相對來說比較簡單的功能要是用美國50年代開發的74系列或者60年代的CD4000系列可以實現的話,那么它的電路一定是很大的PCB板!但如果要應用美國70年代成功投放市場的新型單片機,便會有很大的差別!因為你通過單片機編寫的程序就可以實現其可靠性、高智能以與高效率。1.2.3 控制系統與特點控制系統以單片機AT89C52為控制核心,結合傳感器技術,集多種控制功能于一體,包括溫度控制、燈光照明、水位監測、氧含量控制等。整個系統分為四大部分:第一部分是以單片機AT89C52為核心的溫度控制部分;
20、第二部分是以單片機和揚聲器SPEAKER為主的功能模塊;第三部分是以LED為主的燈光模塊;第四部分是自動/手動換水,自動/手動喂食等功能。該控制系統具有運行穩定可靠、操作簡單方便等優點。同時該系統具有結構簡單、設計靈活以與成本低廉等特點,并且易于規模化的生產,可廣泛用于家庭和賓館等。1.3 論文的主要工作1.3.1 設計任務本文主要針對自動化魚缸的設計,在單片機的基礎上,結合傳感器技術,設計出自動化控制的集成電路,集多種功能于一體,實現魚缸的自動化控制。本次設計主要由輸入輸出和控制部分組成,輸入輸出部分主要完成系統各種參數的監測、設定以與調試等;控制部分主要完成復位、數據的存儲、顯示時鐘和溫度
21、、按鍵以與各種輸入輸出的指示等。1.3.2 設計方案(1)總體設計首先對該系統原理進行分析,明白最終運行的結果要求和指示,結合設備造型,查閱資料,確定采用合適的控制系統,提交總體的設計方案。(2)硬件設計分別設計數據采集電路,控制電路,通訊電路等,并使其集成顯示、運行,應用CAD軟件畫出電氣控制原理圖。(3)軟件設計主要是對程序的編寫,各個子程序模塊要做到系統的結合,并應用到單片機的集成顯示。(4)通信聯調第2章 控制方案2.1 自動化魚缸的控制原理分析2.1.1應用方向對于不同的場合,其魚缸要求也不盡一樣。本次設計的自動化魚缸主要是應用于家庭觀賞類魚缸,在功能和美觀上相比于大型高檔類魚缸稍有
22、欠缺,但在應用和操作方面會盡量達到市場要求,在很大長度上減少了人為操作。設計系統可以檢測魚缸中含氧量、溫度、水垢等,并做出相應的反應,還有水位探測功能,應用碳棒與時的探測水位并補充水量。另外應用的自動化系統可以時時的顯示魚缸的所有數據,并且帶有報警系統,真正的做到了方便快捷。2.1.2控制原理本次論文設計是基于單片機的自動化控制,將單片機應用到魚缸系統中,使其達到自動化控制,更為快捷方便的控制。在單片機的基礎上擴展一些接口,用來進行數模轉換、數字顯示、鍵盤寫入和輸出控制等,并加入相關的應用軟件,組成完整的單片機系統。針對于單片機的性能高、靈活性強的特點,將其應用到魚缸的控制中,結合傳感器和感應
23、器技術等實現其自動化的控制。在實現其自動化控制中,共分為以下幾個控制方向:溫度、水位、含氧量等,并且還要帶有緊急情況的報警系統,以防突發情況的發生。其中各種參數的設定和調試可根據天氣和周圍環境的變化做出相應的改變,最終的目的是為魚兒提供一個良好的生活環境。本次系統的結構采用分塊的模式,主要由控制部分和輸入輸出部分協調完成系統功能。其中,控制部分主要完成復位、數據的存儲、顯示溫度和時鐘、按鍵以與各種輸入和輸出等;而輸入輸出部分主要完成系統的各種控制參數的設定以與與主系統的通信等。結合上述要點,在實現安全和自動化控制的前提下,爭取實現系統方便、靈活、安全的統一。2.1.3 控制要求針對魚缸的自動化
24、控制,本次設計的系統要做到以下要求:1) 實時監測魚缸的環境參數:由于魚缸的各種魚兒和水草等需要一個相對穩定并且良好的生活環境,因此要保證魚缸各種參數的穩定,其中包括含氧量、溫度、光照、水位等。要盡可能的將各種參數控制或者調整到合適的圍,以保證魚兒的良好成長。2) 能夠實時的顯示溫度、系統參數的設定以與當前工作狀態和系統時間。3) 有報警系統,即當魚缸的環境參數超過設定值時,系統能夠與時的發出報警信號并做出反應動作,以保證環境參數的穩定。4) 為了適應不同的需求,系統要能在自動和手動的模式下自由切換。2.2 控制參數與性能指標本次設計的控制對象是魚缸,控制的目的是使其能自動調節,為魚類提供合適
25、的生活環境。設計的過程中要注意水溫、水位、氧含量等參數。要求該系統能自動檢測并顯示魚缸的溫度和氧含量等,并做出與時的補充,利用碳棒檢測水位的高低,并應用單片機控制水泵進行供水,協調工作達到一個功能完善的自動控制系統。2.2.1 溫度魚類是冷血動物,也就是說它們需要從周邊環境吸取熱量以供給自身新代。魚類在水中不斷用鰓過濾水,進行呼吸,這就導致了它們新代產生的熱量會很快消散在水中,體溫也和周圍水溫相似。魚類大多數喜歡生活在溫度為25.528.8攝氏度的水中。溫度或熱量是影響魚類新代的重要因素,如果溫度過高,魚類體的酶將停止工作;如果溫度過低,魚類體的酶的結構將會被破壞。此外,如果水溫過低,熱帶魚將
26、很可能會喪失其意識,魚類體的寄生蟲和細菌會伺機侵害魚類的健康。隨著水溫的升高,氧氣的溶解度會降低,而魚類恰恰是需要氧氣來進行生存,這樣便可能會導致魚類因缺氧而死去,所以一定要給魚類一個合適的水溫。綜上所述,可根據系統設定的溫度圍來控制加熱器的啟動和停止,以提供一個合適的水溫。2.2.2 水位水位檢測主要是控制魚缸的水量,通過水泵將水箱中的水抽到魚缸中,并應用碳棒時時檢測水位,當檢測到水位達到要求時,立即通過單片機控制水泵停止加水。2.2.3 光和氧氣魚缸中不僅僅只有魚類,同時還有共同生活的植物。而光是植物健康生長的必要因素,在適宜的光照條件下更加有利于植物的生長,同時利于魚兒的生活。綠色植物是
27、唯一能產生氧氣的植物,植物良好的生長可以與時補充魚缸的氧氣。在自動化系統的配合下可以更加方便的控制魚缸的含氧量,為魚兒創造了一個良好的環境。2.3 設備造型2.3.1I/O點分析本次設計的自動化魚缸是基于單片機的自動化應用,參考于其中的控制參數,利用傳感器等技術來實現自動化控制,需要加入一個作為輸入的3*4的鍵盤,以此來設置溫度和含氧量的參數。其中設置的溫度標準和氧氣含量等均可以通過鍵盤來手動輸入,隨時的根據周圍環境的變化來調控參數標準,為魚兒提供更好的生活環境。而通過傳感器作為輸出的實時溫度和含氧量一并作為輸出點來考慮,只需在傳感器與單片機的基礎上橋接一個LED顯示模塊,就可以方便的顯示所需
28、要控制的參數,以此來改變或者重新設置。其中水位的控制是通過碳棒來實現,因此并不需要作為輸出點。2.3.2 單片機的選型單片機共可以分為1位、4位、8位、16位、32位機等。其中1位機和4位機成本低、結構簡單,但指令不豐富,而且編程復雜,主要運用于簡單的控制;相對來說16位機和32位機雖然性能優越、集成密度高,但在價格上比較高,因此得不到廣泛的應用;而8位單片機體積較小、指令多而廣、價格低廉,而且產品的應用幾乎占據了大部分的單片機市場,將會成為系統控制的主流機型。ATMEL、NXP、STC和SST等公司生產的高性能8位89C52/S51單片機有很多優勢,比如其有豐富的系統資源,特別是其部增加的存
29、儲器Flash ROM,它可以高速的改寫,大大的方便了單片機的開發與應用。因為89C52=80C31+373+2732,而且其價格低廉,因此,在市場上有相當大的應用性。經過綜合考慮,本次論文選用AT89C52型的單片機作為自動化魚缸的主控制芯片,AT89C52是一種低功耗、低電壓、高性能的8位單片機。它采用了CMOS工藝,并具有高密度非易失性,而且其輸出引腳和指令系統都有較強的穩定性。片的Flash ROM在系統允許改編程序。具有功能強、靈活性高且價格合理等特點。它有40個引腳,32個外部雙向輸入輸出的端口,同時含2個外中斷口,2個全雙工串行通信口,3個16位可編程定時計數器,2個讀寫口,既可
30、以按照常規的方法進行編程,也可以在線編程。另外,它將通用的微處理器和Flash存儲器巧妙的結合到一起,尤其是可反復擦寫的Flash存儲器的應用,有效的降低了開發成本。所選用的AT89C52單片機部片資源豐富,有8K字節的閃爍存儲器,而本次系統設計主要用單片機C語言編寫,這樣編譯后生成的代碼不僅較為簡短,而且效率較高,這樣有了多余的程序存儲空間避免了再外部擴展,有效的簡化了系統電路和降低了系統成本。2.3.3 電源的選擇基于是家庭的自動化魚缸,考慮到方便的操作問題,直接選用220伏的常用電源,不僅可以方便魚缸的接線問題,還可以省去中間升降壓的麻煩。而對于單片機的電源選擇則要針對于所選用的單片機的
31、類型,結合其各種參數,并考慮到中間所加的各種應用模塊。由于本次設計選用的是89C52單片機,所以直接選用5伏的直流電源,作為單片機的電源供給。2.3.4 繼電器的選擇繼電器是一種當輸入量的變化達到規定要求時,在電氣輸出電路中使被控量發生預定的階躍變化的一種電器。其原理是通過改變輸入到線圈上的電壓來改變電磁場,進而控制電路的開和關。按照工作原理和結構特征,繼電器共分為以下幾類:電磁繼電器、固態繼電器、時間繼電器、舌簧繼電器、溫度繼電器等。繼電器的選擇有以下注意事項:使用環境、輸入信號、輸入參量、負載情況等。針對于魚缸的水中環境和使用現狀,以與魚缸的電壓、電流、輸入輸出等情況,選用最常用的光電隔離
32、器來作為安全保護裝置,其具有體積小、使用壽命長、工作溫度圍寬、抗干擾性能強無觸點且輸入與輸出在電氣上完全隔離等特點。綜上所述,本次系統選用型號為SRS-05VDC-SL的繼電器,它的觸點負載為中功率,觸電形式為常開型。2.4 總體方案本次設計主要是以單片機89C52為核心,在此基礎上應用其它的模塊,如溫度顯示模塊、自動供水模塊、自動報警模塊和按鍵輸入模塊等。應用傳感器技術和感應系統將其系統完美的結合到一起,能人性化的調試和隨時隨境的改變參數的設定,實現現代化魚缸的自動控制。以下是總體硬件結構方案圖:系統硬件結構框圖其中主控制部分包括:中心控制模塊:主要是以單片機為控制核心,其功能是用來將A/D
33、轉換器送來的數字信號進行處理,從而向各種設備發出各種控制信號。時鐘控制電路模塊:同步控制系統的相對時鐘和絕對時鐘,定時檢測各種環境參數和各項控制器的開或關。人機交互按鍵控制模塊:主要是用來實現按鍵的寫入功能以與設置后相應的LED的顯示,以便達到良好的人機交互功能。1)通過LED數碼管實時顯示參數值;2)通過鍵盤寫入各種參數;3)發生異常時能通過LED管和蜂鳴器報警。數據存儲/復位模塊:能夠存儲各種參數,實時監測并存儲系統的工作過程,當遇到異常情況時能夠復位重啟。數碼顯示模塊:能夠實時的顯示系統的工作狀態和時間、當前溫度以與控制過程中的參數變化。其中輸入輸出控制部分包括:各種信號的輸入模塊:能夠
34、將魚缸中檢測到的各種信號準確輸入,如溫度的監測、水位高低的監測以與含氧量的監測等。這個模塊主要是由傳感器、放大器、多路開關以與A/D轉換器等組成,完成數據的采集。其中傳感器的作用是感應魚缸各種環境參數的的變化,然后將其轉化為電信號;放大器的作用是將系統接收到的一些微小的信號放大,以便于接收系統可以很快的接收并利于下面的執行;多路開關的作用是將接收到的電信號傳給A/D轉換器,這樣便可以讓單片機接收到可以識別的數字信號。各種子系統的輸出控制模塊:主要由各種輸出控制的設備組成。根據系統檢測到的各種參數信號,控制相應的子系統進行工作,各個子系統既不互相干擾又能協調工作,同時可以顯示各種輸出。作為核心的
35、單片機將設定值和采集值進行比較,發出控制信號并傳輸給相應的設備,實現對不合適參數的調節。第3章 系統硬件設計本章容是介紹自動化魚缸控制的硬件結構和設計,主要包括以下設計:主從機電路模塊、時鐘電路模塊、鍵盤控制與顯示模塊、溫度控制模塊、數據存儲電路模塊等。下文中詳細的闡述了各電路設計中芯片的選型要求,并根據其部組成、性能參數和功能特點等設計出了具體的硬件電路。在綜合各個電路的元件性能的前提下,保證所設計的各個電路之間可以協調工作,在主系統的控制和調試下可以達到方便快捷的效果,實現硬件部分的高效執行性和系統的自動化控制。3.1 硬件的總體結構硬件設計和軟件設計是本次論文的兩個重要方面,本章主要寫該
36、系統硬件電路的設計。在設計過程中,主要遵循以下幾點原則:(1)硬件電路的設計和軟件電路的設計是相輔相成的,軟件電路功能的實現要靠硬件電路來執行,而硬件電路的實現要靠軟件電路來下命令。但是用軟件實現硬件的功能還要占用CPU的時間,所用的時間要更長一點。但在另一方面,用軟件電路實現功能的話,不僅可以使得硬件電路大大簡化,這樣一來降低了成本,同時避免異常情況的發生,可以提高硬件電路的可靠性。所以在本次系統的設計過程中,在滿足可行性和系統要求的前提下,盡可能的用軟件來實現硬件功能。(2)保證可靠性和抗干擾性。根據可靠性的設計理論,在設計系統時所用的芯片越少,那么系統出現故障的機會越少,同時電路板上的地
37、址數據總線受到的干擾就越少,所以單片機控制系統的設計是在滿足功能要求和可靠的情況下,盡可能的使用少量的芯片和線路,大幅度改善組件數、電路板空間、抗干擾性、功耗以與系統成本。(3)確保靈活的功能升級和系統擴展。由于一開始并不能完全考慮到系統的各個方面,在后續的設計中需要不斷的完善系統和補充功能,同時在設計的過程中應考慮到在以后的應用,也就是說應該在系統設計不需要做很大變動的情況下,盡可能的修改少量的軟件和硬件,甚至在不修改的情況下就能實現系統的要求。其中,功能擴展對系統的影響也很大。按照系統的要求和以上幾點硬件設計原則,本次系統設計以單片機AT89C52為核心,再結合傳感器技術,由溫度控制、數碼
38、顯示、信號的輸入和輸出等單元電路組成。下面就主要的電路設計做詳細的介紹。3.2 主從機的電路設計為了實現魚缸的自動化控制,并達到方便快捷的目的,在設計過程中盡可能的將各個控制部分的放置最大效率化與資源化,即將系統的主控制部分和輸入輸出控制部分的功能板分別放在魚缸的不同位置,這樣可以進一步提高系統控制的穩定性。而設計的主控制其作為主機,設計的輸入輸出控制器作為從機,并將其分別應用到所設計的電路中,即主控制電路和輸入輸出控制電路。在主控制電路中用AT89C52作為主控制芯片,它主要是實現控制中心、時鐘控制電路模塊、數據存儲/復位模塊、數碼顯示模塊以與人機按鍵控制模塊的相互協調運行,保證系統的完善;
39、而輸入輸出控制電路主要工作是能夠準確、與時的輸出魚缸中檢測到的各種環境參數和各路控制信號。綜合上述情況,在兩個電路能夠正常工作的前提下,再將兩者結合到一起,實現系統的自動化控制。在這三部分電路的設計中,要細節考慮其之間的工作模式和特點,綜合其不同的性能和工作狀態,減少不必要的消耗和損失,并能夠在此基礎上更加的方便靈活,實現最終系統所要求的自動化控制。以下是作為主從機電路的電路結構圖:上述系統的硬件結構圖由兩部分組成,即主控制部分和輸入輸出控制部分,并在這兩者之間可以進行通信,用來實現兩部分的信息傳遞。其中主控制部分主要由以下電路組成:時鐘電路,主要功能是實時的顯示系統的日期統時間,選用單片機主
40、芯片來實現,更加方便簡捷的顯示時間;數據存儲/復位電路,用來存儲系統所檢測到的各種環境參數和信息,并能夠在發生異常的情況下與時動作復位,防止發生不必要的損失,;指示燈的接口電路,主要是實時顯示系統的各種參數以與調試過程的信號的數字化,有8路輸出指示燈與住CPU的P2.0P2.7連接組成;與LED顯示芯片和鍵盤的接口電路,完成鍵盤輸入和顯示的連接。輸入輸出部分主要由輸出指示、溫度檢測、水位高低檢測以與其他參數的檢測組成,其中溫度檢測選用芯片DS18B20的DQ端與P0.4連接組成電路,而水位高低的檢測則用碳棒來實現。3.3 各個模塊的硬件設計3.3.1 時鐘電路模塊的設計 本次硬件設計中時鐘電路
41、模塊所選用的核心芯片AT89C52,用來完成系統中實時時鐘的顯示和設置。 其中,實時的時鐘/日歷電路用來提供詳細的時間和日期,人性化的的選擇12或者24小時格式,并且每個月的天數可以自動調整,減少了手動的麻煩。該時鐘電路主要完成三個功能,即時間的顯示、相對時鐘以與時間的處理。其中相對時鐘主要是控制魚缸的各種操作,實現溫度控制和氧氣含量的時間調整。時間的處理主要是設置鬧鐘、事件的提醒以與作為備忘錄使用。3.3.2 鍵盤與顯示模塊的設計該模塊的設計是直接選用鍵盤輸入通過單片機AT89C52來進行寫入,并采用LED來進行顯示結果與過程,該模塊靈敏度高,性能可靠,而且耗費價格低廉,能夠準確的達到系統的
42、要求,實現輸入和顯示的綜合統一。此模塊的核心是要設計的鍵盤與顯示的電路,主要實現復位、LED顯示以與鍵盤輸入的功能,這些功能分別由復位電路、8位的LED顯示電路、鍵盤的輸入控制電路實現,可以更好的實現各個參數的設定、控制和調試。3.3.3 溫度控制模塊的設計在設計溫度控制模塊過程中,選用DALLAS公司生產的芯片DS18B20作為核心芯片,它是一種一線式數字溫度傳感器,主要由以下四部分組成:溫度傳感器、配置寄存器、64位ROM以與非揮發的溫度報警觸發器。其溫度的測量圍是-55+125攝氏度,有3個引腳T0-92,是小體積的的封裝形式,其溫度的測量精確程度可以達到0.0625攝氏度,并且有9-1
43、2位的A/D轉換精度,還可以將測量到的溫度擴展為16位數字量,并通過串行的方式輸出。其工作電源有兩種方式,一是可以在遠端直接引入,二是可以通過寄生電源產生。以下是DS18B20的部結構圖:其中,VDD是外接的供電電源,GND是接地,DQ是數字信號的輸入/輸出端。將單片機的P04口與芯片DS18B20的引腳2相連,可組成溫度檢測電路。它用外部5 伏的電源供電,并連接4.7K歐姆的上拉電阻,這樣可以保證在有效的時鐘周期提供足夠的電流。電路圖如下所示:3.3.4 數據存儲電路的設計在此電路設計時采用ATMEL/愛特梅爾公司生產的芯片AT24C02N-SU27 D作為存儲器使用,其導電類型為雙極型,工
44、作溫度為-4085攝氏度,價格低廉,但性能較高,靈敏度強。此芯片在該電路中主要實現對系統設定的參數和工作過程中數據變化的存儲,將其與單片機相連組成完善的電路,可以寫入和存儲單片機的程序與指令。第4章 系統軟件設計4.1 設計容與方法4.1.1設計容軟件設計是本次論文的中自動化魚缸控制的主要容和重點,主要是根據設計系統的功能要求,在已選好的系統硬件的基礎上進行系統的軟件設計。為了達到系統功能的明確和完善,操作簡便以與可靠性強的特點,一般采用結構化的程序設計方法。該程序設計方法共分為以下三個方面:從上到下的設計、模塊化編程和結構化編程。此外,還需要加強軟件的抗干擾性,實現其程序的可靠性。單片機系統
45、的程序設計是采用C語言來進行開發的, 整個單片機系統的程序共分為三模塊,即主程序模塊、溫度檢測模塊和溫度顯示模塊。每個模塊都有一定的功能和作用,其中一些還包括有一些子程序,它們既相互獨立有相互聯系,低級模塊可以被高級模塊調用,共同實現協調統一。4.1.2 設計方法由于本次設計是基于自動化魚缸的設計,并采用了模塊化的設計共同實現控制。模塊化設計就是把軟件按照系統要求和要實現的各種功能將其劃分為幾個較簡單的和相對獨立但又相關的模塊。其中,在實現模塊化的設計過程中,一定要注意分解、信息隱藏和模塊的獨立性等方面。分解是我們在日常生活中遇到復雜問題時常用的解決方法,對問題求解的大量實驗表明,將一個復雜的
46、問題分解為幾個較小較簡單的問題,能夠明顯的降低解決問題的難度和復雜度。而針對于此次軟件系統的設計,各個組成模塊是相互聯系的,要避免將系統劃分為很多模塊,這樣一來各個模塊相互之間的聯系也就越少,可以減少出錯的連鎖反應。并且可以使得模塊的接口工作量大大減少,但每個軟件都有一個最小的成本劃分區,只要在這個圍將系統劃分為合適的模塊數,就可以使工作量和設計難度保持最小。信息隱藏是指將對不需要了解某些數據與過程的模塊隱藏起來。因為在設計程序和系統時,會需要一些在特定情況下才會用到的信息,而這些信息的出現可能會影響到模塊間的信息交換,所以,最好的辦法就是將其隱藏起來。當發生特定情況才允許這些信息交流。這一思
47、想的目的是為了提高模塊的獨立性,它避免了在用不到隱藏信息時將其擴展到其它模塊的風險,這樣一來,各個模塊的功能比較單一,不容易發生與其它模塊共享信息的情況。應用這一思想,使得系統易于測試、聯調和維護。模塊獨立性是將系統分為幾個模塊時要遵守的必要準則,要使得模塊劃分的合理,就必須堅持模塊的獨立性。獨立性主要是指模塊本身的結構和塊間的聯系。前者指模塊部的組成部分,其相互協調工作,實現功能;后者指多個模塊之間的相互聯系,它們既相互獨立又相互聯系。只有保證模塊的獨立性很高,才能使得塊組成部分的聯系越強,同時摸塊間的聯系越弱,避免異常情況的傳染。在開發軟件的同時,還要注意軟件開發中文檔的建立。因為我們在開
48、發軟件的過程中,會使用大量的信息,同時還會產生很多信息,這時最好建立一個軟件文檔,可以提高軟件過程中的能見度,記錄下開發的過程。軟件文檔的編制,使得開發人員對各個階段的工作都進行全面的思考,以便減少返工的機會,還可以在開發早期發現錯誤的地方,可以很快解決這些問題,避免后續的麻煩,并且便于系統軟件的升級、使用和維護。本次系統是以上述的軟件設計思想為指導,采用Kei1 C51集成環境開發軟件部分。Kei1 C51是美國Kei1 Software公司出品的51系列兼容單片機,它是由C語言軟件開發系統,與匯編相比,C語言的功能更加完善,有很強的可維護性,結構的可靠性更高,并且易于讀寫。Kei1 C51
49、軟件提供全Windows界面,在編程時可以調用豐富的庫函數,并且可以進行集成開發和調試。同時,經編譯后生成的匯編代碼更加緊湊,并且容易理解,使得Kei1 C51生成目標代碼的效率大大提高。本次論文所設計的系統的軟件部分主要包括:主程序、初始化子程序、中斷服務程序、溫度檢測程序、溫度顯示程序、工作狀態控制程序。4.2 主程序的設計系統的軟件主程序主要是檢測魚缸的各種環境參數,實現環境參數的設定和改變。在設計過程中仿照硬件電路的設計辦法,將系統要實現的功能合理的劃分為幾個小系統,通過編寫其對應的子程序,使得幾個子程序可以相互聯系,從而實現系統所要求的溫度、含氧量、水位等設計。應用此模塊化的設計不僅
50、可以使設計的思路更加清晰,而且更加方便了程序的編寫和調試。以下是系統主程序的工作流程圖:4.3 中斷服務子程序的設計對于主程序中的各種信息和數據的處理主要由兩種途徑,一是通過在顯示間隙中完成,二是通過中斷服務子程序來完成。T0的中斷服務子程序主要完成定時數據的傳送、按鍵處理和按鍵的消抖等。而計數器T1是用來產生波特率,不會中斷。以下是定時器的中斷服務子程序流程圖:本次系統利用定時器/計數器,它是在工作方式1下,進行20mS的定時,接著通過所設計的T0中斷服務子程序來實現時和分的計時。該程序是提供了一個時間基準,同時給采樣數據提供基本的計時信息。由于該系統晶振的設置為110.592M,同時定時器
51、T0設置為20mS,所以裝入的TH0和TL0的初值分別為B8H和00H。以下是當進行20mS的計數初值時的計算:(1)機器周期TF=12*(1/11.0592)us(2)定時器的計數值T0/TP=20000*(11.0592/12)=18432(3)裝入定時器的初值為X=216-T*f/12=65536-18432=47104(4)將X表示為二進制形式為:X=00000B,而且定時器的工作方式選擇為1,所以(TH0)=B8H,(TL0)=00H。在此中斷服務程序中,只要循環5此就可以完成100mS的定時控制。4.4 時間顯示和溫度讀取程序的設計4.4.1 顯示時間的設計本次系統為了方便控制和應
52、用簡捷,針對于時間的顯示用主芯片AT89C52來實現,通過匯編語言完成程序的編寫,經芯片讀取并由LED顯示。詳細程序見附錄。4.4.2 溫度讀取的設計在利用芯片DS18B20讀取溫度時,首先要取得到芯片DS18B20檢測到的溫度值,該溫度值是以BC碼的形式來顯示,然后再以十進制的形式輸出,而且輸出的溫度值會是實際檢測到的溫度值的十倍,并且會含有一位不顯示的小數。詳細程序見附錄。第5章 系統的抗干擾設計針對于工業現場的應用中,有很多的干擾問題,它們是以一種或者多種的方式存在并作用于單片機的控制系統,其對于控制能系統產生比較大的影響,使得系統所要實現的功能不能達到要求,最后還可能會導致嚴重的后果,
53、所以必須要加入一些必要的抗干擾設計,尤其是對于自動化魚缸中魚類和水草植物的生活環境的監控,要求其必須要具備良好的抗干擾能力,才能實現最終的理想的控制。就單片機的控制系統來說,其抗干擾的設計主要是針對于硬件和軟件兩部分。硬件的抗干擾主要是應用一些物理的器件來較少或者消除干擾,能很大程度上將大部分的干擾消除,其優點是效率較高,可以給系統創造一個良好工作環境,但同時會造成成本的增加和硬件體積的增大。而軟件的抗干擾主要是加入一些控制算法來達到目的,它是通過編寫或者改變程序來實現,在一定程度上會占用CPU,這樣一來會影響到系統的工作效率和穩定性。所以,一般選擇將硬件的抗干擾和軟件的抗干擾相互結合,使其協
54、調工作,達到最終抗干擾能力強并且硬件少的效果。5.1 硬件電路的抗干擾5.1.1單片機控制系統出錯的原因一般來說,造成單片機控制系統受到干擾的原因來自兩個方面,一是電路的設計,二是生產本身的制造問題。總的來說,主要由以下幾個外在原因:元件本身的質量較低;單片機本身的抗干擾能力較低;工作環境的影響較大;期間的功率不足;沒有屏蔽保護的功能等。5.1.2電路的抗干擾設計針對于實際電路的抗干擾,主要有以下三個注意方面:(1)接地。該設計主要是實現保護接地,即連接,可以有效的提高系統的抗干擾能力。(2)濾波。顧名思義指的是將采集到的各種信號加以分類,通過其不同的頻率特性控制其方向。一般用的濾波器有高通濾
55、波器、低通濾波器和帶通濾波器。比如將低通濾波器連接到交流電源上,便可以讓系統所需要的交流電得以通過,阻止其它的高頻干擾信號進入并將其導入。(3)制作電路板時的布線和工藝。將電路板合理的劃分區域,使其不會再布線上產生干擾;時鐘要盡可能的遠離I/O線,盡量與之垂直;電源線和接地線要較粗,過孔盡可能的少等等。5.2 軟件電路的抗干擾 軟件電路所產生的干擾主要是由于干擾信號侵入了系統的輸入通道,并且與所需的信號相疊加,造成信號的弱化甚至錯誤的動作,最終導致系統無常工作。而針對于軟件電路上的抗干擾設計不僅能夠在可靠性上使得系統有很大的提升,而且使得硬件的成本有效的降低,使得系統具有自我診斷并恢復的能力。
56、在實際的操作中,軟件電路的抗干擾設計主要由以下幾個方面:減少或者消除輸入信號的噪音、改正輸入過程中的干擾或者錯誤的信號和將運行混亂的程序重新進入正軌等。5.2.1數據采集軟件的抗干擾在單片機控制系統中,往往在數據采集的過程中會發生誤差,其主要原因是由于干擾信號進入了輸入通道中,使得信號發生了較大的偏差,以至于會造成控制的異常。針對于以上情況,在此抗干擾的設計中,主要是采用濾波算法,避免了硬件設備的添加,而且其可靠性和靈活性很高。本次采用常用的程序判斷濾波法,可以有效的減少程序編寫后運行出現的干擾。5.2.2輸出通道的抗干擾輸出通道中所產生的干擾是由于在外圍器件工作時時常產生的電磁脈沖,該電磁脈
57、沖會影響輸出信號的狀態。比如,由于系統產生的靜電干擾會使得單片機控制系統輸出的低電平轉變為高電平,造成錯誤的控制。對于此類干擾,可通過重復的寫控制命令的方式來解決。上文中提到該類干擾一般是靜態的脈沖干擾,比如當單片機輸出一個正確的信號時,由于干擾信號的原因會使得接收設備得到一個錯誤的信號,這樣一來會造成設備的錯誤動作,為了避免這種情況,有效的方法便是讓單片機多次重復的輸出一個正確的信號,并要保證其輸出周期盡可能的短,這樣就可以保證在干擾信號沒有干擾之前便可以得到一個正確的信號,從而保證設備的正確動作。5.2.3 程序執行過程的抗干擾在該設計中主要采用兩種方法來進行對程序執行過程中產生的干擾的解決,即指令冗余和軟件陷阱。 (1)指令冗余我們知道,一般CPU在取指令時是先取操作碼再取操作數。而單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司禮儀隊規章管理制度
- 公司管理層例會管理制度
- 公司自動化項目管理制度
- 公司營銷部薪酬管理制度
- 公司試用與轉正管理制度
- 公司財務部合同管理制度
- 公司車輛gps定位管理制度
- 公司食堂餐后水果管理制度
- 寫字樓安全防范管理制度
- 出租車公司企業管理制度
- PRP治療膝骨性關節炎臨床應用
- 2024年河南省現場流行病學調查職業技能競賽理論考試題庫-上(單選題部分)
- 2025年國家開放大學《形勢與政策大作業》試題與答案《形勢與政策》形成性考試專題檢測及大作業答案
- 浙江省金華市卓越聯盟2024-2025學年高一下學期5月月考政治試題(含解析)
- 拱墅區長慶街道招聘工作人員筆試真題2024
- 無人機導航與定位試題及答案
- 《頸部肌肉與背部肌肉》課件
- 《繼電器原理及其應用》課件
- 2025年浙江中考語文二輪復習熱點題型專練:對聯(原卷版)
- 中醫藥師承考試卷及答案
- 2025年上海奉賢區初三二模中考數學試卷試題(含答案詳解)
評論
0/150
提交評論