基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)_第1頁
基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)_第2頁
基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)_第3頁
基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)_第4頁
基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要建設(shè)節(jié)約型社會(huì),合理開發(fā)、節(jié)約利用和有效保護(hù)水資源是一項(xiàng)艱巨任務(wù)。根據(jù)高校用水時(shí)間集中,用水量變化較大的特點(diǎn),分析了校園原供水系統(tǒng)存在了耗能高,可靠性低,水資源浪費(fèi)嚴(yán)重,管網(wǎng)系統(tǒng)待完善的問題。提出利用自來水恒壓供水和水泵提水相結(jié)合的方式,并配以變頻器、軟啟動(dòng)器、單片機(jī)、微泄露補(bǔ)償器、壓力傳感器、液位傳感器等不同功能傳感器,根據(jù)管網(wǎng)的壓力,通過變頻器控制水泵的轉(zhuǎn)速,使管網(wǎng)中的壓力始終保持在適宜的范圍。從而解決因樓層太高而導(dǎo)致壓力缺乏及小流量時(shí)能耗大的問題。另外水泵耗電功率與電機(jī)轉(zhuǎn)速的三次方成正比關(guān)系,所以水泵調(diào)速運(yùn)行的節(jié)能效果非常明顯,平均耗電量較通常供水方式節(jié)省近四成。結(jié)合使用可編程控制器,可實(shí)現(xiàn)主泵變頻,副泵軟啟動(dòng),具有短路保護(hù)、過流保護(hù)功能,工作穩(wěn)定可靠,大大延長了電機(jī)的使用壽命。關(guān)鍵字:恒壓變頻供水,單片機(jī),差壓供水,自動(dòng)引言變頻恒壓供水系統(tǒng)主要特點(diǎn)1.節(jié)能,可以實(shí)現(xiàn)節(jié)電20%~40%,能實(shí)現(xiàn)綠色省電。2.占地面積小,投資少,效率高。3.配置靈活,自動(dòng)化程度高,功能齊全,靈活可靠。4.運(yùn)行合理,由于是軟啟和軟停,不但可以消除水錘效應(yīng),而且電機(jī)軸上的平均扭矩和磨損減小,減小了維修量和維修費(fèi)用,并且水泵的壽命大大提高。5.由于變頻恒壓調(diào)速直接從水源供水,減少了原有供水方式的二次污染,防止了很多傳染疾病。6.通過通信控制,可以實(shí)現(xiàn)五人職守,節(jié)約了人力物力。恒壓供水設(shè)備的主要應(yīng)用場合1.高層建筑,城鄉(xiāng)居民小區(qū),企事業(yè)等生活用水。2.各類工業(yè)需要恒壓控制的用水場合,冷卻水循環(huán),熱力網(wǎng)水循環(huán),鍋爐補(bǔ)水等。3.中央空調(diào)系統(tǒng)。4.自來水廠增壓系統(tǒng)。5.農(nóng)田灌溉,污水處理,人造噴泉。6.各種流體恒壓控制系統(tǒng)。變頻恒壓調(diào)速供水系統(tǒng)的工作原理在變頻調(diào)速供水系統(tǒng)中,是通過變頻調(diào)速來改變水泵的轉(zhuǎn)速從而改變水泵工作點(diǎn)來到達(dá)調(diào)節(jié)供水流量的目的。反響水泵運(yùn)行工程的水泵工作點(diǎn)也稱為水泵工況點(diǎn),是指水泵在確定的管路系統(tǒng)中,實(shí)際運(yùn)行時(shí)所具有的揚(yáng)程、流量以及相應(yīng)的效率、功率等參數(shù)。在調(diào)節(jié)水泵轉(zhuǎn)速的過程中,水泵工況點(diǎn)的調(diào)節(jié)是一個(gè)十分關(guān)鍵的問題。如果水泵工況點(diǎn)偏離設(shè)計(jì)工作點(diǎn)較遠(yuǎn),不僅會(huì)引起水泵運(yùn)行效率降低、功率升高或者發(fā)生嚴(yán)重的氣穴現(xiàn)象,還可能導(dǎo)致管網(wǎng)壓力不穩(wěn)定而影響正常的供水。水泵在實(shí)際運(yùn)行時(shí)的工作點(diǎn)取決于水泵性能、管路水力損失以及所需實(shí)際揚(yáng)程,這三種因素任一項(xiàng)發(fā)生變化,水泵的運(yùn)行工況都會(huì)發(fā)生變化因此水泵工況點(diǎn)確實(shí)定和工況調(diào)節(jié)與這三者密切相關(guān)。圖2-1變頻恒壓供水系統(tǒng)組成框圖圖3-1就是一個(gè)典型的由8051單片機(jī)控制的恒壓調(diào)速供水系統(tǒng)。系統(tǒng)由微機(jī)控制器、交流變頻調(diào)速器、水泵機(jī)組、供水管網(wǎng)和壓力傳感器等組成,控制系統(tǒng)結(jié)構(gòu)原理如圖3.2所示。8051單片計(jì)算機(jī)在這里主要起壓力采集,PID調(diào)節(jié)器計(jì)算、功能判斷處理、消防處理、邏輯切換、壓力顯示和聲光報(bào)警等作用。圖2-2單片機(jī)的變頻恒壓調(diào)速系統(tǒng)原理框圖2.1系統(tǒng)工作過程根據(jù)現(xiàn)場生產(chǎn)的實(shí)際狀況,白天一般只需開動(dòng)一臺水泵,就能滿足生產(chǎn)生活需要,小機(jī)工頻運(yùn)行作恒速泵使用,大機(jī)變頻運(yùn)行作變量泵;晚上用水低峰時(shí),只需開動(dòng)一臺大機(jī)就能滿足供水需要,因此可以采用一大一小搭配進(jìn)行設(shè)計(jì),即把1#水泵電機(jī)〔160KW〕和2#水泵電機(jī)〔220KW〕為一組,自動(dòng)控制系統(tǒng)可以根據(jù)運(yùn)行時(shí)間的長短來調(diào)整選擇不同的機(jī)組運(yùn)行。分析自動(dòng)控制系統(tǒng)機(jī)組Ⅰ〔1#、2#水泵機(jī)組〕工作過程,可分為以下三個(gè)工作狀態(tài):〔1〕1#電機(jī)變頻啟動(dòng);〔2〕1#電機(jī)工頻運(yùn)行,2#電機(jī)變頻運(yùn)行;〔3〕2#電機(jī)單獨(dú)變頻運(yùn)行,一般情況下,水泵電機(jī)都處于這三種工作狀態(tài)中,當(dāng)管網(wǎng)壓力突變時(shí),三種工作狀態(tài)就要發(fā)生相應(yīng)變換,因此這三種工作狀態(tài)對應(yīng)著三個(gè)切換過程。切換過程Ⅰ1#電機(jī)變頻啟動(dòng),頻率到達(dá)50Hz,1#電機(jī)工頻運(yùn)行,2#電機(jī)變頻運(yùn)行。系統(tǒng)開始工作時(shí),管網(wǎng)水壓低于設(shè)定壓力下限P。按下相應(yīng)的按鈕,選擇機(jī)組Ⅰ運(yùn)行,在PLC可編程控制器控制下,KM2得電,1#電機(jī)先接至變頻器輸出端,接著接通變頻器FWD端。變頻器對拖動(dòng)1#泵的電動(dòng)機(jī)采用軟啟動(dòng),1#電機(jī)啟動(dòng),運(yùn)行一段時(shí)間后,隨著運(yùn)行頻率的增加,當(dāng)變頻器輸出頻率增至工頻f0可編程控制器發(fā)出指令,接通變頻器BX端,變頻器FWD端斷開,KM2失電,1#電機(jī)自變頻器輸出端斷開,KM1得電,1#電機(jī)切換至工頻運(yùn)行,1#電機(jī)自變頻器輸出端斷開,KM1得電1#電機(jī)切換至工頻運(yùn)行。1#電機(jī)工頻運(yùn)行后,開啟1#泵閥門,1#泵工作在工頻狀態(tài)。接著KM3得電,2#電機(jī)接至變頻器輸出端,接通變頻器FWD端,變頻器BX端斷開,2#電機(jī)開始軟啟動(dòng),運(yùn)行一段時(shí)間后,開啟2#泵閥門,2#水泵電機(jī)工作在變頻狀態(tài)。從而實(shí)現(xiàn)1#水泵由變頻切換至工頻電網(wǎng)運(yùn)行,2#水泵接入變頻器并啟動(dòng)運(yùn)行,在系統(tǒng)調(diào)節(jié)下變頻器輸出頻率不斷增加,直到管網(wǎng)水壓到達(dá)設(shè)定值〔Pi<P<Pm〕為止。切換過程Ⅱ由1#電機(jī)工頻運(yùn)行,2#電機(jī)變頻運(yùn)行轉(zhuǎn)變?yōu)?#電機(jī)單獨(dú)變頻運(yùn)行狀態(tài)。當(dāng)晚上用水量大量減少時(shí),水壓增加,2#水泵電機(jī)在變頻器作用下,變頻器輸出頻率下降,電機(jī)轉(zhuǎn)速下降,水泵輸出流量減少,當(dāng)變頻器輸出頻率下降到指定值fmin,電機(jī)轉(zhuǎn)速下降到指定值,水管水壓高于設(shè)定水壓上限Pk時(shí)〔2#電機(jī),f=fmin,P<Pk〕,在PLC可編程控制器控制下,1#水泵電機(jī)在工頻斷開,2#水泵繼續(xù)在變頻器拖動(dòng)下變頻運(yùn)行。3切換過程Ⅲ由2#電機(jī)變頻運(yùn)行轉(zhuǎn)變?yōu)?#電機(jī)變頻停止,1#電機(jī)變頻運(yùn)行狀態(tài)。當(dāng)早晨用水量再次增加時(shí),2#電動(dòng)機(jī)工作在調(diào)速運(yùn)行狀態(tài),當(dāng)變頻器輸出頻率增至工頻fi〔即50Hz〕,水管水壓低于設(shè)定水壓上限Pi時(shí)〔2#電機(jī)f=fi,P≦Pi〕,接通變頻器BX端,變頻器FWD斷開,KM3斷開,2#電機(jī)自變頻器輸出端斷開;KM2得電,1#電機(jī)接至變頻器輸出端;接通變頻器FWD端,于此同時(shí)變頻器BX端斷開。1#電機(jī)開始軟啟動(dòng)。控制系統(tǒng)又回到初始工作狀態(tài)Ⅰ,開始新一輪循環(huán)。圖2-31#和2#機(jī)組工作過程流程圖2.2變頻調(diào)速的根本調(diào)速調(diào)速原理水泵機(jī)組應(yīng)用變頻調(diào)速技術(shù)。即通過改變電動(dòng)機(jī)定子電源效率來改變電動(dòng)機(jī)轉(zhuǎn)速可以相應(yīng)的改變水泵轉(zhuǎn)速及工況,使其流量與揚(yáng)程適應(yīng)管網(wǎng)用水量的變化,保持管網(wǎng)最不利點(diǎn)壓力恒定,到達(dá)節(jié)能效果。如圖2.4所示,n為水泵特性曲線,A管路特性曲線,H0為管網(wǎng)末端的效勞壓力,H1為泵出口壓力。當(dāng)用水量到達(dá)最大Qmax時(shí),水泵全速運(yùn)轉(zhuǎn),出口閥門全開,到達(dá)了滿負(fù)荷運(yùn)行,水泵的特性n0和用水管特性曲線A0匯交于b點(diǎn),此時(shí),水泵輸出口壓力為H,末端效勞壓力剛好為H0.當(dāng)用水量從Qmax減少到Q1的過程中,采用不同的控制方案,其水泵的能耗也不同。圖2-4節(jié)能分析曲線圖(1)水泵全速運(yùn)轉(zhuǎn),靠關(guān)小泵出口閥門來控制;此時(shí),管路阻力特性曲線變陡〔A2〕,水泵的工況點(diǎn)由b點(diǎn)上滑到c點(diǎn),而管路所需的揚(yáng)程將由b點(diǎn)滑到d點(diǎn),這樣c點(diǎn)和d點(diǎn)揚(yáng)程的差值即為全速水泵的能量浪費(fèi)。(2)水泵變速運(yùn)轉(zhuǎn),靠泵的出口壓力恒定來控制;此時(shí),當(dāng)用水量由Qmax下降時(shí),控制系統(tǒng)降低水泵轉(zhuǎn)速來改變其特性。但由于采用泵出口壓力恒量方式工作。所以其工況點(diǎn)是在H上平移。在水量到達(dá)Q1時(shí),相應(yīng)的水泵特性趨向?yàn)閚x。而管路的特性曲線將向上平移到A1,兩線交點(diǎn)e即為此時(shí)的工況點(diǎn),這樣,在水量減少到Q1時(shí),將導(dǎo)致管網(wǎng)不利點(diǎn)水壓升高到H0﹥H1,那么H1即為水泵的能量浪費(fèi)。(3)水泵變速運(yùn)轉(zhuǎn),靠管網(wǎng)取不利點(diǎn)壓力恒定來控制;此時(shí),當(dāng)用水量由Qmax下降到Q1時(shí),水泵降低轉(zhuǎn)速,水泵的特性曲線n1,其工況點(diǎn)為d點(diǎn),正好落在管網(wǎng)特性曲線A0上,這樣可以使水泵的工作點(diǎn)式中沿著A0滑動(dòng),管網(wǎng)的效勞壓力H0恒定不變,其揚(yáng)程與系統(tǒng)阻力相適應(yīng),沒有能量的浪費(fèi)。此方案與泵出口恒壓松散水相比,其能耗下降了h1.根據(jù)水泵相似原理:Q1/Q2=n1/n2H1/H2=(n1/n2)*2P1/P2=(n1/n2)*3式中,Q、H、P、n分別為泵流量、壓力、軸功率和轉(zhuǎn)速。即通過控制轉(zhuǎn)速可以減少軸功率。根據(jù)以上分析說明,選擇供水管網(wǎng)最不利點(diǎn)允許的最低壓力為控制參數(shù),通過壓力傳感器以獲得壓力信號,組成閉環(huán)壓力自控調(diào)速系統(tǒng),以使水泵的轉(zhuǎn)速保持與調(diào)速裝置所設(shè)定的控制壓力相匹配,使調(diào)速技術(shù)和自控技術(shù)相結(jié)合,到達(dá)最正確節(jié)能效果。此外,最不利點(diǎn)的控制壓力還保證了用戶水壓的穩(wěn)定,無論管路特性等因素發(fā)生變化,最不利點(diǎn)的水壓是恒定的,保證了供水壓力的可靠。采用變頻恒壓供水系統(tǒng)除可節(jié)能外,還可以使水泵組啟動(dòng),降低了起動(dòng)電流,防止了對供電系統(tǒng)產(chǎn)生沖擊負(fù)荷,提高了供水供電的平安可靠性。另外,變頻器本身具有過電流、過電壓、失壓等多種保護(hù)功能,提高了系統(tǒng)的平安可靠性。目前水泵電機(jī)絕大局部是三相交流異步電動(dòng)機(jī),根據(jù)交流電機(jī)的轉(zhuǎn)速特性,電機(jī)的轉(zhuǎn)速n為:n=120(1-s)/p〔〕式中s為電機(jī)的滑差〔s=0.02〕,p為電機(jī)極對數(shù),f為定子供電頻率。當(dāng)水泵電機(jī)選定后,p和s為定值,也就是說電機(jī)轉(zhuǎn)速與電源的頻率上下成正比,頻率越高,轉(zhuǎn)速越高,反之,轉(zhuǎn)速越低,變頻調(diào)速時(shí)是根據(jù)這一公式來實(shí)現(xiàn)無級調(diào)速的。由流體力學(xué)知:管網(wǎng)壓力P、流量Q和功率N的關(guān)系為N=PQ由功率與水泵電機(jī)轉(zhuǎn)速成三次方正比關(guān)系,基于轉(zhuǎn)速控制比,基于流量控制可以大幅度降低軸頻率。變頻恒壓調(diào)速供水系統(tǒng)硬件設(shè)計(jì)系統(tǒng)單元設(shè)計(jì)主要包括CPU根本控制單元、電路定時(shí)復(fù)位電路、A/D轉(zhuǎn)換電路、D/A轉(zhuǎn)換電路、顯示電路和相應(yīng)的開關(guān)電路。圖3-1系統(tǒng)硬件結(jié)構(gòu)框圖3.1硬件總體說明單片機(jī)系統(tǒng)的硬件結(jié)構(gòu)框架圖如圖3-1所示。本系統(tǒng)以8951單片機(jī)為核心,它有4KEPROM,所以不用外擴(kuò)EPROM,這樣可以利用P0、P2口作為輸入、輸出I/O口,簡化了硬件結(jié)構(gòu)。系統(tǒng)的顯示采用4片74LS164驅(qū)動(dòng)LED,使用8951的串行通訊口TXD,DXD。93C46為串行EEPROM,用于保存開機(jī)設(shè)定的原始參數(shù)。采用NE555組成硬件定時(shí)復(fù)位電路,可以有效防止程序死機(jī)現(xiàn)象。74LS273用于對繼電器輸出狀態(tài)硬件鎖存,以防止輸出狀態(tài)被干擾。ULN2003為反向驅(qū)動(dòng)芯片,同時(shí)在74LS273的CLEAR管腳外接RC電路,用于開機(jī)時(shí)使74S273的輸出端清零,用于防止繼電器的誤動(dòng)作,對變頻器起到了保護(hù)作用。在報(bào)警輸入端與CPU之間采用光耦隔離,以消除外部干擾。系統(tǒng)A/D輸入采用8位TLC0831逐次逼近模數(shù)轉(zhuǎn)換器,D/A輸出采用了光耦離式D/A輸出,并采用LM358雙運(yùn)放組成D/A輸出及驅(qū)動(dòng)電路。P3.3定時(shí)輸出占空比與頻率相對應(yīng)的PWM調(diào)制信號,通過二極運(yùn)算放大電路后,在LM358的第7引腳輸出與頻率相對應(yīng)的電壓信號。在輸出端調(diào)節(jié)電位器可以調(diào)節(jié)輸出電壓的大小,兩放大器之間的RC電路起到了濾波的作用。3.2555定時(shí)器復(fù)位電路圖3-2NE555封裝圖如圖3-3和圖3-4上可知,NE555定時(shí)電路V0口輸出連續(xù)的脈沖信號至RST,到達(dá)定時(shí)復(fù)位的效果。電路使用電阻電容產(chǎn)生RC定時(shí)電路,用于設(shè)定脈沖的周期和脈沖的寬度。調(diào)節(jié)RW或者電容C,可以得到不同的時(shí)間常數(shù)。脈沖寬度計(jì)算公式:TW=0.7(R1+RW+R2)C振蕩周期計(jì)算公式:T=0.7(R1+RW+2*R2)C從而通過控制振蕩周期和脈沖寬度就可以控制定時(shí)時(shí)間。圖3-3NE555內(nèi)部結(jié)構(gòu)圖3-4NE555定時(shí)電路及工作波形3.35V單片機(jī)供電電源電路如圖3-5所示電路為輸出電壓+5V、輸出電流1.5A的穩(wěn)壓電源。它由電源變壓器B,橋式整流電路D1~D4,濾波電容C1、C3,防止自激電容C2、C3和一只固定式三端穩(wěn)壓器(7805)極為簡捷方便地搭成的。220V交流市電通過電源變壓器變換成交流低壓,再經(jīng)過橋式整流電路D1~D4和濾波電容C1的整流和濾波,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會(huì)因?yàn)槭须婋妷旱牟▌?dòng)或負(fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過LM7805的穩(wěn)壓和C3的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。本穩(wěn)壓電源可作為TTL電路或單片機(jī)電路的電源。三端穩(wěn)壓器是一種標(biāo)準(zhǔn)化、系列化的通用線性穩(wěn)壓電源集成電路,以其體積小、本錢低、性能好、工作可靠性高、使用簡捷方便等特點(diǎn),成為目前穩(wěn)壓電源中應(yīng)用最為廣泛的一種單片式集成穩(wěn)壓器件。圖3-5LM7805穩(wěn)壓電源變頻恒壓調(diào)速供水系統(tǒng)軟件設(shè)計(jì)4.1變頻恒壓調(diào)速供水系統(tǒng)軟件設(shè)計(jì)總體說明系統(tǒng)軟件程序由主程序,定時(shí)中斷顯示和頻率輸出子程序組成。采用軟件模塊化設(shè)計(jì),引入了先進(jìn)的模糊邏輯控制技術(shù),并增加了容錯(cuò)技術(shù)和抗干擾算法。系統(tǒng)采用了定時(shí)復(fù)位軟件設(shè)計(jì)方案〔1秒鐘復(fù)位一次〕,以消除程序運(yùn)行時(shí)的死機(jī)現(xiàn)象。數(shù)字濾波采用平均值濾波方法,以消除干擾對輸入信號的影響。4.28051系列單片的編程語言51單片機(jī)在有四種語言支持,即匯編、PL/MC、C和BASIC。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,是一種結(jié)構(gòu)化語言,可產(chǎn)生緊湊代碼。C語言結(jié)構(gòu)是以括號{}而不是以字和特殊符號表示的語言。C語言可以進(jìn)行許多機(jī)器級函數(shù)控制而不用匯編語言。與匯編語言相比,C語言有很多優(yōu)點(diǎn)。〔1〕對單片機(jī)指令系統(tǒng)不要求了解,僅要求了解對8051的存儲器結(jié)構(gòu)有初步了解;〔2〕存放器的分配、不同存儲器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可有編譯器管理;程序標(biāo)準(zhǔn)的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化〔3〕具有將可變選擇和特殊操作組合在一起的能力,改善了程序的可讀性;關(guān)鍵字及運(yùn)算函數(shù)可用于近似人的思維過程方式使用;〔4〕編程和程序調(diào)試時(shí)間顯著縮短,從而提高效率;〔5〕提供的庫包括許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;〔6〕已編好的程序可以很容易地移植入新程序,因?yàn)镃語言具有方便的模塊化編程技術(shù);雖然C語言有諸多優(yōu)點(diǎn),但是并不是說匯編語言就要被拋棄,懂得匯編語言指令就可使用在片RAM作為變量的優(yōu)勢,因?yàn)槠庾兞啃枰獛讞l幾條指令才能設(shè)置累加器和數(shù)據(jù)指針進(jìn)行存取。要求使用浮點(diǎn)和啟用函數(shù)時(shí),只有具備匯編編程經(jīng)驗(yàn),才能防止生成龐大的、效率低的程序,所有現(xiàn)在所有的對速度要求高的內(nèi)核程序都是用匯編編寫完成的。4.3編程軟件4.3.1C051編譯器介紹現(xiàn)在比擬流行的51系列編程軟件〔1〕AmericanAutomation:編譯器通過#asm和endasm預(yù)處理選擇支持匯編語言。〔2〕IAR:瑞典的IAR是支持分體切換的編譯器。〔3〕Bso/Tasking:是Intel,LSI,Motorola,Philips,Simens和TexasInstruments嵌入式系統(tǒng)的配套軟件工具〔4〕DunfieldShareware:非專業(yè)的軟件包,不支持floats,longs或結(jié)構(gòu)等〔5〕KEIL:KEIL在代碼生成方面處于領(lǐng)先地位,可以產(chǎn)生最少的代碼。它支持浮點(diǎn)或長整數(shù)、重入和遞推。使用單片機(jī)模式,KEIL是最好的選擇〔6〕Intermetrics:使用起來比擬困難,要由可執(zhí)行的宏語句控制編譯、匯編和鏈接,且選項(xiàng)很多。編譯器的算法技術(shù)支持〔float和long〕很重要。生成代碼的大小比編譯速度重要,這里KEIL具有性能領(lǐng)先、緊湊的代碼和使用方便等優(yōu)點(diǎn),所以本系統(tǒng)采用KEIL編譯器。4.3.2KEIL編譯器KEIL開發(fā)工具套件可用于編譯C源程序、匯編源程序、鏈接和定位目標(biāo)文件及庫,創(chuàng)立HEX文件以及調(diào)試目標(biāo)程序。〔1〕uVision2forWindows:是一個(gè)集成開發(fā)環(huán)境。它將工程管理、源代碼編輯和程序調(diào)試等組合在一個(gè)強(qiáng)大功能的環(huán)境中。〔2〕CX51國際標(biāo)準(zhǔn)優(yōu)化C交叉編譯器:從C源代碼產(chǎn)生可重定位的目標(biāo)模塊。〔3〕AX51宏匯編器:從8051匯編源代碼產(chǎn)生可重定位的目標(biāo)模塊?!?〕BL51鏈接器/定位器:組合有CX51和AX51產(chǎn)生的可重定位的目標(biāo)模塊,生成絕對目標(biāo)模塊。〔5〕LIB51庫管理器:從目標(biāo)模塊生成鏈接器可以使用的庫文件。〔6〕OH51目標(biāo)文件至HEX格式的轉(zhuǎn)換器:從絕對目標(biāo)模塊生成IntelHEX文件。〔7〕RTX-51實(shí)時(shí)操作系統(tǒng):簡化了復(fù)雜的實(shí)時(shí)應(yīng)用軟件工程的設(shè)計(jì)。4.4單片機(jī)資料單片微型計(jì)算機(jī)簡稱為單片機(jī),有稱為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是70年代中期開展起來的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于同一硅片的器件。80年代以來,單片機(jī)開展迅速,各類新產(chǎn)品不斷涌現(xiàn),出現(xiàn)了許多高性能新型機(jī)種,現(xiàn)已逐漸成為工廠自動(dòng)化和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。引腳功能:MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳分布請參照----單片機(jī)引腳圖:lP0.0~P0.7P0口8位雙向口線〔在引腳的39~32號端子〕。lP1.0~P1.7P1口8位雙向口線〔在引腳的1~8號端子〕。lP2.0~P2.7P2口8位雙向口線〔在引腳的21~28號端子〕。lP3.0~P3.7P2口8位雙向口線〔在引腳的10~17號端子〕。P0口有三個(gè)功能:1、外部擴(kuò)展存儲器時(shí),當(dāng)做數(shù)據(jù)總線〔如圖1中的D0~D7為數(shù)據(jù)總線接口〕2、外部擴(kuò)展存儲器時(shí),當(dāng)作地址總線〔如圖1中的A0~A7為地址總線接口〕3、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。P1口只做I/O口使用:其內(nèi)部有上拉電阻。P2口有兩個(gè)功能:1、擴(kuò)展外部存儲器時(shí),當(dāng)作地址總線使用;2、做一般I/O口使用,其內(nèi)部有上拉電阻。P3口有兩個(gè)功能:除了作為I/O使用外〔其內(nèi)部有上拉電阻〕,還有一些特殊功能,由特殊存放器來設(shè)置,具體功能請參考我們后面的引腳說明。有內(nèi)部EPROM的單片機(jī)芯片〔例如8751〕,為寫入程序需提供專門的編程脈沖和編程電源,這些信號也是由信號引腳的形式提供的,即:編程脈沖:30腳〔ALE/PROG〕編程電壓〔25V〕:31腳〔EA/Vpp〕接觸過工業(yè)設(shè)備的兄弟可能會(huì)看到有些印刷線路板上會(huì)有一個(gè)電池,這個(gè)電池是干什么用的呢?這就是單片機(jī)的備用電源,當(dāng)外接電源下降到下限值時(shí),備用電源就會(huì)經(jīng)第二功能的方式由第9腳〔即RST/VPD〕引入,以保護(hù)內(nèi)部RAM中的信息不會(huì)喪失。在介紹這四個(gè)I/O口時(shí)提到了一個(gè)“上拉電阻〞那么上拉電阻又是一個(gè)什么呢?他起什么作用呢?當(dāng)作為輸入時(shí),上拉電阻將其電位拉高,假設(shè)輸入為低電平那么可提供電流源;所以如果P0口如果作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效。ALE/PROG地址鎖存控制信號:在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。〔在后面關(guān)于擴(kuò)展的課程中我們就會(huì)看到8051擴(kuò)展EEPROM電路,ALE與74LS373鎖存器的G相連接,當(dāng)CPU對外部進(jìn)行存取時(shí),用以鎖住地址的低位地址,即P0口輸出。ALE有可能是高電平也有可能是低電平,當(dāng)ALE是高電平時(shí),允許地址鎖存信號,當(dāng)訪問外部存儲器時(shí),ALE信號負(fù)跳變〔即由正變負(fù)〕將P0口上低8位地址信號送入鎖存器。當(dāng)ALE是低電平時(shí),P0口上的內(nèi)容和鎖存器輸出一致。在沒有訪問外部存儲器期間,ALE以1/6振蕩周期頻率輸出〔即6分頻〕,當(dāng)訪問外部存儲器以1/12振蕩周期輸出〔12分頻〕。當(dāng)系統(tǒng)沒有進(jìn)行擴(kuò)展時(shí)ALE會(huì)以1/6振蕩周期的固定頻率輸出,因此可以做為外部時(shí)鐘,或者外部定時(shí)脈沖使用。PORG為編程脈沖的輸入端:在8051單片機(jī)內(nèi)部有一個(gè)4KB或8KB的程序存儲器〔ROM〕,ROM的作用就是用來存放用戶需要執(zhí)行的程序的,那么我們是怎樣把編寫好的程序存入進(jìn)這個(gè)ROM中的呢?實(shí)際上是通過編程脈沖輸入才能寫進(jìn)去的,這個(gè)脈沖的輸入端口就是PROG。PSEN外部程序存儲器讀選通信號:在讀外部ROM時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部ROM單元的讀操作。1、內(nèi)部ROM讀取時(shí),PSEN不動(dòng)作;2、外部ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次;3、外部RAM讀取時(shí),兩個(gè)PSEN脈沖被跳過不會(huì)輸出;4、外接ROM時(shí),與ROM的OE腳相接。〔8051擴(kuò)展2KBEEPROM電路,PSEN與擴(kuò)展ROM的OE腳相接〕EA/VPP訪問和序存儲器控制信號1、接高電平時(shí):CPU讀取內(nèi)部程序存儲器〔ROM〕擴(kuò)展外部ROM:當(dāng)讀取內(nèi)部程序存儲器超過0FFFH〔8051〕1FFFH〔8052〕時(shí)自動(dòng)讀取外部ROM。2、接低電平時(shí):CPU讀取外部程序存儲器〔ROM〕。在前面的學(xué)習(xí)中我們道,8031單片機(jī)內(nèi)部是沒有ROM的,那么在應(yīng)用8031單片機(jī)時(shí),這個(gè)腳是一直接低電平的。3、8051寫內(nèi)部EPROM時(shí),利用此腳輸入21V的燒寫電壓。RST復(fù)位信號:當(dāng)輸入的信號連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作,當(dāng)復(fù)位后程序計(jì)數(shù)器PC=0000H,即復(fù)位后將從程序存儲器的0000H單元讀取第一條指令碼。XTAL1和XTAL2外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號。VCC:電源+5V輸入VSS:GND接地。AVR和pic都是跟8051結(jié)構(gòu)不同的8位單片機(jī),因?yàn)榻Y(jié)構(gòu)不同,所以匯編指令也有所不同,而且區(qū)別于使用CISC指令集的8051,他們都是RISC指令集的,只有幾十條指令,大局部指令都是單指令周期的指令,所以在同樣晶振頻率下,較8051速度要快。另PIC的8位單片機(jī)前幾年是世界上出貨量最大的單片機(jī),飛思卡爾的單片機(jī)緊隨其后。ARM實(shí)際上就是32位的單片機(jī),它的內(nèi)部資源〔存放器和外設(shè)功能〕較8051和PIC、AVR都要多得多,跟計(jì)算機(jī)的CPU芯片很接近了。常用于、路由器等等。DSP其實(shí)也是一種特殊的單片機(jī),它從8位到32位的都有。它是專門用來計(jì)算數(shù)字信號的。在某些公式運(yùn)算上,它比現(xiàn)行家用計(jì)算機(jī)的最快的CPU還要快。比方說一般32位的DSP能在一個(gè)指令周期內(nèi)運(yùn)算完一個(gè)32位數(shù)乘32位數(shù)積再加一個(gè)32位數(shù)。應(yīng)用于某些對實(shí)時(shí)處理要求較高的場合。參考文獻(xiàn)[1]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,1990.[2]李華.MCS-51系列單片機(jī)使用接口技術(shù),北京航空航天大學(xué)出版社,1992.[3]解宏基,任光.一種多功能變頻恒壓供水單片機(jī)供水控制系統(tǒng),大連海事大學(xué)輪機(jī)工程研究所,116024.[4]周黎輝,馮正進(jìn).變頻器在多泵并聯(lián)調(diào)速系統(tǒng)中的應(yīng)用,機(jī)電一體化,1999年第4期.[5]秦進(jìn)平,官英雙.基于單片機(jī)的恒壓供水系統(tǒng),黑龍江工程學(xué)院學(xué)報(bào)〔自然科學(xué)版〕,Vol.19,No.1MAR,2005[6]馬忠梅,籍順心,張凱.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)〔第3版權(quán)〕,北京航空航天大學(xué)出版社,2003[7]蘇夯.控制恒壓供水系統(tǒng)的設(shè)計(jì),大連交通大學(xué),2023-12-18.[8]童占.新概念51單片機(jī)C語言教程,電子工業(yè)出版社,2003.[9]王幸之,鐘愛琴.AT89系列單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004:489-504.[10]南建輝、熊鳴、王軍茹.MCS-51單片機(jī)原理及應(yīng)用實(shí)例,北京:清華大學(xué)出版社,2003.[11]方彥軍,孫健.智能儀器技術(shù)及其應(yīng)用[M],西安:化學(xué)工業(yè)出版社,2006:98-105.附錄附錄一:A/D數(shù)據(jù)采集轉(zhuǎn)化及顯示子程序#include<at89x51.h>#defineucharunsignedchar#defineuintunsignedintsbitst=P3^2;sbitoe=P3^1;sbiteoc=P3^0;ucharcodetab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//數(shù)碼管顯示段碼ucharcodetd[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};//通道先擇數(shù)組uintad_0809,ad_data1,ad_data2,ad_data3,ad_data0;ucharm,number;ucharx[8];//八通道數(shù)據(jù)待存數(shù)組voiddelaynms(uintx);//nms延時(shí)程序voiddisplay();//顯示程序voidad0809();//芯片啟動(dòng)程序voidkey();//鍵掃描程序main(){number=1;P1=0x00;while(1){ad0809();//調(diào)AD0809啟動(dòng)子程序key();//調(diào)按鍵子程序ad_0809=x[number];//把相關(guān)通道數(shù)據(jù)給ad_0809display();//調(diào)顯示}}//nms延時(shí)程序voiddelaynms(uintx){uchari;while(x-->0){for(i=0;i<125;i++){;}}}voiddisplay(){uchara;ad_data1=(ad_0809*49/25)/100;//讀得的數(shù)據(jù)乘以2再乘以98%除以100得百位ad_data2=((ad_0809*49/25)%100)/10;//讀得的數(shù)據(jù)乘以2再乘以98%再分出十位ad_data3=(((ad_0809*49/25)%100)%10);//讀得的數(shù)據(jù)乘以2再乘以98%再分出個(gè)位for(a=0;a<10;a++){P0=tab[ad_data3];//送小數(shù)點(diǎn)后第二位顯示P2=0x07;//選通第一個(gè)數(shù)碼管delaynms(3);P0=tab[ad_data2];//送小數(shù)點(diǎn)后第一位顯示P2=0x0b;//選通第二個(gè)數(shù)碼管delaynms(3);P0=tab[ad_data1];//送整數(shù)顯示P0_7=0;//點(diǎn)亮第三個(gè)數(shù)碼管小數(shù)點(diǎn)P2=0x0d;//選通第三個(gè)數(shù)碼管delaynms(3);P0=tab[number];//送通道號顯示P2=0x0e;delaynms(3);}}voidad0809(){uchari,m=1;for(i=0;i<8;i++){P0=td[i];//選通通道oe=0;//以下三條指令為起動(dòng)AD0809st=0;st=1;st=0;delaynms(1);while(!eoc);//等待轉(zhuǎn)換結(jié)束oe=1;//取出讀得的數(shù)據(jù)x[m]=P2;//送相關(guān)通道數(shù)組oe=0;m++;}}voidkey(){if(!P3_5)//P3.5是否按下{delaynms(20);//延時(shí)判誤if(!P3_5)//再一次判斷P3。5是否按下{while(!P3_5);//等待P3。5為高電平number++;//通道號顯示加一if(number>8)number=1;//八通道}}}附錄二:PID控制子程序#include<stdio.h>#include<math.h>#include<at89x52.h>struct_pid{intpv;/*integerthatcontainstheprocessvalue*/intsp;/*integerthatcontainsthesetpoint*/floatintegral;floatpgain;floatigain;floatdgain;intdeadband;intlast_error;};struct_pidwarm,*pid;intprocess_point,set_point,dead_band;floatp_gain,i_gain,d_gain,integral_val,new_integ;;/*------------------------------------------------------------------------pid_initDESCRIPTIONThisfunctioninitializesthepointersinthe_pidstructuretotheprocessvariableandthesetpoint.*pvand*spareintegerpointers.------------------------------------------------------------------------*/voidpid_init(struct_pid*warm,intprocess_point,intset_point){struct_pid*pid;pid=warm;pid->pv=process_point;pid->sp=set_point;}/*------------------------------------------------------------------------pid_tuneDESCRIPTIONSetstheproportionalgain(p_gain),integralgain(i_gain),derivitivegain(d_gain),andthedeadband(dead_band)ofapidcontrolstructure_pid.------------------------------------------------------------------------*/voidpid_tune(struct_pid*pid,floatp_gain,floati_gain,floatd_gain,intdead_band){pid->pgain=p_gain;pid->igain=i_gain;pid->dgain=d_gain;pid->deadband=dead_band;pid->integral=integral_val;pid->last_error=0;}/*------------------------------------------------------------------------pid_setintegDESCRIPTIONSetanewvaluefortheintegraltermofthepidequation.Thisisusefulforsettingtheinitialoutputofthepidcontrolleratstartup.------------------------------------------------------------------------*/voidpid_setinteg(struct_pid*pid,floatnew_integ){pid->integral=new_integ;pid->last_error=0;}/*------------------------------------------------------------------------pid_bumplessDESCRIPTIONBumplesstransferalgorithim.Whensuddenlychangingsetpoints,orwhenrestartingthePIDequationafteranextendedpause,thederivativeoftheequationcancauseabumpinthecontrolleroutput.Thisfunctionwillhelpsmoothoutthatbump.Theprocessvaluein*pvshouldbetheupdatedjustbeforethisfunctionisused.------------------------------------------------------------------------*/voidpid_bumpless(struct_pid*pid){pid->last_error=(pid->sp)-(pid->pv);}/*------------------------------------------------------------------------pid_calcDESCRIPTIONPerformsPIDcalculationsforthe_pidstructure*a.Thisfunctionusesthepositionalformofthepidequation,andincorporatesanintegralwinduppreventionalgorithim.Rectangularintegrationisused,sothisfunctionmustberepeatedonaconsistenttimebasisforaccuratecontrol.RETURNVALUEThenewoutputvalueforthepidloop.USAGE#include"control.h"*/floatpid_calc(struct_pid*pid){interr;floatpterm,dterm,result,ferror;err=(p

溫馨提示

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

最新文檔

評論

0/150

提交評論