版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 水箱水位控制系統(tǒng)設計方案</p><p><b> 1 緒論</b></p><p> 1.1 水箱水位控制系統(tǒng)研究背景及意義</p><p> 1.1.1 水箱水位控制系統(tǒng)研究背景</p><p> 水是動植物體內(nèi)和人的身體中不可缺少的物質(zhì),也可以說,如果沒有水就沒有生命的存在。同時,工農(nóng)
2、業(yè)生產(chǎn)中也不能離開水,水是工農(nóng)業(yè)生產(chǎn)中的重要原料。在工農(nóng)業(yè)的生產(chǎn)中,經(jīng)常需要控制各類液體的水位。隨著我國工業(yè)的迅猛發(fā)展,水位控制技術已被廣泛應用到石油、化工、醫(yī)藥、食品等各行各業(yè)中。低溫液體(液氧、液氮、液氬、液化天然氣和液體二氧化碳等)得到廣泛的應用,作為貯存低溫液體的容器一定要保證能承受其載荷;在發(fā)電廠、煉鋼廠中,保持正常的鍋爐汽泡水位、除氧器水位、汽輪機凝氣器水位、高、低壓加熱器水位等,是設備正常安全運行的保證;在教學與科研中,也
3、經(jīng)常遇到需要進行水位控制類的實驗。</p><p> 1.1.2 水箱水位控制系統(tǒng)研究意義</p><p> 大型水箱是許多公司生產(chǎn)過程中必不可少的部件,它的性能和工作質(zhì)量的優(yōu)良不僅僅對生產(chǎn)有著巨大的影響,而且也關系著生產(chǎn)的安全問題。在原來的工廠里,對水箱的多數(shù)操作是由相應的人員進行操作的,這樣原始的人工操作方式帶來了很大的弊端,比如水位的控制,實時監(jiān)控水箱的環(huán)境,夜間的監(jiān)控等等,一旦
4、操作員稍有疏忽,或者某個監(jiān)則器件的損壞,都將帶來無法彌補的損失,更嚴重的會危機到生產(chǎn)人員的人身安全。所以,對水箱的控制,如果能夠使用精密而又會嚴格按照生產(chǎn)規(guī)定運行的自動化系統(tǒng),就可以最大限度的避免事故的幾率,同時也能節(jié)省資源,并有效地提高了生產(chǎn)效率。</p><p> 如果從節(jié)約能源方面考慮,以往的人工控制在多數(shù)情況下,會造成資源的不必要浪費,而大部分原因都是水箱內(nèi)部水位的情況沒有及時反饋到操作員那里,從而使控
5、制上有了一定的延遲,從而造成了水量過多或沒有及時補水而導致的資源浪費甚至生產(chǎn)出現(xiàn)異常。而對水箱水位的實時監(jiān)控以及自動化系統(tǒng)的引入可以很好的改善補水過多和及時補水的情況,又可以很好的節(jié)約水資源,有效的降低了生產(chǎn)成本。</p><p> 單片機,一塊小小的芯片上集成了一臺微型計算機的各個組成部分,它的誕生使許許多多的自動化控制系統(tǒng)得以變成現(xiàn)實。80C51以它功能強大,設計簡單,成本廉價,支持指令集較多的各大優(yōu)點,應
6、用到眾多嵌入式系統(tǒng)的開發(fā)中。</p><p> 因此,基于51單片機的水箱水位控制系統(tǒng)的研究有著非凡的意義。</p><p> 水位控制一般指對某一水位進行有目的的控制調(diào)節(jié),使其達到所要求的控制精度。而液體水位的自動控制,是近幾年新開發(fā)出來的一項全新技術,它是由微型計算機軟件、硬件、自動控制等幾項技術緊密結合的產(chǎn)物,工程方面的作業(yè)采用的仍是微機控制和原有的儀表控制,微機控制有以下幾點明
7、顯的優(yōu)勢:</p><p> 1)直觀并集中顯示運行參數(shù),能顯示當前的水位狀態(tài)。</p><p> 2)在運行過程中可以隨時修改各種各樣的運行參數(shù)的控制值,并能方便的修改系統(tǒng)的控制參數(shù),可以隨意的修改水位的上限、下限。</p><p> 3)具有水位控制的自動化處理以及監(jiān)控軟件優(yōu)良的人機界面,操作人員可以在監(jiān)控計算機上根據(jù)控制效果來及時的修改運行參數(shù),這樣能有
8、效地減少工作人員的疲勞和降低失誤,提高了生產(chǎn)過程的實時性、安全性。</p><p> 綜上的幾點優(yōu)勢,便可預見計算機控制系統(tǒng)的普及是各大行業(yè)的大勢所趨。單片機在一塊小小的芯片上集成了一臺微型計算機所需的CPU、存儲器、輸入、輸出等各個部件。自單片機問世以來,它的性能就不斷提高和完善,體積小、速度快、功耗低等特點使單片機的應用領域日益廣泛。目前,多數(shù)工業(yè)控制系統(tǒng)的工作環(huán)境較差,干擾性強,利用單片機的自動控制就能輕
9、松解決這些缺點。因此,推廣單片機在控制領域的應用,使用單片機自動控制是一個很好的選擇。</p><p> 1.2水箱水位控制系統(tǒng)國內(nèi)外研究現(xiàn)狀</p><p> 目前,水箱控制系統(tǒng)的應用已不僅僅局限于大型的電廠、煤炭、鋼鐵等大型企業(yè),它以自身的控制系統(tǒng)的安全優(yōu)勢,已經(jīng)逐漸深入到一些民用產(chǎn)品。但就目前階段來講,它的制作成本還很高。比如把一臺普通的家用水箱改裝成自動化控制的水箱,從整個硬件
10、的設計和鋪設,對于民用類產(chǎn)品實施的性價還是比較高的。因此大規(guī)模的普及仍受到一些經(jīng)濟上的限制。不過,從長遠來看,隨著自動化技術的完善和硬件成本的降低,以及人們對現(xiàn)有資源的重視。水箱自動控制系統(tǒng)仍然有著廣闊的前景。</p><p> 雖然我國仍處于發(fā)展中國家,但幾乎在能源相關的所有領域中,水箱都是一個不可或缺的部件,這一點,即便是發(fā)達國家也不例外。水箱自動控制系統(tǒng)性能的優(yōu)良與否直接關系到了企業(yè)的生產(chǎn)安全和效益。近些
11、年,伴隨著我國嵌入式技術的不斷發(fā)展,我國的自動控制系統(tǒng)技術已然達到國際水平,但在很多中小型企業(yè)以及民用產(chǎn)品,大量的水箱控制仍然是采用人工控制的。隨著我國單片機技術的日趨成熟,以及單片機生產(chǎn)成本的逐漸下降,基于單片機的水箱自動控制系統(tǒng)已經(jīng)應用到中小型以及民用產(chǎn)品的領域中。而且現(xiàn)在越來越多的水箱生產(chǎn)廠商都已經(jīng)開始聘用單片機的開發(fā)人員和電路設計人員,控制系統(tǒng)已成為水箱設計的一部分,來提高自身產(chǎn)品的安全系數(shù)和高科技含量借以提高產(chǎn)品在整個市場中的
12、競爭力。</p><p> 世界上一些發(fā)達國家在單片機的新型研究、制造和應用上,早已積累了很多的經(jīng)驗,奠定了一定的基礎。進入了國際市場,我國在系統(tǒng)研究、制造、應用和經(jīng)驗這些方面,與那些發(fā)達國家相比,還存在著一些差距。不過,我國的研究人員已經(jīng)克服重重困難,在不斷地摸索前進,有望在單片機這個領域很快趕上甚至超越發(fā)達國家的技術水平,這已然是我國的發(fā)展趨勢。</p><p> 1.3水箱水位控
13、制系統(tǒng)研究發(fā)展方向</p><p> 縱觀生活中的各個領域,從追蹤導彈的導航裝置,到飛機上的各種儀表控制,從計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,到工業(yè)自動化生產(chǎn)過程中的實時控制和數(shù)據(jù)處理,以及我們?nèi)粘I钪薪?jīng)常使用的各種智能IC卡等,這些全都離不開單片機控制。在過去沒有單片機的時候,雖然這些東西也能做,但是只能使用極其復雜的模擬電路來實現(xiàn),然而這樣做的代價是:產(chǎn)品不僅體積巨大,而且成本較高,而且由于長期的使用,元器件會
14、不斷老化,控制的精度就會逐漸達不到標準。而在單片機誕生后,我們就可以把控制這些東西變?yōu)橹悄芑?,我們只需在單片機的外圍接入一些簡單的接口電路,核心部分由人為的編寫程序來完成。這樣,不僅產(chǎn)品的體積變小了,成本也降低了很多,再長期使用也不用擔心精度達不到了。所以,單片機的應用會越來越普及,在不久的將來會有更多的人來使用它。據(jù)統(tǒng)計,我國的單片機年產(chǎn)量已達到3億片,并且每年還以大約20%的速度增長,但相對于國際市場我國的占有率還不到1%。特別是沿
15、海地區(qū)的各類民用產(chǎn)品多數(shù)都用到單片機,并不斷地蔓延向內(nèi)地。所以,單片機行業(yè)在我國是有著十分廣闊前景的。</p><p><b> 2 系統(tǒng)設計</b></p><p> 2.1系統(tǒng)設計任務和主要內(nèi)容</p><p> 本系統(tǒng)主要研究基于單片機的水箱水位控制系統(tǒng)。實現(xiàn)水位顯示和報警,自動控制等功能。操作方便、性能良好。</p>
16、<p><b> 主要內(nèi)容如下:</b></p><p> 1、當水箱水位低于20%時,啟動主,備電機給水;當水箱水位高于20%而低于80%時,啟動主電機給水,備用電機停止給水;當水箱水位高于80%時,主、備電機同時停止給水。</p><p> 2、當水位低于10%的時候,由傳感器經(jīng)變送器發(fā)送信號,系統(tǒng)水位低報警;當水位高于10%而低于80%的時候
17、,系統(tǒng)水位不報警;當水位高于80%的時候,由傳感器經(jīng)變送器發(fā)送信號,系統(tǒng)水位高報警。</p><p><b> 80%</b></p><p> 20% 水箱</p><p> 10% 閥門</p><
18、p> 進水 進水</p><p> 主電機 備電機</p><p> 圖2.1 系統(tǒng)結構設計圖 </p><p><b> 2.2系統(tǒng)方案</b></p><p><b> 2.2.1總體思路</b
19、></p><p> ①水位高度的檢測:利用水位傳感器完成。</p><p> ②傳感器輸出信號處理:傳感器輸出信號,有直流電壓和直流電流之分。設計中需將這一信號進行處理,以便單片機能夠接收和處理。</p><p> ?、蹎纹瑱C控制:單片機將由前級輸入的檢測信號進行分析和處理,從而產(chǎn)生相應的控制信號。</p><p> ?、軘?shù)碼顯示
20、、電機驅(qū)動和報警電路根據(jù)單片機產(chǎn)生的控制信號,作出相應的動作。</p><p> ?、蓦姍C控制電路根據(jù)電機驅(qū)動電路的狀態(tài)作出相應的動作。</p><p><b> 2.2.2設計方案</b></p><p> 水位自動控制電路是通過水位傳感器將水位高度轉(zhuǎn)換為0—10V的直流電壓,再經(jīng)過A/D轉(zhuǎn)換后,將轉(zhuǎn)換所得的8路并行數(shù)字量送入單片機進行處
21、理來達到對水位進行自動控制的目的。通過對電壓和水位的轉(zhuǎn)換關系,最終利用單片機進行精確的控制,實現(xiàn)對水位高度的顯示、主/備電機和報警裝置的控制。</p><p> 水位自動控制器由6個部分組成,即水位傳感器、A/D轉(zhuǎn)換、單片機、數(shù)碼顯示、電機控制、報警控制部分,其總框圖如圖2.2.2所示。</p><p> 圖2.2 設計總框圖</p><p><b>
22、 2.3系統(tǒng)方案選取</b></p><p> 2.3.1傳感器選擇方案</p><p> 傳統(tǒng)的水位檢測通過設檢測點來完成對水位的檢測。通常,由于受檢測點物理體積的影響,水位檢測點的數(shù)目有限,從而影響了后續(xù)電路控制的精度。本設計采用新型水位傳感器,可以達到對水位高度的精確檢測,以利于提高后續(xù)電路控制的精度。</p><p> 2.3.2 A/D
23、轉(zhuǎn)換方案</p><p> 通過對傳感器的選擇,可知由傳感器輸出的水位高度信號是0~10V的直流電壓。在設計中,可以通過采樣、保持電路對這一信號進行處理,將模擬信號轉(zhuǎn)換為多個采樣點信號。但這種處理方法由于受電路規(guī)模和采樣精度的影響,不可能對水位信號做出精確的處理,近而也無法對電機、水位高度顯示和報警做出精確的控制。因此,本設計中采用集成芯片ADC0809對0~10V的直流電壓進行處理??梢赃_到:</p&g
24、t;<p><b> ?、匐娐泛啙?、明了。</b></p><p><b> ?、诟咿D(zhuǎn)換精度。</b></p><p><b> ③高控制精確。</b></p><p> 2.3.3單片機復位方案</p><p> RST/VPD:復位/備用電源線,可以使單
25、片機處于復位(即初始化)工作狀態(tài)。通常,單片機的復位有自動上電復位和人工按鈕復位兩種,圖2.3給出了它們的電路??紤]到,水塔與居民生活密切相關,當因特殊原因?qū)е聠纹瑱C掉電,需單片機立即自動復位(如:夜間短時間停電,導致本系統(tǒng)停止工作),故本設計采用上電復位方式。</p><p><b> 圖2.3 復位電路</b></p><p> 2.3.4單片機起振方案<
26、;/p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采用。也可以采用外部時鐘源驅(qū)動器件??紤]到設計、使用的方便,本設計中采用片內(nèi)時鐘驅(qū)動。即XTAL1和XTAL2只需外接晶振(配上相應的電容),便可以給單片機提供相應的時鐘頻率。</p><p> 2.3.5水位顯示驅(qū)動方案 </p><p>
27、 本設計中需將水塔水位高度在數(shù)碼管中進行顯示,有兩種方案選擇:</p><p> ?、倮肕AX7219進行驅(qū)動:MAX7219是一種高集成化的串行輸入/輸出的共陰極LED顯示驅(qū)動器。每片可驅(qū)動8位7段加小數(shù)點的共陰極數(shù)碼管,可以數(shù)片級聯(lián),而與微處理器的連接只需3根線。MAX7219內(nèi)部設有掃描電路,除了更新顯示數(shù)據(jù)時從單片機接收數(shù)據(jù)外,平時獨立工作,極大地節(jié)省了MCU有限的運行時間和程序資源。</p&g
28、t;<p> ?、诶?4LS48驅(qū)動數(shù)碼管:與單片機連接較為復雜,需占用單片機8個端口。且在與數(shù)碼管連接時需附加上拉電阻,用以完成數(shù)碼管的驅(qū)動。</p><p> 考慮到本設計中,需顯示的位數(shù)較少(兩位),若利用MAX7219驅(qū)動數(shù)碼管,將造成資源浪費,且MAX7219芯片價格較高,采用后大大提高成本支出。同時,隨著MAX7219的使用(對MAX7219的編程)將提高源程序的復雜度,對編譯、調(diào)試
29、和單片機運行效率都將造成影響。故設計中采用74LS48驅(qū)動數(shù)碼管顯示。 </p><p> 2.3.6電機驅(qū)動方案</p><p> 利用單片機驅(qū)動交流接觸器,進而驅(qū)動電動機的運轉(zhuǎn)。其中,在單片機的輸出端到交流接觸器間需接驅(qū)動模塊。該驅(qū)動模塊,可以由分離元件組成放大電路來實現(xiàn)對交流接觸器的驅(qū)動,也可以單使用一塊芯片實現(xiàn)。本設計中,采用一塊芯片實現(xiàn)對交流接觸器的控制。以達到使電路簡
30、潔,調(diào)試方便,易于維修的目的。</p><p> 2.3.7電機選擇方案</p><p> 電動機有支流、交流之分。異步電動機屬于交流電機的一種;另一種交流電機是同步電機。異步電機由于結構簡單,維護方便,價格便宜,所以應用最為廣泛。本設計中,采用交流電機,為了克服沿程阻力損失和高度差所產(chǎn)生的靜壓力,供水水泵的揚程應根據(jù)實際情況有所變化。 </p><p>&l
31、t;b> 3 系統(tǒng)硬件設計</b></p><p><b> 3.1單元模塊設計</b></p><p> 3.1.1 A/D轉(zhuǎn)換設計</p><p> 當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當要進行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)
32、換完全結束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應輸入2 位數(shù)據(jù)用于選擇通道功能。</p><p> 當此2 位數(shù)據(jù)為“1”、“0”時,只對CH0 進行單通道轉(zhuǎn)換。當2位數(shù)據(jù)為“1”、“1”時,只對CH1進行單通道轉(zhuǎn)換。當2 位數(shù)據(jù)為“
33、0”、“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當2 位數(shù)據(jù)為“0”、“1”時,將CH0作為負輸入端IN-,CH1 作為正輸入端IN+進行輸入。到第3 個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個脈沖下沉開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)DATA0,一個字節(jié)的
34、數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出DATA0。隨后輸出8位數(shù)據(jù),到第19 個脈沖時數(shù)據(jù)輸出完成,也標志著一次A/D轉(zhuǎn)換的結束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進行處理就可以了。</p><p> 圖3.1 A/D轉(zhuǎn)換電路</p><p> 3.1.2起振電路設計</p><p> 石英晶振起振后,應
35、能在XTAL2線上輸出一個3V左右的正弦波,以使AT89C51片內(nèi)的OSC電路按石英晶振相同頻率自激振蕩。通常,OSC的輸出時鐘頻率FOSC為0.5~16MHz,典型值為12MHz或11.0592MHz。電容C1和C2可以幫助起振,典型值為30pf,調(diào)節(jié)它們可以達到微調(diào)FOSC的目的。本設計中,晶振采用12MHz,CI和C2取30pf。其連接電路如圖3.2起振電路所示。</p><p><b> 圖3
36、.2 起振電路</b></p><p> 3.1.3液晶顯示設計</p><p> 顯示部分采用LCD1602液晶顯示,它是一個獨立的顯示模塊。其基控制器大部分為HD44780,分為有背光和無背光兩種,兩者在應用中并無差別。LCD1602顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。每次輸入指令前都要判斷液晶模塊是
37、否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如圖3.3所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等。</p><p> 圖3.3 字符代碼與字符圖形對應關系</p><p> 3.1.4電機驅(qū)動設計</p><p> 電感線圈是一種感性負載,當流過線圈的電流發(fā)生變化時線圈會
38、發(fā)生很大的反電動勢,這個反電動勢有可能損壞驅(qū)動器中的輸出晶體管。因此,為了防止驅(qū)動器損壞,線圈兩端必須加箝位二極管。圖3.4為采用SN75467驅(qū)動交流繼電器的電路圖。</p><p> 當AT89C51在P2.0上輸出低電平時,SN75467相應的輸出晶體管導通,繼電器線圈中有電流流過,繼電器吸合;當AT89C51在P2.0上輸出高電平時,驅(qū)動器相應輸出晶體管截止,繼電器線圈中無電流流過,繼電器不吸合,觸電常
39、開。在圖3.4中,二極管用于箝位線圈兩端可能出現(xiàn)的反電動勢。</p><p><b> 圖3.4 電機驅(qū)動</b></p><p><b> 3.1.5電機控制</b></p><p> ?、偃嚯妱訖C單向啟動控制:圖3.5為三相電動機單向啟動控制圖。圖中左側(cè)是主電路圖,右側(cè)是輔助電路圖。主電路構成:三相交流電源開關Q
40、S->熔斷器FU1->交流接觸器主觸頭KM->熱繼電器發(fā)熱元件FR->電動機M??刂齐娐返臉嫵桑和V拱碨B1->啟動按鈕SB2->接觸器線圈KM->熱繼電器動斷觸頭FR構成回路。從該電路圖可以知道。</p><p> ?、艈?、停止按鈕控制電動機啟動或停止。</p><p> ?、茻崛燮髯鳛槎搪繁Wo。</p><p> ?、?/p>
41、熱繼電器作為過載保護。</p><p> 圖3.5 三相電動機單向啟動控制</p><p> ?、谌嚯妱訖C單向控制(工作原理):異步電動機接入電網(wǎng)的瞬間,啟動電流大約是額定電流的4~7倍。過大的啟動電流會造成電網(wǎng)電壓的變化過大;對于啟動時間較長的電機,過大的啟動電流對電機會造成損害。所以除了小型異步電動機外,大多數(shù)異步電動機采用壓降啟動方式,以減小啟動電流。常見的降壓啟動方式有Y/△降
42、壓啟動、沿邊三角形降壓啟動、自耦變壓器降壓啟動等。本設計采用自耦變壓器降壓啟動,其工作原理如下圖所示:</p><p> 啟動 KM主觸點閉合 電機M得電運行</p><p> 按下SB2 KM線圈得電</p><p> KM常開觸點閉合 實現(xiàn)自保</p><p>
43、 停止 KM主觸點復位 電機M斷電停止</p><p> 按下SB1 KM線圈失電</p><p> KM常閉觸點斷開 自保解除</p><p> 3.1.6報警電路 </p><p> 報警電路,如圖3.6所示。當AT89C
44、51的P1.4管腳有低電平輸出時,蜂鳴器就會發(fā)出報警聲。</p><p><b> 圖3.6 報警</b></p><p><b> 3.2系統(tǒng)整機分析</b></p><p> 本設計是通過水位傳感器對水位高度百分比(0%~100%)進行采樣、量化后,輸出0~10V的直流電壓。再經(jīng)過信號處理電路將這一直流模擬量轉(zhuǎn)換
45、為8位的并行數(shù)字量,并送入單片機進行處理。在單片機中將輸入的8位數(shù)字量進行量化數(shù)為100的量化處理,并根據(jù)這一量化將水位高度控制轉(zhuǎn)化為對狀態(tài)00~99的控制,其中狀態(tài)00對應0%、狀態(tài)01對應1%、… 狀態(tài)99對應99% 。根據(jù)這一對應關系,設置三個水位控制點,分別為:10、20、80 。</p><p> ?、伲寒敔顟B(tài)在00~10時:主、備電機工作,低水位報警電路工作。</p><p>
46、 ?、冢寒敔顟B(tài)在10~20時:主、備電機工作,報警電路停止工作。</p><p> ?、郏寒敔顟B(tài)在20~80時:主電機工作、備電機停止工作,報警電路停止工作。</p><p> ?、埽寒敔顟B(tài)在80~99時:主、備電機停止工作,高水位報警電路工作。</p><p> ?、荩焊鶕?jù)狀態(tài)00~99的不同,分別將00~99輸出到數(shù)碼顯示部分。 </p>&l
47、t;p> 根據(jù)上述狀態(tài),即可分別對數(shù)碼顯示、蜂鳴器和電動機(主、備)實現(xiàn)單片機的自動化控制。</p><p><b> 4 系統(tǒng)軟件設計</b></p><p> 4.1 程序概要設計</p><p> 本系統(tǒng)的程序設計開發(fā),使用的語言為C語言。需要利用C語言進行編程,來實現(xiàn)水位高度的檢測;通過傳感器進行輸出信號的處理,再由傳感器
48、輸出信號,單片機接收;然后,單片機將剛接收輸入的檢測信號進行分析和處理,從而產(chǎn)生相應的控制信號;此時,液晶顯示、電機驅(qū)動和報警電路部分,都根據(jù)單片機產(chǎn)生的控制信號,作出相應的動作。</p><p> 設計的中心思想是:水位自動控制電路是通過水位傳感器將水位高度轉(zhuǎn)換為0—10V的直流電壓,再經(jīng)過A/D轉(zhuǎn)換后,將轉(zhuǎn)換所得的8路并行數(shù)字量送入單片機進行處理來達到對水位進行自動控制的目的。通過對電壓和水位的轉(zhuǎn)換關系,最
49、終利用單片機進行精確的控制,實現(xiàn)對水位高度的顯示、主/備電機和報警裝置的控制。</p><p> 按照以上的種種要求,設計的軟件程序必須實現(xiàn):</p><p> 1 當水箱水位低于20%時,由傳感器檢測到這一水位值,同時發(fā)送信號給單片機,單片機進行分析處理之后,給出指令,啟動主,備電機給水;而當水箱水位高于20%而低于80%時,經(jīng)過一系列的分析處理,啟動主電機給水,備用電機停止給水;當
50、水箱水位高于80%時,則根據(jù)指令讓主、備電機同時停止給水。</p><p> 2 當水位低于10%的時候,由傳感器經(jīng)變送器發(fā)送信號,單片機分析處理,系統(tǒng)識別出水位已經(jīng)過低,報警器則報警;而當水位高于10%而低于80%的時候,系統(tǒng)水位處于設定的正常值范圍之內(nèi),報警器不報警;當水位高于80%的時候,由傳感器經(jīng)變送器發(fā)送信號,單片機處理后作出指令,系統(tǒng)水位已經(jīng)過高,報警器此時馬上報警。</p><
51、p> 4.2 詳細流程圖 </p><p> 4.2.1主程序 </p><p> 如圖4.2.1—程序所示:首先對單片機寫入外圍端口地址(INT0和F8H),并開中斷1,且定義中斷為邊緣觸發(fā)方式。再將INT0的端口地址寫入F8H(ADC0832的端口地址),</p><p> 即可啟動ADC0832。隨后,單片機
52、進入等待中斷狀態(tài)。</p><p> 4.2.2 中斷子程序</p><p> 中斷子程序如圖4.2.2—中斷所示:在中斷到來后,程序轉(zhuǎn)到中斷子程序。在中斷子程序中,實現(xiàn)單片機對ADC0832轉(zhuǎn)換所得的8路并行數(shù)據(jù)的接收。并通過高度子程序?qū)崿F(xiàn)對接收所得的并行數(shù)據(jù)的量化,其量化數(shù)為100。通過量化,將輸入數(shù)據(jù)變?yōu)?~99種狀態(tài),為下一步處理作好準備。</p><p&g
53、t; 4.2.3 水位高度子程序</p><p> 如圖4.2.3—水位高度子程序所示。通過乘法指令實現(xiàn)數(shù)據(jù)的轉(zhuǎn)換:將輸入的0~10轉(zhuǎn)換為0~99,為查表指令的實現(xiàn)作好準備工作。</p><p> 4.2.4查表子程序</p><p> 如圖4.2.4—查表子程序所示,本設計通過查表指令對0~99種狀態(tài)進行處理。在處理過程中,關鍵是rel的初始值必須為0(因
54、AJMP為雙字節(jié)指令,當rel為0、2、…198時,可進行查詢),以便能夠順利的對表中數(shù)據(jù)進行查詢,并通過查詢結果作出相應的處理。在高度子程序中,將輸入數(shù)據(jù)處理為以0開始的100種狀態(tài),正是出于這一考慮。</p><p> 4.2.5狀態(tài)子程序 </p><p> 根據(jù)查表所得的結果,可以轉(zhuǎn)到不同的子程序中,如圖4.2.5—表00~99所示。通過這些控制子程序(ROUT00~ROUT
55、99),可以對輸入數(shù)據(jù)做出不同處理,</p><p><b> — — —</b></p><p> 4.2.6 狀態(tài)控制子程序</p><p> 本設計中共用到四種控制狀態(tài),其控制方式如圖4.2.6—狀態(tài)控制子程序所示。在這四種狀態(tài)中包括了電機控制、報警控制。其中有兩種狀態(tài)需要報警,分別是水位低于1m和水位高于8m時。</p>
56、;<p> ?、女斔坏陀?m時:蜂鳴器發(fā)出間斷的蜂鳴聲(報警控制0)。</p><p> ?、飘斔桓哂?m時,蜂鳴器發(fā)出不間斷的蜂鳴聲(報警控制1)。</p><p><b> 有電機的狀態(tài)三種:</b></p><p> ?、伲褐?、備電機同時工作。</p><p> ?、冢褐麟姍C工作、備用電機工作。
57、</p><p> ?、郏褐?、備電機停止工作。</p><p><b> 4.3 源程序</b></p><p><b> ?、?主程序</b></p><p> #include<reg52.h> //頭文件</p><p> #define uc
58、har unsigned char //宏定義</p><p> #define uint unsigned int</p><p> sbit beep=P1^4;</p><p> //sbit Relay=P1^5;</p><p> sbit LED_H=P1^6;</p><p> sbit L
59、ED_L=P1^7;</p><p> sbit K1=P3^5;</p><p> sbit K2=P3^6;</p><p> sbit K3=P3^7;</p><p> uchar H_lim=11,L_lim=7;</p><p> uchar ad_dat1=0; //讀取濾波后的AD值<
60、;/p><p> uchar Water_dat=0;</p><p> uchar set_flag=0;</p><p> /***************************************************</p><p> 函數(shù)名稱:延時子函數(shù)</p><p><b> 函數(shù)
61、功能:按鍵消抖</b></p><p> ***************************************************/</p><p> void delayms(uint xms)</p><p><b> {</b></p><p><b> uint i,j
62、;</b></p><p> for(i=xms;i>0;i--)</p><p> for(j=110;j>0;j--);</p><p><b> }</b></p><p> #include "ADC0832.H"</p><p> #
63、include"1602.C"</p><p> void key()</p><p><b> {</b></p><p><b> if(K1==0)</b></p><p><b> {</b></p><p> de
64、layms(10);</p><p><b> if(K1==0)</b></p><p><b> {</b></p><p> set_flag++;</p><p> if(set_flag>2)</p><p> set_flag=0;</p&g
65、t;<p> while(!K1);</p><p><b> }</b></p><p><b> }</b></p><p> switch(set_flag)</p><p><b> {</b></p><p><b
66、> case 1:</b></p><p><b> if(K2==0)</b></p><p><b> {</b></p><p> delayms(10);</p><p><b> if(K2==0)</b></p><p
67、><b> {</b></p><p> if(H_lim<99)</p><p><b> H_lim++;</b></p><p> while(!K2);</p><p><b> }</b></p><p><b>
68、; }</b></p><p> else if(K3==0)</p><p><b> {</b></p><p> delayms(10);</p><p><b> if(K3==0)</b></p><p><b> {</b&
69、gt;</p><p> if(H_lim>0)</p><p><b> H_lim--;</b></p><p> while(!K3);</p><p><b> }</b></p><p><b> }</b></p>
70、<p><b> break;</b></p><p><b> case 2:</b></p><p><b> if(K2==0)</b></p><p><b> {</b></p><p> delayms(10);<
71、/p><p><b> if(K2==0)</b></p><p><b> {</b></p><p> if(L_lim<99)</p><p><b> L_lim++;</b></p><p> while(!K2);</p&g
72、t;<p><b> }</b></p><p><b> }</b></p><p> else if(K3==0)</p><p><b> {</b></p><p> delayms(10);</p><p><b&
73、gt; if(K3==0)</b></p><p><b> {</b></p><p> if(L_lim>0)</p><p><b> L_lim--;</b></p><p> while(!K3);</p><p><b>
74、}</b></p><p><b> }</b></p><p><b> break;</b></p><p> default: break;</p><p><b> }</b></p><p><b> }<
75、/b></p><p> void control()</p><p><b> {</b></p><p> static uchar i=0;</p><p><b> if(i<10)</b></p><p><b> i++;</
76、b></p><p><b> else</b></p><p><b> i=0;</b></p><p> if(Water_dat<L_lim)</p><p><b> {</b></p><p><b> LED
77、_H=0;</b></p><p><b> LED_L=1;</b></p><p><b> if(i<5)</b></p><p><b> beep=0;</b></p><p><b> else</b></p&
78、gt;<p><b> beep=1;</b></p><p><b> }</b></p><p> else if(Water_dat>H_lim)</p><p><b> {</b></p><p><b> LED_H=1;&l
79、t;/b></p><p><b> LED_L=0;</b></p><p><b> if(i<5)</b></p><p><b> beep=0;</b></p><p><b> else</b></p>&l
80、t;p><b> beep=1;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> LED_H=0;</b>&l
81、t;/p><p><b> LED_L=1;</b></p><p><b> beep=1;</b></p><p><b> }</b></p><p><b> }</b></p><p> void main()&l
82、t;/p><p><b> {</b></p><p> uint AD_DAT=0;</p><p> uchar i=0;</p><p> init_1602();</p><p><b> while(1)</b></p><p><
83、;b> {</b></p><p> if(i<10) // 濾</p><p><b> {</b></p><p><b> i++;</b></p><p> AD_DAT+=A_D();// 波</p><p><b
84、> }</b></p><p> else// 算</p><p><b> {</b></p><p> i=0;// 法</p><p> ad_dat1=(uchar)(AD_DAT/10);</p><p> if(ad_dat1>3)
85、</p><p> {Water_dat=(uchar)((ad_dat1-3)/2.6);}</p><p><b> else</b></p><p> Water_dat=0;</p><p><b> AD_DAT=0;</b></p><p><b
86、> }</b></p><p><b> key();</b></p><p> control();</p><p> display();</p><p><b> }</b></p><p><b> }</b>&l
87、t;/p><p><b> ?、?AD轉(zhuǎn)化</b></p><p> /*****************************************************</p><p> 功能:將模擬信號轉(zhuǎn)換成數(shù)字信號</p><p> ************************************
88、***************/</p><p> sbit ADC0832_CS=P1^2;</p><p> sbit ADC0832_CLK=P1^1;</p><p> sbit ADC0832_DIO=P1^0;</p><p> unsigned int A_D()</p><p><b&g
89、t; {</b></p><p> unsigned char i,dat;</p><p> ADC0832_CS=1; //一個轉(zhuǎn)換周期開始</p><p> ADC0832_CLK=0; //為第一個脈沖作準備</p><p> ADC0832_CS=0; //CS置0,片選有效</p>&l
90、t;p> ADC0832_DIO=1; //DIO置1,規(guī)定的起始信號 </p><p> ADC0832_CLK=1; //第一個脈沖</p><p> ADC0832_CLK=0; //第一個脈沖的下降沿,此前DIO必須是高電平</p><p> ADC0832_DIO=1; //DIO置1, 通道選擇信號 </p>
91、;<p> ADC0832_CLK=1; //第二個脈沖,第2、3個脈沖下沉之前,DI必須跟別輸入兩位數(shù)據(jù)用于選擇通道,這里選通道CH0 </p><p> ADC0832_CLK=0; //第二個脈沖下降沿 </p><p> ADC0832_DIO=0; //DI置0,選擇通道0</p><p> ADC0832_CLK=1;
92、 //第三個脈沖</p><p> ADC0832_CLK=0; //第三個脈沖下降沿 </p><p> ADC0832_DIO=1; //第三個脈沖下沉之后,輸入端DIO失去作用,應置1</p><p> ADC0832_CLK=1; //第四個脈沖</p><p> for(i=0;i<8;i++)
93、 //高位在前</p><p><b> {</b></p><p> ADC0832_CLK=1; //第四個脈沖</p><p> ADC0832_CLK=0; </p><p> dat<<=1; //將下面儲存的低位數(shù)據(jù)向右移</p><p>
94、; dat|=(unsigned char)ADC0832_DIO; //將輸出數(shù)據(jù)DIO通過或運算儲存在dat最低位 </p><p> } </p><p> ADC0832_CS=1; //片選無效 </p><p> return dat; //將讀書的數(shù)據(jù)返回 </p><
95、p><b> }</b></p><p><b> ?、?液晶顯示</b></p><p> sbit EN=P2^7;</p><p> sbit RS=P2^5;</p><p> sbit RW=P2^6;</p><p> unsigned char
96、LCD1602_Table[]="0123456789:-";</p><p> //LCD1602顯示標尺 0123456789abcdef</p><p> unsigned char dis_tab1[]={"Water level:--cm"};</p><p> unsigned char dis_tab
97、2[]={" H:--cm L:--cm "};</p><p> void write_date(uchar date)</p><p><b> {</b></p><p><b> EN=0;</b></p><p><b> RS=1;</b&g
98、t;</p><p><b> P0=date;</b></p><p><b> EN=0;</b></p><p> delayms(5);</p><p><b> EN=1;</b></p><p><b> }</b&
99、gt;</p><p> void write_com(uchar date)</p><p><b> {</b></p><p><b> EN=0;</b></p><p><b> RS=0;</b></p><p><b>
100、 P0=date;</b></p><p><b> EN=0;</b></p><p> delayms(5);</p><p><b> EN=1;</b></p><p><b> }</b></p><p> void in
101、it_1602()</p><p><b> {</b></p><p> unsigned char i;</p><p><b> RW=0;</b></p><p> write_com(0x38);</p><p> write_com(0x0c);<
102、/p><p> write_com(0x06);</p><p> write_com(0x01);</p><p> write_com(0x80);</p><p> for(i=0;i<16;i++)</p><p> {write_date(dis_tab1[i]);}</p><
103、;p> write_com(0x80+0x40);</p><p> for(i=0;i<16;i++)</p><p> {write_date(dis_tab2[i]);}</p><p><b> }</b></p><p> void display()</p><p&g
104、t;<b> {</b></p><p> static unsigned char i;</p><p><b> i++;</b></p><p><b> if(i>10)</b></p><p><b> i=0; </b>&l
105、t;/p><p> write_com(0x80+12);</p><p> write_date(LCD1602_Table[Water_dat%100/10]);</p><p> write_date(LCD1602_Table[Water_dat%10]);</p><p> write_com(0x80+3+0x40);<
106、/p><p> if(set_flag==1&&i<5)</p><p><b> {</b></p><p> write_date(' ');</p><p> write_date(' ');</p><p><b>
107、}</b></p><p><b> else</b></p><p><b> {</b></p><p> write_date(LCD1602_Table[H_lim%100/10]);</p><p> write_date(LCD1602_Table[H_lim%10]
108、);</p><p><b> }</b></p><p> write_com(0x80+11+0x40);</p><p> if(set_flag==2&&i<5)</p><p><b> {</b></p><p> write_d
109、ate(' ');</p><p> write_date(' ');</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> w
110、rite_date(LCD1602_Table[L_lim%100/10]);</p><p> write_date(LCD1602_Table[L_lim%10]);</p><p><b> }</b></p><p><b> }</b></p><p><b> 結
111、 論</b></p><p> 本文主要介紹了水箱水位的自動控制系統(tǒng),介紹了AT89C51單片機和其它一些單片機在水位控制系統(tǒng)中的應用,并介紹了它們的引腳和在系統(tǒng)中的電路圖,本設計還采用了傳感器來實現(xiàn)對液位的信號采集,利用LCD來進行信號的輸出顯示。此次設計的硬件系統(tǒng)追求結構簡化,系統(tǒng)精度高,并設有液位顯示和自動報警等,使得一旦有問題便能立即發(fā)現(xiàn)。水箱水位控制在設定值上正常運行時不需要人工干預,操作
112、人員勞動強度小。</p><p> 本次的設計是基于單片機的水箱自動控制系統(tǒng),主要核心就是AT89C51單片機。通過這次的畢業(yè)設計,我運用到了大學四年所學知識去分析和解決問題,我深刻的了解和掌握了單片機的控制原理和設計方法。不但加深和回顧了單片機等專業(yè)知識,而且積累到單片機技術在實際中的運用經(jīng)驗。</p><p> 由于缺乏在實踐設計中的經(jīng)驗,所以在此次的設計中我也發(fā)現(xiàn)了自己很多不足的
113、方面,從論文方面的總體結構到具體設計中硬件的相關知識和經(jīng)驗的不足使得一開始設計和論文存在了很多的問題,但是在我的導師馬東老師的細心指導下,經(jīng)過前后多次的修改和完善,最終完成了畢業(yè)設計。在這次的畢業(yè)設計中,我意識到,在以后的日子里,要多多地理論聯(lián)系實際,把我們所學的理論知識運用到實際當中,只有這樣才能提高自己的專業(yè)能力和綜合素質(zhì),成為一個對社會具有價值的人。</p><p><b> 致 謝</
114、b></p><p> 本文是在馬東老師的細心指導下完成的。承蒙馬東老師的親切關懷和精心指導,雖然有繁忙的工作,但仍抽出了大量時間給予我學術上的指導和幫助,從總體設計的確定和修改,開題報告,期中檢查,到后期的詳細設計,每一步都是在馬老師的幫助下完成的,從這個過程中我獲益匪淺。馬東老師淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,誨人不倦的高尚師德,嚴以律己、寬以待人的崇高風范,樸實無華、平易近人的人
115、格魅力對我影響深遠。通過這次論文的設計使我掌握了基本的研究方法,樹立了遠大的學術目標。在此,謹向馬東老師致以深深的敬意和由衷的感謝。</p><p> 并且,我還要感謝大學四年來所有教過我們的老師,為我們打下自動化專業(yè)知識的基礎;同時還要感謝我的同學們,正是因為有了你們的支持和鼓勵,這次畢業(yè)設計才會順利完成。</p><p> 在這里,請你們接受我誠摯的謝意!</p>&
116、lt;p><b> 參考文獻</b></p><p> [1]李萍.51系列單片機叢書AT80C51單片機原理、開發(fā)與應用實例[M].北京:中國電力出版社,2008:27~54</p><p> [2]李書旗,沈金榮.液位測量傳感器系統(tǒng)的設計與實現(xiàn)[J].北京電子工業(yè)出版社,2009:2131~2133</p><p> [3]蔡
117、黎.一種基于單片機的水位控制系統(tǒng)設計[J].南京電子出版社,2007:44~45</p><p> [4]陳霞,白小軍.基于單片機的液位監(jiān)控系統(tǒng)[J].武漢理工大學學報,2007:3~5</p><p> [5]陳新昌,王萬章,李祥付.單片機在水位控制中的應用[J].中國科技信息出版社,2006:89~94</p><p> [6]彭軍.傳感器與檢測技術[M]
118、.陜西:西安電子科技大學出版社,2003:32~65</p><p> [7]余永權.單片機在控制系統(tǒng)中的應用[M].北京:電子工業(yè)出版社,2003:15~46</p><p> [8]孫儷.工業(yè)水箱系統(tǒng)[M].北京:中國電子出版社,2007:44~60</p><p> [9]張慶國. 8051單片機在工業(yè)生產(chǎn)中的應用[M].北京:電力電子技術,2009:2
119、4~50</p><p> [10]林青,孫利.電子綜合技術[M].北京:中國北京大學出版社,2006:33~57</p><p> [11]陳劍橋.單片機接口技術[M].北京:綜合出版社,2008:22~53</p><p> [12]孫清云,楊立波. 51系列單片機開發(fā)管理[M].北京:北京工業(yè)大學出版社,2009:23~47</p><
120、;p> [13]梁振宇.電子電路線路叢書[M].北京:中國電子技術大學出版社,2005:27~40</p><p> [14]孫領海,張宇萍.工業(yè)技術基礎[M].北京:中國教育出版社,2006:13~38</p><p> [15]青云山,馬蘇梅.單片機系列應用[M].重慶:西南大學出版社,2009:26~41</p><p> [16]陳宇.電子工程
121、技術[M].哈爾濱:哈爾濱工業(yè)大學出版社,2003:43~62</p><p> [17]馬佳明.嵌入式工程技術[M].山東:山東大學出版社,2004:33~54</p><p> [18]李麗萍.單片機語言技術[M].北京:北京大學出版社,2009:56~72</p><p> [19]Quarette J. Made the principle of th
122、ermal plant equipment concise manual. [J] . Evaluation,1999:22~25</p><p> [20]Laugman R. Embedded System Control System. US Patent 2000:16~32</p><p><b> 附錄A 英文原文</b></p>&l
123、t;p> Programmable designed for electro-pneumatic systems controller</p><p> This project deals with the study of electro-pneumatic systems and the programmable controller that provides an effective and
124、easy way to control the sequence of the pneumatic actuators movement and the states of pneumatic system. The project of a specific controller for pneumatic applications join the study of automation design and the control
125、 processing of pneumatic systems with the electronic design based on microcontrollers to implement the resources of the controller.</p><p> 1. Introduction</p><p> The automation systems that
126、use electro-pneumatic technology are formed mainly by three kinds of elements: actuators or motors, sensors or buttons and control elements like valves. Nowadays, most of the control elements used to execute the logic of
127、 the system were substituted by the Programmable Logic Controller (PLC). Sensors and switches are plugged as inputs and the direct control valves for the actuators are plugged as outputs. An internal program executes all
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水箱水位模糊控制系統(tǒng)仿真建模
- 水箱水位模糊控制系統(tǒng)仿真作業(yè)
- 淺談水箱水位單片機控制系統(tǒng)
- 計算機課程設計——水箱水位控制系統(tǒng)設計
- 水箱水位控制畢業(yè)設計
- 溫度控制系統(tǒng)設計方案
- 基于單片機的水箱水位控制系統(tǒng)設計(doc畢設論文)
- 模糊控制—水位控制系統(tǒng)設計
- mcgs水位控制系統(tǒng)設計
- 智能照明控制系統(tǒng)設計方案
- 灌溉控制系統(tǒng)項目設計方案
- 水位控制系統(tǒng)畢業(yè)設計
- 水位控制系統(tǒng)課程設計--基于mcgs組態(tài)軟件的水位控制系統(tǒng)
- 水塔水位控制系統(tǒng)
- 水箱溫度控制系統(tǒng)畢業(yè)設計
- 下水箱液位控制系統(tǒng)設計
- 畢業(yè)設計----水塔水位控制系統(tǒng)
- 自動水位控制系統(tǒng)
- 畢業(yè)設計--水塔水位控制系統(tǒng)設計
- 中央空調(diào)系統(tǒng)節(jié)能控制系統(tǒng)設計方案
評論
0/150
提交評論