基于單片機的恒壓供水系統(tǒng)設計(附原理圖、程序清單及外文翻譯)_第1頁
基于單片機的恒壓供水系統(tǒng)設計(附原理圖、程序清單及外文翻譯)_第2頁
基于單片機的恒壓供水系統(tǒng)設計(附原理圖、程序清單及外文翻譯)_第3頁
基于單片機的恒壓供水系統(tǒng)設計(附原理圖、程序清單及外文翻譯)_第4頁
基于單片機的恒壓供水系統(tǒng)設計(附原理圖、程序清單及外文翻譯)_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE基于單片機的恒壓供水系統(tǒng)設計摘要:本設計是在深入研究當前多種恒壓供水方案的基礎上,創(chuàng)造性地提出“定頻副電機+變頻主電機+低端MCU”的低成本高效能恒壓供水方案。設計通過控制變頻器的輸出頻率從而自動調節(jié)水泵電機的轉速,實現管網水壓的閉環(huán)調節(jié)(PID),使供水系統(tǒng)自動恒穩(wěn)于設定的壓力值。用戶可以自行設定水管中的水壓,低功耗低噪音高性能高壽命的特點使得本設計在同類產品中脫穎而出。使用KeilC和Proteus等先進EDA軟件進行了高效率地設計實現和仿真驗證。關鍵詞:恒壓,高效率,水泵轉速,變頻器目錄1 前言 11.1 設計背景 11.2 設計目標 21.3 實施計劃 22 總體方案設計 32.1 方案比較 32.1.1 方案一 32.1.2 方案二 32.1.3 方案三 42.2 方案論證 52.3 方案選擇 63 單元模塊設計 73.1 各單元模塊功能介紹及電路設計 73.1.1 水管壓力測量模塊 73.1.2 時鐘模塊設計及與器件選擇 83.1.3 復位電路的設計 83.1.4 按鍵接口模塊設計 93.1.5 A/D轉換模塊 103.1.6 D/A轉換模塊 113.1.7 顯示模塊設計 123.1.8 電機控制設計 123.1.9 穩(wěn)壓電源模塊 133.2 特殊器件的介紹 143.2.1 變頻器介紹 143.2.2 DAC0832介紹 163.2.3 ADC0809介紹 173.2.4 74LS245介紹 203.2.5 單片機AT89C51 213.3 各單元模塊的聯接 234 軟件設計 244.1 軟件設計原理及設計所用工具 244.2 主程序流程圖 244.2.1 T0中斷服務程序 254.2.2 獨立按鍵程序設計 284.2.3 LED動態(tài)顯示程序模塊的設計 305 系統(tǒng)調試 325.1 Proteus仿真軟件介紹 325.2 軟件調試 355.2.1 水管壓力顯示的仿真 355.2.2 恒壓值的仿真 386 結論 407 總結與體會 418 謝辭 429 參考文獻 43附1系統(tǒng)的原理電路圖 44附2系統(tǒng)的相關程序 45附3外文文獻翻譯-譯文 53附4外文文獻翻譯-原文 59PAGE81第頁前言近年來,隨著居民區(qū)的不斷擴建與改造,樓房層數的不斷加高,我國居民用水難問題越來越突出,特別是高層建筑居民,原有的自來水管網的壓力出現不足,大部分地區(qū)普遍存在著用水高峰期高層供不上水,高層居民經常出現用水難問題,給生活帶來極大不便。這種用水難問題在大城市表現尤為突出。針對上述問題,本文研制了變頻調速恒壓供水系統(tǒng),該系統(tǒng)是以管網水壓為設定參數,通過控制變頻器的輸出頻率從而自動調節(jié)水泵電機的轉速,實現管網水壓的閉環(huán)調節(jié)(PID),使供水系統(tǒng)自動恒穩(wěn)于設定的壓力值。即用水量增加時,頻率升高,水泵轉速加快,供水量相應增大,當用水量超過一臺泵的供水量時,通過控制器加泵;用水量減少時,頻率降低,水泵轉速減慢,供水量相應減小。也就是根據用水量的大小,由供水控制器控制水泵數量以及變頻器對水泵的調速,來實現恒壓供水。同時達到供水效率的目的“用多少水,供多少水”。采用該供水系統(tǒng)不需建造高位水箱,水塔,水質無二次污染,是一種理想的現代化建筑供水方案。此外,恒壓供水系統(tǒng)對于某些上業(yè)或特殊用戶是非常重要的。例如在某些生產過程中,若自來水供水因故壓力不足或短時斷水,可能影響產品質量,嚴重時使產品報廢和設備損壞。又如發(fā)生火災時,若供水壓力不足或無水供應,不能迅速滅火,可能引起重大經濟損失和人員傷亡。所以,某些用水區(qū)采用恒壓供水系統(tǒng),具有較大的經濟和社會意義。設計背景隨著居民區(qū)的不斷擴建與改造,樓房層數的不斷加高,我國居民用水難問題越來越突出,特別是高層建筑居民,原有的自來水管網的壓力出現不足,大部分地區(qū)普遍存在著用水高峰期高層供不上水,高層居民經常出現用水難問題,給生活帶來極大不便。這種用水難問題在大城市表現尤為突出。由于能源的問題不得不改變以往的供水方案,來改變在供水中的能源浪費問題,在國內外已有很多關于很壓供水的研究,其中主要由兩種,一是基于單片機加通用變頻器的恒壓供水,一是基于PLC加專用變頻器的恒壓供水,兩種各有自己的特點,第一種價格便宜,通用性強,易于操作,不需專業(yè)人員就能操作,而后者價格高,對專業(yè)知識要求高,非專業(yè)人員不易操作,但是其抗干擾能力強,在市場上也有很大的應用,但是大多數人需要一個即便宜又容易操作的恒壓供水系統(tǒng),本設計就利用單片機和通用變頻器來設計此恒壓供水系統(tǒng),并通過對系統(tǒng)的優(yōu)化來消除此系統(tǒng)的缺點,也就是來提高單片機系統(tǒng)的抗干擾能力,來體現其通用性強,易于操作的優(yōu)點。設計目標該系統(tǒng)主要以單片機為主控模塊,通過控制變頻器的輸出頻率從而自動調節(jié)水泵電機的轉速,實現管網水壓的閉環(huán)調節(jié),使供水系統(tǒng)自動恒穩(wěn)于設定的壓力值,實現恒壓供水。即用水量增加時,頻率升高,水泵轉速加快,供水量相應增大;用水量減少時,頻率降低,水泵轉速減慢,供水量相應減小。采用該供水系統(tǒng)不需建造高位水箱或水塔,水質無二次污染,是一種理想的現代化建筑供水方案。本次設計的預期目標是:完成系統(tǒng)硬件電路的設計,并繪制出相應的原理電路圖;完成所需控制軟件的流程設計和編程任務。實施計劃3月下旬至4月初,查閱和收集文獻資料;4月初至4月中旬,提出設計方案,并對方案進行比較和論證,選出最佳方案;4月中旬至5月初,完成硬件電路設計;5月初月至五月中旬完成相關軟件編程;5月中旬至5月底進行系統(tǒng)的模擬測試;6月上旬撰寫設計報告,并準備畢業(yè)設計答辯。

總體方案設計通過查閱大量相關技術資料,并結合自己的實際知識,我主要提出了三種技術方案來實現系統(tǒng)功能。下面我將首先對這三種方案的組成框圖和實現原理分別進行說明,并分析比較它們的特點,然后闡述我最終選擇方案的原因。方案比較方案一單單片機開關A/D轉換恒速泵壓機變頻泵壓機D/A轉換壓力傳感器管網水壓圖2-1方案一的原理框圖方案一系統(tǒng)由泵機和可變頻網絡組成。如圖2-1所示,以80C196為核心構成控制器,將設定值與壓力反饋值進行PID運算。系統(tǒng)通過壓力傳感器將電器部分與泵組聯系起來,構成閉環(huán)系統(tǒng)。方案二方案二系統(tǒng)由變頻器、控制器、傳感器、主副兩個水泵電機及相關電氣控制設備集成而成,是一種具有變頻調速和全自動閉環(huán)控制功能的機電一體化智能設備。它可同時對二臺三相380/50Hz,異步電動機行變頻調速和閉環(huán)控制,其系統(tǒng)組成示意圖如圖2-2所示。從下圖中我們可以看到,自動恒壓供水控制系統(tǒng)的基本控制策略是:采用電動機調速裝置與供水控制器構成控制系統(tǒng),進行優(yōu)化控制泵組的調速運行,并自動調整泵組的運行臺數,完成供水壓力的閉環(huán)控制,在管網流量變化時達到穩(wěn)定供水壓力和節(jié)約電能的目的。4位LED顯示4位LED顯示上位機通信四位獨立式鍵盤AT89C51變頻器M2(工頻)A/D轉換D/A輸出壓力傳感器M1(變頻)圖2-2方案二的原理框圖調節(jié)水壓專用變頻器水泵電機管道壓力傳感器壓力給定調節(jié)水壓專用變頻器水泵電機管道壓力傳感器壓力給定圖2-3方案三的原理框圖系統(tǒng)由專用變頻器、壓力傳感器、水泵等組成。如圖2-3。專用變頻器就是指有內置PID功能的變頻器。隨著電力電子技術的飛速發(fā)展變頻器的功能也越來越強。充分利用變頻器內置的各種功能,對變頻調速恒壓供水設備進行合理的設計。國外不少生產廠家近年來紛紛推出了一系列新型產品。如ABB公司的ACS600,ACS400系列產品,富士公司的G11S/P11S系列產品。這些產品將PID調節(jié)器以及簡易可編程控制器的功能都綜合進變頻器內,形成了帶有各種應用的新型變頻器。方案論證方案一的工作流程是80C196為核心構成控制器,將設定值與壓力反饋值進行PID運算。系統(tǒng)通過壓力傳感器將電器部分與泵組聯系起來,構成閉環(huán)系統(tǒng)。運算結果以0-10v的電壓信號輸給變頻器,實現恒壓供水。方案二整個系統(tǒng)的具體工作流程為:系統(tǒng)通過安裝在出水總管上的壓力傳感器,將供水管網的非電量信號(動態(tài)壓力)轉變成電信號,輸入至供水控制器的輸入模塊,信號經單片機運算處理后與設定的信號進行比較運算,得出偏差值,再經過PID處理得出最佳的運行工況參數,并將其轉換成模擬信號,由系統(tǒng)的輸出部分輸出變頻器的頻率設定值至變頻調速器,變頻調速器控制水泵的轉數來調節(jié)管網內的實際壓力值趨向于設定壓力值,從而實現閉環(huán)控制的恒壓供水。對于多臺泵調速的方式,控制器控制泵站投運水泵的臺數及變量泵的運行工況,并實現對每臺水泵根據CPU指令實施軟啟動、軟切換及變頻運行。系統(tǒng)通過計算判定目前是否己達到設定壓力,決定是否增加(投入)或減少(撤出)水泵。即:當一臺水泵工作頻率達到最高頻率時,若管網水壓仍達不到預設水壓,則將啟動令一臺工頻泵運行,(此設計只用兩臺電機且功率達到設計要)此后,往復工作,直至滿足設定壓力要求為止。反之,若管網水壓大于預設水壓,控制器控制變頻器頻率降低,使變頻泵轉速降低,當頻率低于下限時自動切掉一臺工頻泵或此變頻泵,始終使管網水壓保待恒定??傊?,系統(tǒng)可根據用戶用水量的變化,自動確定泵組的水泵的循壞運行,以提高系統(tǒng)的穩(wěn)定性及供水的質量。系統(tǒng)系統(tǒng)由變頻器、控制器、傳感器、主副兩個水泵電機及相關電氣控制設備集成而成。該變頻恒壓供水控制器以單片機為核心,在水泵的出水管道上安裝一個壓力傳感器,用于檢測管道壓力,并把出口壓力變成0--5V的模擬信號,送到單片機系統(tǒng)的A/D轉換輸入端,再經A/D轉換變成相應的數字信號,送入單片機進行數據處理。單片機經運算后與設定的壓力進行比較,得出偏差值,再經PID調節(jié)得出控制參數,經D/A轉換變成0—5V的模擬信號,送入變頻器中,以控制其輸出頻率的大小,以此改變水泵的電機轉速,從而達到控制管道壓力的目的。當實際管道壓力小于給定壓力時,變頻器輸出頻率升高,電機轉速加快,管道壓力升高;反之,頻率降低,電機轉速減小,管道壓力降低。其變過程可以表示如下:檢測壓力(下降)――控制器輸出(上升)――變頻器頻率(上升)――電機轉速(上升),反之相反,最終達到恒壓。方案三由專用變頻器與PLC組成的恒壓供水系統(tǒng),這類變頻器的功能雖然強一些,但是價格比通用變頻器卻要高很多。此種類型供水設備的花費不光體現在變頻器上,還體現在PLC上,市場上PLC的價格也要高于單片機的價格。使其工作時需要專業(yè)人員通過變頻器的控制面板,在變頻器的PID選項中選擇合適的PID參數,再經過現場調試校正,設備才可以正常運行。整個操作過程都必須有專業(yè)人員的界入。因此,通用性不好,這是這種變頻恒壓供水方案的另外一個缺點。綜上所述,其有下面兩個缺點。1.價格比較昂貴,不適合小型用戶的使用。2.調試不方便,需要專業(yè)人事到現場進行調試,這也增加了人力的投入資本。方案選擇方案二采用壓力傳感器反饋電壓信號(0-5V)至變頻器中央處理器(MCU),經PID控制組成閉環(huán)控制系統(tǒng)。其輸出頻率的大小由作用MCU處理器控制,使電機的轉速自動增加或降低;當變頻主電機由變頻器拖動運行至最大頻率,壓力如還不能達到設定的壓力值,則MCU自動啟動定頻副電機,以期保持供水壓力恒定。這樣不但減小了電動機的無功功率,而且提高了水泵的工作效率,節(jié)約了能源。采用變頻控制方式;其操作方便,無須手動調節(jié)進水閥門;啟動噪音低,由于啟動電流很小,減小了對電網的沖擊,保護了用電設備。而且其系統(tǒng)實現起來比較簡單,并且系統(tǒng)價格相對來說也比較便宜,所以本次設計將采用方案二。單元模塊設計本節(jié)主要介紹系統(tǒng)各單元模塊的具體功能、電路結構、工作原理、以及各個單元模塊之間的聯接關系;同時本節(jié)也會對相關電路中的參數計算、元器件選擇、以及核心器件進行必要說明。各單元模塊功能介紹及電路設計本系統(tǒng)主要分為9個單元模塊,它們分別是:水管壓力測量模塊、時鐘模塊、復位模塊、按鍵接口模塊、A/D轉換模塊、D/A轉換模塊、顯示模塊、穩(wěn)壓電源模塊。各單元模塊功能及相關電路的具體說明如下。水管壓力測量模塊圖3-1水管壓力測量電路要測量出水管的電壓就需要壓力傳感器。本次設計采用壓電傳感器來測量水管壓力。壓阻式傳感器是利用晶體的壓阻效應制成的傳感器。當它受到壓力作用時,應變元件的電阻發(fā)生變化,從而使輸出電壓發(fā)生變化。一般壓阻式傳感器是在硅膜片上做成四個等值的電阻的應變元件,構成惠斯特電橋。當受到壓力作用時,一對橋臂的電阻變大,而另一對橋臂電阻變小,電橋失去平衡,輸出一個與壓力成正比的電壓。由于硅壓阻式壓力傳感器的靈敏系數比金屬應變的靈敏系數大50~100倍,故硅壓阻式壓力傳感器的滿量程輸出可達幾十毫伏至二百多毫伏,有時不需要放大就可直接測量。另外壓阻式傳感器還有易于微型化,測量范圍寬,頻率響應好(可測幾千赫茲的脈動壓力)和精度高等特點。但在使用過程中,要注意硅壓阻式壓力傳感器對溫度很敏感,在具體的應用電路中要采用溫度補償。目前大多數硅壓阻式傳感器已將溫度補充電路做在傳感器中,從而使得這類傳感器的溫度系數小于±0.3%的量程。如圖3-1所示。時鐘模塊設計及與器件選擇圖3-2時鐘電路時鐘電路用于產生單片機工作所需要的時鐘信號,單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在惟一的時鐘信號控制下嚴格地按時序進行工作。該時鐘電路由兩個電容和一個晶體振蕩器組成。X1是接外部晶體管的一個引腳。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。輸出端為引腳X2,在芯片的外部通過這兩個引腳接晶體振蕩器和微調電容,形成反饋電路,構成一個穩(wěn)定的自激振蕩器。單片機工作的速度是由時鐘電路提供的。在單片機的XTAL1和XTAL2兩個引腳間,接一只晶振及兩只電容就構成了單片機的時鐘電路,如圖3-2所示。電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路的參數。電路中電容C1和C2對振蕩頻率有微調作用,通常的取值范圍30±10pF;石英晶體選擇6MHz或12MHz都可以。其結果只是機器周期時間不同,影響記數器的記數初值和運算速度。復位電路的設計單片機的RST引腳為主機提供一個外部復位信號輸入端口。復位信號是高電平有效的持續(xù)時間應為2個機器周期以上。復位后,單片機內部各部件恢復到初試狀態(tài),單片機從ROM的0000H開始執(zhí)行程序。單片機復位電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多人在設計完單片機系統(tǒng),并在實驗室調試成功后,在現場卻出現了“死機”、“程序走飛”等現象,這主要是單片機的復位電路設計不可靠引起的。在單片機應用系統(tǒng)工作時,除了進入系統(tǒng)正常的初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位鍵以重新啟動。所以,系統(tǒng)的復位電路必須準確、可靠地工作。圖3-3 復位電路單片機的復位都是靠外部電路實現的,在時鐘電路工作后,只要在單片機的RST引腳上出現24個時鐘振蕩脈沖以上的高電平,單片機便實現初始化狀態(tài)復位。為了保證應用系統(tǒng)可靠地復位,在設計復位電路時,通常使RST保持高電平。只要RST保持高電平,則單片機就循環(huán)復位。本次設計采用上電自動復位電路。由于R?C電路充電過程中,RST端出現正脈沖,從而使單片機復位。按鍵接口模塊設計本系統(tǒng)采用獨立式按鍵,獨立式按鍵的各按鍵相互獨立,每個按鍵都有一個輸入線,各按鍵的狀態(tài)互不影響,CPU需對按鍵狀態(tài)分別檢測,只適用于按鍵數量較少的場合。在此電路中,按鍵輸入部分采用低電平有效,上拉電阻保證了按鍵斷開時,I/0口線有確定的電平。在掃描時,先讀取P0口的四位,若某位為低電平,應先延時l0ms,然后再讀取該位,如果讀得的值仍為低電平,可確認此鍵已按下,然后調用該鍵的鍵處理子程序,各鍵的優(yōu)先級別由軟件安排。依據本次的設計要求我們大體分析在自動部分需要4個按鍵,因此我們選擇獨立式鍵盤。在電路仿真當中,為了體現效果,把最小步進臨時改成了5。按下啟停鍵后,系統(tǒng)將壓力傳感器傳過來的信號進行轉換后進入單片機,顯示出當前的水壓。按下設置鍵后,系統(tǒng)顯示出設定的壓力值,如果對設置的水壓進行調整,通過增減鍵,可以進行單位為5的調整。如圖3-4所示,電路由4個按鍵和4個電阻組成,按鍵分別命名為【啟停鍵】、【設置鍵】、【增一鍵】和【減一鍵】,共四個鍵,電阻可以采用9腳排阻(8×10KΩ)?!締⑼fI】功能:啟動/停止,執(zhí)行開始自動運行和停止功能;【設置鍵】功能:設置,與【加一鍵】和【減一鍵】鍵配合對壓力進行調整,開始設置?!驹鲆绘I】鍵功能:+1,與【設置鍵】鍵配合對壓力進行調整,【加一鍵】鍵每按下一次則進行數據進行+1操作?!緶p一鍵】鍵功能:-1,與【設置鍵】鍵配合對壓力進行調整,【減一鍵】鍵每按下一次則進行數據進行-1操作。圖3-4 按鍵接口電路A/D轉換模塊計算機、數字通訊等數字系統(tǒng)是處理數字信號的電路系統(tǒng)。然而,在實際應用中,遇到的大都是連續(xù)變化的模擬量,因此,需要一種接口電路將模擬信號轉換為數字信號。A/D轉換器正是基于這種要求應運而生的。由于壓力傳感器傳過來的信號為模擬信號,在接入前要加A/D轉換電路將模擬信號轉換為數字信號,本次設計采用常用的A/D轉換芯片ADC0809.如圖3-5所示。圖3-5 A/D轉換電路D/A轉換模塊圖3-6D/A轉換電路D/A轉換電路用我們比較熟悉的DAC0832來作,DAC0832采用了二次緩沖輸入數據方式(輸入寄存器及DAC寄存器)。這樣可以在輸出的同時,采集下一個數字量,以提高轉換速度。如圖3-6所示。顯示模塊設計但片機應用系統(tǒng)中,通常都需要進行人—機對話。這包括人對應用系統(tǒng)的狀態(tài)干預與數據輸入,以及應用系統(tǒng)向人們顯示運行結果等。顯示器、鍵盤電路就是用來完成人機對話的人—機通道。本次設計中要求作到4組LED顯示,LED顯示器的控制方式為靜態(tài)顯示和動態(tài)顯示兩種,因此在選擇LED驅動時,一定要先確定顯示方式。若選擇靜態(tài)顯示,則LED驅動器的選擇較為簡單,只要驅動器的驅動能力與顯示器電流相匹配即可。而且只須要考慮段的驅動因為共陽極接+5V,而共陰接地,所以位的驅動不要考慮。動態(tài)顯示則不同,由于一位數據的顯示是由段選和位選信號共同配合完成的,因此,要同時考慮段和位的驅動能力,而且段的驅動能力決定位的驅動能力。如圖3-7所示。圖3-7顯示模塊電路電機控制設計壓力傳感器將壓力信號經過A/D轉換后輸入到單片機,如果壓力和設定壓力有偏差,單片機將控制變頻器調頻使壓力值穩(wěn)定,當變頻主電機由變頻器拖動運行至最大頻率,壓力如還不能達到設定的壓力值,則MCU自動啟動定頻副電機,以期保持供水壓力恒定。這樣不但減小了電動機的無功功率,而且提高了水泵的工作效率,節(jié)約了能源。圖3-8電機控制電路穩(wěn)壓電源模塊大部分的電子電路與電子設備都需要有一個穩(wěn)定的直流電源提供能量,而且對于我們通常所接觸的控制器而言,一般都是利用電網提供的交流電源,經過整流、濾波、穩(wěn)壓后,濾去其不穩(wěn)定的脈動、干擾成分,提供一個穩(wěn)定的直流電壓,來使電子電路與電子設備保持正常的工作。并且,我們目前絕大部分電子電路與電子設備都是使用線性電源,即通過降壓、整流、濾波、穩(wěn)壓后提供穩(wěn)定的直流電壓給電子電路及芯片工作的。固定式三端穩(wěn)壓電源(7805)是由輸出腳Vo,輸入腳Vi和接地腳GND組成,它的穩(wěn)壓值為+5V,它屬于CW78xx系列的穩(wěn)壓器,輸入端接電容可以進一步的濾波,輸出端也要接電容可以改善負載的瞬間影響,此電路的穩(wěn)定性也比較好。由于固定式三端穩(wěn)壓電源(7805)的輸出電流有1.5A,而本次設計電路電流在1A到2A之間,考慮到電路的一般余量在2倍到3倍左右。故本次設計電源電路需要采用擴流電路,如圖3-9。圖3-9穩(wěn)壓電源電路采用外接PNP型大功率管的方法,這是一種最基本的擴展電流電路,擴展的輸出電流取決于外接功率管的電流負載量,電路中的R1是VT的偏置電阻,為VT1提壓導通時的基極偏壓,VT與集成穩(wěn)壓器內電路中的NPN型調整管組成復合管,設Ir為流過電阻R1中的電流,Ic為流過外接調整管的集電極電流,Td為7805的靜態(tài)工作電流,這時7805的輸出電流為Ioxx,可表示式中為VT的電流放大系數,穩(wěn)壓擴展后的輸出電流Io可表示為。因為7805的的最大輸出電流為1.5A,當Io取1.5A時,則穩(wěn)壓器的擴展后的輸出電流為3A,加一只二極管VD與R1并聯,把外接整流管的VT1的發(fā)射結電阻限制在0.7V以內,當輸出電流超過額定植時,保護電阻R2上的壓降增大,必然會使VT1的Vbe減小,從而使VT1的輸出電流減小,以至不導通,這樣便達到了保護外接管的目的。電路中的VT1可選用3CD6等PNP型硅低頻大功率管。特殊器件的介紹本系統(tǒng)中主要使用了如下一些功能器件:DAC0832,ADC0809,變頻器。下面就這些器件的功能特點、主要參數和使用方法作相應說明。變頻器介紹通用變頻器的選擇包括變頻器的型式選擇和容量選擇兩個方面。其總的原則是首先保證可靠地實現工藝要求,再盡可能節(jié)省資金。表3-1三菱FR-500系列標準規(guī)格型號FR-A540-K-CH0.75.5適用電機容量(KW)(注1)0.75.5輸出額定容量(KVA)(注2)1.9額定電流(A)2.546912過載能力(注2)150%60s200%0.5s(反時限特性)電壓(注4)三相380V至480V50Hz/60Hz再生制動轉矩最大值·允許使用率100%轉矩·2%ED電源額定輸入交流電壓、頻率三相380V至480V50Hz/60Hz交流電壓允許波動范圍323至528V50Hz/60Hz允許頻率波動范圍±5%電源容量(KVA)(注5)912保護結構(JEM1030)封閉型(IP20NEMA1)(注6)冷卻方式自冷強制風冷大約重量(㎏)連同DU3.56.0根據控制功能可將通用變頻器分為三種類型:普通功能型V/F控制變頻器、具有轉矩控制功能的高性能型V/F控制變頻器(也稱無跳閘變頻器)和矢量控制高性能型變頻器。變頻器類型的選擇要根據負載的要求進行。對于風機、泵類等平方轉矩,低速下負載轉矩較小,通??蛇x擇普通功能型的變頻器。對于恒轉矩類負載或有較高靜態(tài)轉速精度要求的機械采用具有轉矩控制功能的高功能型變頻器則是比較理想的。因為這種變頻器低速轉矩大,靜態(tài)機械特性硬度大,不怕負載沖擊,具有挖土機特性。為了實現大調速比的恒轉矩調速,常采用加大變頻器容量的辦法。對于要求精度高、動態(tài)性能好、響應快的生產機械(如造紙機械、軋鋼機等),應采用矢量控制高功能型通用變頻器。大多數變頻器容量可從三個角度表述:額定電流、可用電動機功率和額定容量。其中后兩項,變頻器生產廠家由本國或本公司生產的標準電動機給出,或隨變頻器輸出電壓而降低,都很難確切表達變頻器的能力。選擇變頻器時,只有變頻器的額定電流是一個反映半導體變頻裝置負載能力的關鍵量。負載電流不超過變頻器額定電流是選擇變頻器容量的基本原則。1.負荷的調速范圍。在調速范圍不大的情況下,選擇較為簡易的V/F控制方式的變頻器。當調速范圍很大時,應考慮采用有反饋的矢量控制方式。2.恒轉矩負載只是在負荷一定的情況下負載阻轉矩是不變的,但對于負荷變化時其轉距仍然隨負荷變化。當轉矩變動范圍不大時,可選擇較為簡易的V/F控制方式的變頻器,但對于轉矩變動范圍較大的負載,應考慮采用無反饋的矢量控制方式。3.如果負載對機械特性的要求不高,可考慮選擇較為簡易的V/F控制方式的變頻器,而在要求較高的場合,則必須采用有反饋的矢量控制方式。在眾多變頻器中基于運行可靠性、價格適中我們選定三菱公司出品的FR-500系列。由式(3-1)和所要求的調速范圍90~1500r/min我們可以計算出變頻的范圍:(3-1)(3-2)即頻率的調節(jié)范圍為~之間,另外,考慮到此前我們選用的YVP100L1-4型變頻電機其標稱功率P=2.2KW,額定電流IN=5.2A,對于三菱公司的FR-500系列變頻器標準規(guī)格型號的查看,如上表3-1所示,擬選用FR-A540-2.2K-CH型號的變頻器DAC0832介紹下面我就把DAC0832芯片各引腳功能介紹一下,圖3-9為其管腳圖:ILE:允許輸入鎖存。CS:片選信號。它與ILE結合起來用以控制WR1是否作用。WR1:寫信號1。在CS和ILE有效下,用它將數字輸入并鎖存于輸入寄存器中。WR2:寫信號2。在XFER有效下,用它將輸入寄存器中的數字傳送到8位DAC寄存器中。XFER:傳送控制信號,用它來控制了WR2是否起作用。在控制多個DAC0832同時輸出時特別有用。D0~D7:8位數字輸入,D0為最低位。Iout1:DAC電流輸出1。它是邏輯電平為1的各位輸出電流之和。Iout2;DAC電流輸出2。它是邏輯電平為0的各位輸出電流之和。Rfb:反饋電阻,該電阻被制作在芯片內,用作運算放大器的反饋電阻。VREf:基準電壓輸入,可以超出±10V范圍,芯片用于四象限乘時,為模擬電壓輸入。Vcc:邏輯電源。+5V~+15V,最佳用+15V。圖3-9DAC0832引腳圖AGND:模擬地。芯片模擬信號接地點。DGND:數字地,芯片數字信號接地點。LE是寄存器鎖存命令,當LE=“1”時,寄存器的輸出隨輸入變化;當LE=“0”時,數據鎖存在寄存器中,而不再隨數據總線上的數據變化而變化。若ILE=“1”、CS=“0”與WR1=“0”時,使輸入寄存器的LE=“1”,當WR1變?yōu)椤?”時,輸入寄存器便將數據鎖存。同樣。若XFER=“0”且WR2=“0”時,使得DAC寄存器的LE=“1”,DAC寄存器的輸出隨輸入變化,當WR2上升沿時,將輸入寄存器中的信息鎖存在DAC寄存器中。圖中的RFB是片內電阻,為外部運放提供反饋電阻,用以輸出適當電壓。VREF端是外電路提供的+10V至-10V的參考電源,Iout1與Iout2是兩個電流輸出端。欲將輸入數字量轉換為模擬量,只要使WR2=“0”、XFER=“0”,DAC寄存器為不鎖存狀態(tài);當ILE=“1”,CS和WR1端接負脈沖信號,即可完成一次轉換?;蛘呤筗R1=“0”,CS=“0”,ILE=“l(fā)”,即輸入寄存器為不鎖存狀態(tài),當WR2和XFER端接負脈沖信號,也可達到同樣目的。ADC0809介紹1.主要特性

1)8路8位A/D轉換器,即分辨率8位。

2)具有轉換起??刂贫恕?/p>

3)轉換時間為100μs

4)單個+5V電源供電

5)模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準。

6)工作溫度范圍為-40~+85攝氏度

7)低功耗,約15mW。

2.外部特性(引腳功能)圖3-10ADC0809引腳圖ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖3-10所示。下面說明各引腳功能。IN0~IN7:8路模擬量輸入端。

2-1~2-8:8位數字量輸出端。

ALE:地址鎖存允許信號,輸入,高電平有效。

START:A/D轉換啟動信號,輸入,高電平有效。

EOC:A/D轉換結束信號,輸出,當A/D轉換結束時,此端輸出一個高電平(轉換期間一直為低電平)。

OE:數據輸出允許信號,輸入,高電平有效。當A/D轉換結束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數字量。

CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。

REF(+)、REF(-):基準電壓。

Vcc:電源,單一+5V。

GND:地。ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動A/D轉換,之后EOC輸出信號變低,指示轉換正在進行。直到A/D轉換完成,EOC變?yōu)楦唠娖剑甘続/D轉換結束,結果數據已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平時,輸出三態(tài)門打開,轉換結果的數字量輸出到數據總線上。3.內部結構表3-2ADC0809通道選擇CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809由一個8路模擬開關、一個地址鎖存與譯碼器、一個A/D轉換器和一個三態(tài)輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態(tài)輸出鎖器用于鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉換完的數據。A/D轉換器的主要技術指標是轉換誤差、分辨率、轉換速度。ST為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態(tài)。D7-D0為數字量輸出線。CLK為時鐘輸入信號線。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。ADC0809通道選擇表如表3-2所示。8位A/D8位A/D轉換器IN0IN1IN2IN3IN4IN5IN6IN78路A/D轉換器ABCALE地址鎖存與譯碼D0D1D2D3D4D5D6D7VCCGND三態(tài)輸出鎖存器EOCOEVREF(+)VREF(-)圖3-11ADC0809芯片的內部邏輯結構74LS245介紹圖3-1274LS245引腳圖74LS245是我們常用的芯片,用來驅動led或者其他的設備,用法很簡單如上圖,這里簡單的給出一些資料,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數據。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數據。當片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;DIR=“1”,信號由A向B傳輸;當/CE為高電平時,A、B均為高阻態(tài)。單片機AT89C51AT89C51是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含4Kbytes的可反復察寫的只讀程序存儲器和128bytes的隨機存取數據存儲(RAM),器件采用ATMEL公司的高密度、非易失性存儲器技術生產,兼容MCS-51的指令系統(tǒng),片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89C51引腳圖如圖3-13所示:圖3-13單片機引腳圖主要性能參數:與MCS-51產品指令系統(tǒng)完全兼容、4K字節(jié)可重察寫Flash閃速存儲器、全靜態(tài)操作0HZ—24MHZ、32個可編程I/O口線、2個16位定時/計數器、6個中斷源、低功耗空閑和掉電模式。引腳功能:Vcc:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數據總線復用口,作為輸出口用時,每位能吸收8個TTL邏輯門電路,對端口寫1可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址和數據總線復用,在訪問期間激活內部上拉電阻。在Flash編程是P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:P1口是一個帶上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動4個TTL邏輯門電路。對端口寫1,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。Flsah編程和程序校驗期間,P1就收低8位地址。P2口:P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動4個TTL邏輯門電路。對端口寫1,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數據存儲器時,P2口送出高8位地址數據。在訪問8位地址的外部數據存儲器時,P2口線上的內容,在整個訪問期間不改變。Flash編程或校驗時,P2亦就收高位地址和其它控制信號。P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動4個TTL邏輯門電路。對P3口寫入1是,它們被內部上拉電阻拉高并作為輸入口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流。表3-3P3口第二功能端口引腳第二功能P3.0串行輸入口P3.1串行輸出口P3.2外中斷0P3.3外中斷1P3.4定時/計數器0P3.5定時/計數器1P3.6外部數據存儲器寫選通P3.7外部數據存儲器讀選通P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表所示:P3口還接受一些用于Flash閃速存儲器編程和程序校驗的控制信號。RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器,EA端必須保持低電平。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內部程序存儲器中的指令。Flash存儲器編程是,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器的及內部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端.各單元模塊的聯接完成各模塊的設計后,模塊按照功能的不同連接成整體的電路圖。各模塊的具體聯接圖見附錄一。軟件設計軟件設計原理及設計所用工具軟件的主要功能是根據系統(tǒng)的工作原理,框圖,先制定各部分程序的流程圖,然后再根據流程圖編寫各部分程序,通過調試各部分程序運行正確無誤后,再進行主程序的調試,看是否能實現預期的功能。系統(tǒng)能否完全正常工作,最主要的也是最關鍵的是看軟件程序是否正確,它關系到系統(tǒng)功能的實現,可以說,軟件是一個系統(tǒng)的靈魂。本設計所使用的軟件工具如下:1.開發(fā)平臺:KeilC51;2.編寫語言:C/C++;KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),是目前最流行開發(fā)80C51系列單片機的軟件,提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(micro;Vision)將這些部份組合在一起。與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。

KeilC51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。KeilC51語言編譯工具都是以ANSL-C作為基礎進行開發(fā)的,因此,一種C語言環(huán)境下所編寫的C語言程序,只需將部分與硬件相關的地方和編譯連接的參數進行適當修改,就可方便移植到另外一種系列上。也就是說,基于C語言環(huán)境下的嵌入式系統(tǒng)能基本達到平臺的無關性。用C語言開發(fā)的代碼便于開發(fā)小組計劃項目,靈活管理,分工合作以及后期維護,基本上可以杜絕因開發(fā)人員變化而給項目進度,后期維護或升級所帶來的影響。從而保證整個系統(tǒng)的品質,可靠性以及可升級性。主程序流程圖恒壓供水控制器對生活供水、消防供水系統(tǒng)進行監(jiān)控,要求軟件具有高可靠性、高穩(wěn)定性、高抗干擾能力,檢測信號準確,有良好的動靜態(tài)性能,該軟件按結構化流水設計,分為若干功能部分,采用C語言編寫。本設計的軟件主程序用來動態(tài)顯示系統(tǒng)的壓力,壓力的采樣和系統(tǒng)的控制環(huán)節(jié)都在中斷處理程序中,主流程圖如圖4-1:主程序初始化,開T0中斷,設置T0為10ms的中斷主程序初始化,開T0中斷,設置T0為10ms的中斷壓力的動態(tài)顯示按鍵處理子程序YN是否鍵按下開始圖4-1主程序流程圖T0中斷服務程序主要包括:A/D轉換程序;D/A轉換程序;控制程序。程序流程圖如下:如圖4-2示,變頻器控制M1電機,M2電動機由單片機控制,其標志位為M2。1.A/D轉換子程序其主要任務是把壓力傳感器檢測的壓力轉換成數字量,并送入單片機處理,程序見附錄。2.D/A轉換子程序其主要任務是把經PID處理過的數據轉換成模擬量,來控制變頻器輸出電壓的頻率,來控制水泵的轉速,以達到控制供水壓力的目的。讀A/D轉換器讀A/D轉換器返回Y進入T0中斷PID調節(jié)是否為最大值標志位M2是否為1是否為最小值標志位M2是否為1NYY置標志位M2為1,(開M2電機)。PID調節(jié)數據送D/A轉換器清標志位M2為0,(關M2電機)NNNNY圖4-2T0中斷服務程序流程圖3.PID調節(jié)程序本設計就是通過單片機實現的PID調節(jié)器來實現水壓的恒定,并自動調節(jié)水泵的數量。在工業(yè)控制過程中,目前采用最多的控制方式仍然是PID方式。PID有幾個重要的功能:提供反饋控制;通過積分作用可以消除穩(wěn)態(tài)誤差:通過微分作用預測將來。由于PID控制器具有簡單而固定的形式,在很寬的操作條件范圍內,另一方面是因為PID控制器允許工程技術人員以一種簡單而直接的方式來調節(jié)系統(tǒng)性能,其程序見附錄。數字PID控制算法通常分為位置式PID控制算法和增量式PID控制算法。隨著計算機技術的發(fā)展,在控制工程中,用計算機PID控制算法來實現數字PID控制器,組成計算機控制系統(tǒng)??梢造`活的改變PID參數,同時可以改變控制策略來達到控制目的。這是模擬PID控制器中所無法實現的。這里所說的控制策略是數字PID的改進算法,如積分分離PID控制算法、不完全微分PID控制算法、微分先行PID控制算法和帶死區(qū)的PID控制算法等。在各個控制階段采取各種控制方法,以此來獲得控制目標。本設計采用增量式PID控制,下面把增量式PID控制算法介紹一下:1)增量式PID控制算法所謂增量式PID是指數字控制器的輸出只是控制量的增量Δu(k)。離散的PID表達式為:(4-1)當執(zhí)行機構需要的是控制量的增量(如驅動步進電機)時,可由式(4-1)導出提供增量的PID控制算法。根據遞推原理可得(4-2)用式(4-1)減去(4-2),可得(4-3)其中:式(4-3)稱為增量式PID控制算法。可以看出,由于一般計算機控制系統(tǒng)采用恒定的采樣周期T,一旦確定了KP,KI,KD,只要使用前后三次測量值的偏差,即可有(4-3)求出控制增量。采用增量式算法時,計算機輸出的控制增量Δu(k)對應的是本次執(zhí)行機構位置的增量。對應閥門實際位置的控制量,目前采用較多的是利用如上算式并通過執(zhí)行軟件來完成。獨立按鍵程序設計1)程序設計思路按鍵接收子程序主要是實現對當前設定壓力的調整。根據按鍵電路的設計可知,當【SET】鍵按下時可以產生中斷請求,CPU響應中斷請求時,則進入該中斷服務程序。在程序中,將對當前設定的壓力進行調整,利用【SET】、【+1】和【-1】鍵配合使用,每次對【+1】鍵的按下則進行累加;同樣對【-1】鍵按下則進行減1操作。開始開始置無鍵按下(P0口FFH)標志進入鍵盤處理程是否有鍵按下?(讀P0口值)調延時子程序是否有鍵按下?(再次讀P0口值)確認有鍵按下保存鍵值YYNN圖4-3鍵盤掃描程序流程圖2)按鍵去抖動的處理開始開始為F7H否?為EFH否為FBH否?為DFH否?讀鍵值(P0口)置標志位執(zhí)行RUN置標志位執(zhí)行SET執(zhí)行+1執(zhí)行-1返回YNYYYNNNN圖4-4按鍵處理程序流程圖由于機械觸點的彈性作用,在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動時間的長短由按鍵的機械特性決定,一般為5~10ms。而按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數秒。鍵抖動會引起一次按鍵被誤讀多次,為了確保CPU對鍵的一次閉合僅作一次處理,按鍵的抖動可以用硬件或者軟件方法來消除。本次設計中采用軟件方法來消除按鍵抖動,具體的鍵盤掃描程序框圖如圖4-3所示。而按鍵處理的程序框圖如圖4-4所示。讀取P0口的值于(11000011)二進制數或運算再到鍵盤處理程序中處理,以屏蔽高兩位和低兩位對程序的影響。LED動態(tài)顯示程序模塊的設計在采用動態(tài)掃描顯示方式時,要使得LED顯示比較均勻,又有足夠的亮度,需要設置適當的掃描頻率。當掃描頻率在70Hz左右時,能夠產生足夠的圖形和較好的顯示效果。一般可以采用時間間隔10ms對LED進行動態(tài)掃描一次,每一位LED的顯示時間為1ms。在單片機中,定時器功能既可以由硬件(定時/記數器)實現,也可以通過軟件定時程序實現。軟件延時程序占用CPU的時間,因此,它降低了CPU的利用率;硬件定時是利用單片機片內定時器,啟動以后定時器可與CPU并行工作,不占用CPU的時間,使得CPU有較高的工作效率。本設計采用硬件定時和軟件定時并用的方式,即用定時器1溢出中斷功能實現10ms定時,通過軟件延時程序實現1ms的定時。T1定時器中斷服務程序的功能,從顯示緩沖區(qū)分別取出4位LED顯示數據的位碼和段碼,送P0口,依次顯示每一位,顯示4位需要4ms的時間。在設定時間時候,對當前需要調整的設定值應具有閃爍功能,用來提醒當前處于設置狀態(tài)。保護現場關T1中斷保護現場關T1中斷把DATA1中數據寫到DATA中根據CLK,送位選COM端恢復現場,開T1中斷,恢復T1初值返回四位顯示是否結束YNCOM+1圖4-5LED動態(tài)顯示程序程序流程圖進入T1中斷系統(tǒng)調試本章對系統(tǒng)的各模塊進行了仿真調試。Proteus仿真軟件介紹Proteus軟件是LabcenterElectronics公司的一款電路設計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術,它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比如MCS-51系列、PIC系列等等,以及單片機外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。軟件仿真有很多特點和優(yōu)勢,如:可以隨意方便的更換和改變電路中的器件及線路,仿真的過程中不會損壞器件,從而降低了產品開發(fā)的成本。本文中由于我們主要使用Proteus軟件在單片機方面的仿真功能,所以我們重點研究ISIS模塊的用法,在下面的內容中,如不特別說明,我們所說的Proteus軟件特指其ISIS模塊。我們首先來熟悉一下Proteus的界面。Proteus是一個標準的Windows窗口程序,和大多數程序一樣,沒有太大區(qū)別,其啟動界面如圖5-1所示:圖5-1Proteus啟動界面如圖中所示,區(qū)域①為菜單及工具欄,區(qū)域②為預覽區(qū),區(qū)域③為元器件瀏覽區(qū),區(qū)域④為編輯窗口,區(qū)域⑤為對象拾取區(qū),區(qū)域⑥為元器件調整工具欄,區(qū)域⑦為運行工具條。首先點擊啟動界面區(qū)域③中的“P”按鈕(PickDevices,拾取元器件)來打開“PickDevices”(拾取元器件)對話框從元件庫中拾取所需的元器件。在對話框中的“Keywords”里面輸入我們要檢索的元器件的關鍵詞,比如我們要選擇項目中使用的AT89C51,就可以直接輸入。輸入以后我們能夠在中間的“Results”結果欄里面看到我們搜索的元器件的結果。在對話框的右側,我們還能夠看到我們選擇的元器件的仿真模型、引腳以及PCB參數。這里有一點需要注意,可能有時候我們選擇的元器件并沒有仿真模型,對話框將在仿真模型和引腳一欄中顯示“NoSimulatorModel”(無仿真模型)。那么我們就不能夠用該元器件進行仿真了,或者我們只能做它的PCB板,或者我們選擇其他的與其功能類似而且具有仿真模型的元器件。

搜索到所需的元器件以后,我們可以雙擊元器件名來將相應的元器件加入到我們的文檔中,那么接著我們還可以用相同的方法來搜索并加入其他的元器件。當我們已經將所需的元器件全部加入到文檔中時,我們可以點擊“OK”按鈕來完成元器件的添加。添加好元器件以后,下面我們所需要做的就是將元器件按照我們的需要連接成電路。首先在元器件瀏覽區(qū)中點擊我們需要添加到文檔中的元器件,這時我們就可以在瀏覽區(qū)看到我們所選擇的元器件的形狀與方向,如果其方向不符合你的要求,你可以通過點擊元器件調整工具欄中的工具來任意進行調整,調整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按相同的操作即可完成所有元器件的布置,接下來是連線。事實上Proteus的自動布線功能是如此的完美以至于我們在做布線時從來都不會覺得這是一項任務,而通常像是在享受布線的樂趣。布線時我們只需要單擊選擇起點,然后在需要轉彎的地方單擊一下,按照你所需走線的方向移動鼠標到線的終點單擊即可。

ComponentMode:組件模式,點擊該按鈕,能夠顯示出區(qū)域③中的元器件,以便我們選擇。SelectionMode:選擇模式,通常情況下我們都需要選中它,比如布局時和布線時。WireLabelMode:線路標簽模式,選中它并單擊文檔區(qū)電路連線能夠為連線添加標簽。經常與總線配合使用。

TextScriptMode:文本模式,選中它能夠為文檔添加文本。

BusesMode:總線模式,選中它能夠在電路中畫總線。關于總線畫法的詳細步驟與注意事項我們在下面會進行專門講解。

TerminalsMode終端:模式,選中它能夠為電路添加各種終端,比如輸入、輸出、電源、地等等。

VirtualInstrumentsMode:虛擬儀器模式,選中它我們能夠在區(qū)域③中看到很多虛擬儀器,比如示波器、電壓表、電流表等等。好了,下面我們就來添加電源。首先點擊,選擇終端模式,然后在元器件瀏覽區(qū)中點擊POWER(電源)來選中電源,通過區(qū)域⑥中的元器件調整工具進行適當的調整,然后就可以在文檔區(qū)中單擊放置電源了。放置并連接好線路的電路圖一部分如圖5-2所示。圖5-2演示電路圖連接好電路圖以后我們還需要做一些修改。由上圖我們可以看出,圖中的R1電阻值為10k,這個電阻作為限流電阻顯然太大,將使發(fā)光二極管D1亮度很低或者根本就不亮,影響我們的仿真結果。所以我們要進行修改。修改方法如下:首先我們雙擊電阻圖標,這時軟件將彈出“EditComponent”對話框(見下圖所示的對話框),對話框中的“ComponentReferer”是組件標簽之意,可以隨便填寫,也可以取默認,但要注意在同一文檔中不能有兩個組件標簽相同;“Resistance”就是電阻值了,我們可以在其后的框中根據需要填入相應的電阻值。填寫時需注意其格式,如果直接填寫數字,則單位默認為Ω;如果在數字后面加上K或者k,則表示kΩ之意。這里我們填入270,表示270Ω。

修改好各組件屬性以后就要將程序(HEX文件)載入單片機了。首先雙擊單片機圖標,系統(tǒng)同樣會彈出“EditComponent”對話框,如下圖。在這個對話框中我們點擊“Programfiles”框,來打開選擇程序代碼窗口,選中相應的HEX文件后返回,這時,按鈕左側的框中就填入了相應的HEX文件,我們點擊對話框的“OK”按鈕,回到文檔,程序文件就添加完畢了。裝載好程序,我們就可以進行仿真了。首先來熟悉一下上面第一個圖中區(qū)域⑦的運行工具條。因為比較簡單,我們只作一下介紹。工具條從左到右依次是“Play”、“Step”、“Pause”、“Stop”按鈕,即運行、步進、暫停、停止。下面我們點擊“Play”按鈕來仿真運行,效果如下圖所示,可以看到系統(tǒng)按照我們的程序在運行著,而且我們還能看到其高低電平的實時變化。如果我們已經觀察到了結果就可以點擊“Stop”來停止運行。如圖5-3所示。圖5-3仿真加載程序圖軟件調試水管壓力顯示的仿真為了能夠實現仿真,在仿真時用滑動變阻器來模擬水管水壓。通過調節(jié)電阻的大小來改變水管的水壓值。在調節(jié)電阻值的時候,顯示管上所顯示的值隨之變化。合上按鍵電路中的啟停鍵系統(tǒng)工作。用戶通過開閉【啟停鍵】來控制系統(tǒng)的開關,當開關【啟停鍵】未合上時,系統(tǒng)不工作,顯示管顯示FREE.如圖5-4所示。當開關【啟停鍵】合上時,系統(tǒng)開始工作,顯示出當前水壓,調節(jié)滑動變阻器顯示值的大小隨其變化。如圖5-5所示。圖5-4顯示仿真圖5-5模擬壓力傳感器仿真恒壓值的仿真圖5-6恒壓值顯示合上設置鍵后,系統(tǒng)顯示出恒定壓力值,通過增減鍵可以調節(jié)其大小。單片機把信息輸入DAC0832后將數字信號轉換為模擬信號,通過變頻器后調節(jié)水泵的轉速,用來保持恒定的水壓。如圖5-6所示,為開始設定的恒壓值。系統(tǒng)設定的開始恒壓值是150。因為恒壓力的需求不同,就要根據不同用戶的需要來調整恒壓值。合上設置鍵后,按增一鍵一下,數值增加5,減一鍵一下,數值減少5。這樣就可以調節(jié)所需要的壓力。如圖5-7所示,按可三下增一鍵后顯示165。圖5-7調節(jié)后的恒壓值顯示

結論本論文的研究主要完成了以下內容:通過對變頻恒壓供水控制系統(tǒng)的工作原理和控制原理的分析,用單片機匯編語言結合硬件電路,設計出以AT89C51為核心的恒壓供水控制器。并將數值PID算法應用到變頻恒壓供水控制器中,使得用戶在使用時更加方便快捷。變頻調速恒壓供水是現代化城市和生活小區(qū)供水的發(fā)展方向,采用單片機控制的變頻供水系統(tǒng)具有工作可靠、實現容易、價格低廉等特點,是較理想的控制器。當然由于自己能力所限和時間的緊迫,這個設計還有很多缺陷,無法應用于實際,在電路設計方面也有考慮不足,由于沒能做出實物,還無法對電路進行調試。只有在以后的工作中去完善。

總結與體會經歷兩個多月的時間,本次畢業(yè)設計:基于單片機的恒壓供水系統(tǒng)設計已經圓滿完成。本設計完成的是應用在工業(yè)生活領域的實踐性設計。通過這次的畢業(yè)設計,我基本上掌握了一般的設計步驟:首先明確設計任務,以及工業(yè)生產和社會生活所要求控制達到的具體的技術指標通過討論思考及必要的簡單實驗和實際考查完成對總體工業(yè)生產實際系統(tǒng)的了解;進而要對整個設計系統(tǒng)經過深入的方案論證、計算以及聯系實際的生產工況、生產條件、企業(yè)經濟等一系列條件,確立自己的設計方案,然后就是對自己確立的方案進行硬件實現,包括所用元器件選型,以及控制部分整個單片機系統(tǒng)的硬件選型與設計。我進行了軟件部分的設計,我經過流程圖繪制,搞清楚各個部分實現的功能,進而對整個系統(tǒng)進行軟件編程實現,到此基本上這個系統(tǒng)設計已經完成大半雖然完成了設計工作,但由于本人的時間和能力有限,所以目前還有很多不足之處,有待進一步的完善與發(fā)現:在日常生活中,深夜的用水量很小,采用單純變頻調速供水設備容易使水泵頻繁啟停,影響水泵的壽命。針對這種情況,我們可以考慮再在原有供水設備的基礎上,附加一個小氣壓罐和一臺穩(wěn)壓水泵組成一個副系統(tǒng)。這樣在用水量很小時,主系統(tǒng)(由變頻器控制的主供水泵)自動切斷,而由副系統(tǒng)供水從而防止了主供水泵的頻繁啟動。

謝辭在本次畢業(yè)設計過程中我的指導教師陳永強老師給予了我無私的幫助與耐心的指導,期間解決了我在設計過程中的許許多多的疑問,同時對于自己設計過程中的某些知識盲點也耐心地給予講述,從而使得自己的畢業(yè)設計能順利完成。在此,對于陳永強老師的無私幫助表示最真誠的感謝。同時,整個設計過程得到了信息工程系的大力幫助,提供了很好的設計環(huán)境,開放了系里的機房,使得自己不論在收集資料還是做實驗、撰寫設計論文等方面都很方便。對此特別表示感謝。當然,設計的評閱也花費了老師們很大的精力,并且對于自己整個設計的不足之處,也給予了熱心的指正。對此,表示衷心地感謝。

參考文獻[1]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.6[2]王曉君,安國臣.MCS-51及兼容單片機原理與選型[M].北京:電子工業(yè)出版社,2003.5[3]盧京潮.自動控制原理[M].西安:西北工業(yè)大學出版社,2004.2[4]吳忠智,吳加林.變頻器應用手冊[M].北京:機械工業(yè)出版社,1995.12[5]何立民.MCS-51系列單片機應用系統(tǒng)設計系統(tǒng)配置及接口技術[M].北京:北京航空航天大學出版社,1996.9[6]陳伯時.電力拖動自動控制系統(tǒng)—運動控制系統(tǒng)[M].北京:機械工業(yè)出版社,2003.7[7]楊寧.單片機與控制技術[M].北京:北京航空航天大學出版社,2005.2[8]楊振江.流行單片機實用子程序及應用實例[M].西安:西安電子科技大學出版社,2002.4[9]胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,2004.3[10]羅志坤,徐植堅.串行可編程監(jiān)控EEPROM器件及其應用[J].電子技術,1998(3)23-25[11]郭凌.EEPROM芯片X25045與MCS-51單片機的接口及應用[J].電子與自動,1999(4)38-41[12]郭觀七.基于C語言的MCS-51系列單片機軟件開發(fā)系統(tǒng)[M].華中理工大學出版社,1996.11[13]馬淑華,高原.電子設計自動化[M].北京郵電大學出版社,2005.8[14]葛偉亮.自動控制元件[M].北京:北京理工大學出版社,2004.6[15]韓志軍,沈晉源,王振波.單片機應用系統(tǒng)設計—入門向導與設計實例接[M].北京:機械工業(yè)出版社,2005.4[16]梅麗鳳,王艷秋,汪毓鐸,張軍.單片機原理及接口技術[M].北京:北京交通大學出版社,2004.9[17]潘永雄.新編單片機原理與應用[M].西安:西安電子科技大學出版社,2003.5附1系統(tǒng)的原理電路圖附2系統(tǒng)的相關程序1)myheadfiles.h#include"AT89x51.h"#defineulongunsignedlong#defineuintunsignedint#defineucharunsignedchar#defineOFF0x00 #defineON0xff#defineHi0xff #defineLo0x00#defineFree0xff //空閑,#defineAutoRun0x40 //自動運行狀態(tài)標志#defineSetWp0x49 //設置水管水壓值狀態(tài)標志#defineKeyCodeUP0xff #defineKeyCodeDW0xa0#defineKeyCodeFree0xf3 #defineKeyCodeRun0x02#defineKeyCodeNONE0x02sbitKeyUP=P0^4; //各按鍵sbitKeyDW=P0^5;sbitKeySet=P0^6;sbitKeyRunStop=P0^7;sbitEnDACout=P3^3;//低有效,為低表示DAC0832可以接收數據sbitEnADCin=P3^2;//高有效,為高表示ADC0809可以輸出數據sbitStartADC=P3^5;//負脈沖啟動sbitADCcomp=P3^4;//高有效,為低表示轉換沒完成sbitMotor1EN=P3^6;//主電機使能sbitMotor2EN=P3^7;//副電機使能sbitWorkLED=P0^4;//staticcharLEDCodeTable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共陽極LED字型碼staticcharLEDCodeTable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰極LED字型碼staticcharLEDSelTable[]={0xf8,0xf1,0xf2,0xf4};//{0x08,0x01,0x02,0x04};//LED高低位選擇 {0x0E,0x0C,0x0A,0x07}voidInit_Device(void);//voidLEDisplay();voidBCDtoLED(void);voidIntDataToLED(uintdat);uintSampleADC(void);voidOutDAC(uintdat);voiddelay(uinttime);voidKeyPro(void);//按鍵處理voidPIDpro(void);2),main.c#include"MyHeadFiles.h"ucharKeyCodeNew=KeyCodeNONE;//按鍵輸入值ucharKeyCodeOld=KeyCodeNONE;//按鍵輸入值//bitNewKeyIn=0; //新按鍵值輸入標志ucharLEDValue[4]={6,1,2,3};//放置各個LED原值碼 ucharLEDCode[4];//放置各個LED字型uintTime10MS=0;//用于定時ucharWorkState=Free;//系統(tǒng)的運行狀態(tài)標志uchartempChar;//全局臨時變量uinttempINT;ucharLEDCNp=0;//記錄LED點亮位置intWaterPctr=150; //控制輸出intWaterPnow=60; //當前水管內的水壓 intWaterPset=150;//記錄人為設置的水管目標壓強 // 假定0~5V對應水壓0~255voidmain(void){ Init_Device();IntDataToLED(WaterPset);// BCDtoLED(); while(1) {// if((Time10MS%50300)==0) if((Time10MS%15)==0) //調節(jié)按鍵掃瞄處理程序 { KeyPro(); // Time10MS=20; // WorkLED=~WorkLED; } switch(WorkState) { caseAutoRun: { Motor1EN=ON;//確保主電機打開 if((Time10MS%10)==0)//調節(jié)采樣頻率 { WaterPnow=SampleADC(); IntDataToLED(WaterPnow); BCDtoLED(); PIDpro(); } break; } caseSetWp: //設置水管水壓值狀態(tài)標志 { IntDataToLED(WaterPset); BCDtoLED(); // WorkState=AutoRun; //設置完就進入自動運行 break; } caseFree: { Motor1EN=OFF; //關掉主電機 Motor2EN=OFF; //關掉副電機 LEDCode[0]=0x71;//F LEDCode[1]=0x70;//r LEDCode[2]=0x79;//E LEDCode[3]=0x79;//E break; } default: { WorkState=Free; break; } } }}voidPIDpro(void){ //以下是副電機的控制策略 if(WaterPnow<(WaterPset/4)) { Motor2EN=ON;//副電機使能 } elseif(WaterPnow>(WaterPset/3)) { Motor2EN=OFF; } //以下是主電機的控制策略 if(WaterPnow<(WaterPset/2)) { WaterPctr=0xff; //全功率輸出 } elseif(WaterPnow>(WaterPset+2))//00功率輸出 { WaterPctr=0; } else//變功率輸出變頻輸出變化控制電壓 { WaterPctr=WaterPset-WaterPnow; } OutDAC(WaterPctr);}voidInit_Device(void){ TH0=0xd8;//晶振12.0MHz,設置為10ms中斷 TL0=0xf0; TR0=1; IE0=1; P0=0;//驅動口預先置0// P1=0xff; P3=0xff;//按鍵口預先置1 EnADCin=OFF; StartADC=Lo; IE=0x8A;//允許定時器0、1中斷ET0=1;}voidTime0_ISR(void)interrupt1{ TF0=0; //清除中斷標志 TH0=0xd8;//晶振12.0MHz,設置為10ms中斷 TL0=0xf0;// TH0=0xb1;//晶振12.0MHz,設置為20ms中斷// TL0=0xe0; Time10MS++;//記錄中斷次數 if((Time10MS%8)==0) { //以下驅動LED數據管 // tempChar=P0&0xf0; // tempChar=P0; // tempChar&=0xf0; // tempChar|=LEDSelTable[LEDCNp]; // P0=tempChar;//選擇要點亮的LED位 P0=LEDSelTable[LEDCNp]; P1=LEDCode[LEDCNp++];//輸出字型碼 if(LEDCNp>3) //實現輪流點亮 LEDCNp=0; }}//ucharLEDValue[4];//放置各個LED原值碼 //ucharLEDCode[4];//放置各個LED字型碼voidBCDtoLED(void){ uchari; for(i=0;i<4;i++) LEDCode[i]=LEDCodeTable[LEDValue[i]];}voidIntDataToLED(uintdat){ uinttemp=dat; chari; for(i=3;i>=0;i--) { LEDValue[i]=temp%10; temp/=10; }}uintSampleADC(void){ EnDACout=1; //禁止DAC接收數據 P2=0xff;//不可少,預設為高方便ADC輸出// EnADCin=OFF;// StartADC=Lo;// delay(2); StartADC=Hi;//清0復位// delay(2); StartADC=Lo;//啟動 delay(20); while(!ADCcomp); //等待轉換完成信號 EnADCin=ON;// delay(2); tempINT=P2; //讀出數據 EnADCin=OFF; returntempINT;}voidOutDAC(uintdat){ EnADCin=OFF; EnDACout=0; //允許DAC接收數據 P2=dat;// EnDACout=1; //禁止DAC接收數據}voidKeyPro(void)//按鍵掃瞄處理 { if(KeyRunStop) { WorkState=Free; //停止 // WorkLED=~WorkLED; //測試之用 return; } else { if(!KeySet) { WorkSta

溫馨提示

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

評論

0/150

提交評論