基于單片機的智能閥門定位器測控系統(tǒng)_第1頁
基于單片機的智能閥門定位器測控系統(tǒng)_第2頁
基于單片機的智能閥門定位器測控系統(tǒng)_第3頁
基于單片機的智能閥門定位器測控系統(tǒng)_第4頁
基于單片機的智能閥門定位器測控系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西北工業(yè)大學(xué)課程設(shè)計報告題目:基于單片機的智能閥門定位器測控系統(tǒng) 選 題 第七題 課程設(shè)計申報表學(xué)生信息姓名學(xué)號姓名學(xué)號姓名 學(xué)號姓名 學(xué)號2課程設(shè)計題目基于單片機的智能閥門定位器測控系統(tǒng)課程設(shè)計任務(wù)書一.設(shè)計目的 設(shè)計一個由單片機組成的智能閥門定位器測控系統(tǒng)。通過這個過程學(xué)習(xí)熟悉鍵盤控制和七段數(shù)碼管使用,掌握智能閥門定位器控制和測試方法。二.預(yù)習(xí)與參考c程序語言、計算機控制技術(shù)、自動控制原理、三. 設(shè)計內(nèi)容及要求1具有顯示功能在顯示器上顯示任意四位十進制數(shù);2具有按鍵輸入和操作功能;3實現(xiàn):(1)鍵盤功能;(2)顯示界面;(3)給出原理圖;(4)給出控制算法及相應(yīng)程序;(5)開發(fā)串口通信功能

2、;進度計劃1、 布置任務(wù),查閱資料,確定系統(tǒng)方案(1天)2、 被控對象建模(1天)3、 算法推導(dǎo),程序設(shè)計(3天)4、 仿真研究(2天)5、撰寫、打印設(shè)計說明書(2天)6、答辯(1天)評語及成績論文質(zhì)量: 答辯: 總 成 績: 指導(dǎo)教師簽字: 年 月 日摘 要 在生產(chǎn)生活中,閥門作為主要的控制器件,在現(xiàn)代控制領(lǐng)域扮演著重要角色。所以,如何精確的定位閥門位置就顯得特別的重要。利用傳統(tǒng)的控制方法,閥門的定位存在諸多問題(如:控制精度不高,能耗大,安裝不方便等),所以利用智能定位器改進閥門控制精度就顯得尤為重要?;谏鲜鰡栴},本文是以單片機為中心,利用數(shù)字控制理論,實現(xiàn)智能閥門定位系統(tǒng)的。以控制閥為

3、主要研究對象,圍繞系統(tǒng)核心單片機,通過pid控制算法,產(chǎn)生pwm經(jīng)驅(qū)動放大電路控制直流電機的轉(zhuǎn)向、轉(zhuǎn)速,進而控制閥門開度,達到閥門定位器的功能。建模階段 針對被控對象控制閥和執(zhí)行機構(gòu)直流電機,經(jīng)查閱大量相關(guān)資料和嚴密的理論推導(dǎo),在合理假設(shè)的條件下,其傳遞函數(shù)為一階慣性環(huán)節(jié)。算法控制 本文主要利用經(jīng)典pid控制理論,并結(jié)合計算機仿真軟件matlab對系統(tǒng)的傳遞函數(shù)進行simulink仿真研究,通過試湊法對pid參數(shù)進行整定,得出相關(guān)的控制算法。硬件設(shè)計 本為選用stc89c52為主要控制芯片,主要包括采樣調(diào)理及a/d轉(zhuǎn)化模塊,串行通信模塊,數(shù)碼顯示模塊,按鍵輸入模塊,pwm輸出及驅(qū)動電路模塊,電

4、源電路模塊。軟件編程 以硬件設(shè)計的電路為藍本,利用c語言實現(xiàn)各部分的相關(guān)程序。通過以上四個環(huán)節(jié),就實現(xiàn)了集數(shù)碼顯示,按鍵輸入,串行通信為一體的智能閥門定位系統(tǒng)的功能。關(guān)鍵字:定位器 控制閥 pid 目 錄第一章 緒論51.1 閥門定位器概述51.2 閥門定位器工作原理51.3 設(shè)計任務(wù)5第二章 總體方案設(shè)計與模擬仿真62.1 系統(tǒng)框圖62.2 模塊分析62.3 模塊模擬9第3章 系統(tǒng)硬件設(shè)計103.1 采樣調(diào)理電路103.2 數(shù)碼管顯示電路113.3 電機驅(qū)動模塊133.4 單片機stc89c5213第4章 系統(tǒng)的軟件設(shè)計144.1 主程序設(shè)計144.2 鍵盤掃描子程序設(shè)計154.3控制子程序

5、設(shè)計16參考文獻18附錄18第一章 緒論閥門定位器(又稱:氣動閥門定位器)是調(diào)節(jié)閥的主要附件,通常與氣動調(diào)節(jié)閥配套使用,它接受調(diào)節(jié)器的輸出信號,然后以它的輸出信號去控制氣動調(diào)節(jié)閥,當(dāng)調(diào)節(jié)閥動作后,閥桿的位移又通過機械裝置反饋到閥門定位器,閥位狀況通過電信號傳給上位系統(tǒng)。閥門定位器按輸入信號分為氣動閥門定位器、電氣閥門定位器和智能閥門定位器。智能電氣閥門定位器它將控制室輸出的電流信號轉(zhuǎn)換成驅(qū)動調(diào)節(jié)閥的氣信號,根據(jù)調(diào)節(jié)閥工作時閥桿摩擦力,抵消介質(zhì)壓力波動而產(chǎn)生的不平衡力,使閥門開度對應(yīng)于控制室輸出的電流信號。并且可以進行智能組態(tài)設(shè)置相應(yīng)的參數(shù),達到改善控制閥性能的目的。1.1 閥門定位器概述閥門定

6、位器能夠增大調(diào)節(jié)閥的輸出功率,減少調(diào)節(jié)信號的傳遞滯后的情況發(fā)生,加快閥桿的移動速度,能夠提高閥門的線性度,克服閥桿的摩擦力并消除不平衡力的影響,從而保證調(diào)節(jié)閥的正確定位。常用執(zhí)行機構(gòu)分氣動執(zhí)行機構(gòu),電動執(zhí)行機構(gòu),有直行程、角行程之分。用以自動、手動開閉各類閥門、風(fēng)板等。 閥門定位器按輸入信號分為氣動閥門定位器、電氣閥門定位器和智能閥門定位器。按動作的方向可分為單向閥門定位器和雙向閥門定位器。按閥門定位器是否帶cpu可分為普通電氣閥門定位器和智能電氣閥門定位器。普通電氣閥門定位器沒有cpu,因此,不具有智能,不能處理有關(guān)的智能運算。智能電氣閥門定位器帶cpu,可處理有關(guān)智能運算,例如,可進行前向

7、通道的非線性補償?shù)?,現(xiàn)場總線電氣閥門定位器還可帶pid等功能模塊,實現(xiàn)相應(yīng)的運算等。1.2 閥門定位器工作原理閥門定位器是控制閥的主要附件。它將閥桿位移信號作為輸入的反饋測量信號,以控制器輸出信號作為設(shè)定信號,進行比較,當(dāng)兩者有偏差時,改變其到執(zhí)行機構(gòu)的輸出信號,使執(zhí)行機構(gòu)動作,建立了閥桿位移倍與控制器輸出信號之間的一一對應(yīng)關(guān)系。因此,閥門定位器組成以閥桿位移為測量信號,以控制器輸出為設(shè)定信號的反饋控制系統(tǒng)。該控制系統(tǒng)的操縱變量是閥門定位器去執(zhí)行機構(gòu)的輸出信號。1.3 設(shè)計任務(wù)本設(shè)計以stc89c52單片機為核心,用鍵盤控制模塊、四個七段數(shù)碼管顯示模塊、采樣調(diào)理模塊、電機驅(qū)動模塊等模擬智能閥門

8、定位器測控系統(tǒng),以實現(xiàn)在數(shù)碼管上顯示設(shè)定值和實際值;通過按鍵進行輸入和操作功能等。第二章 總體方案設(shè)計與模擬仿真2.1 系統(tǒng)框圖定位系統(tǒng)結(jié)構(gòu)框圖如圖所示,該系統(tǒng)由pwm控制器,執(zhí)行機構(gòu),電位傳感器等組成。2.2 模塊分析2.2.1 控制器本系統(tǒng)采用pwm方式和pid算法控制直流電機,當(dāng)位置偏差較大時,則輸出連續(xù)信號給壓電閥(快速調(diào)節(jié));當(dāng)位置偏差大小適中,則輸出脈沖序列給壓電閥(慢速調(diào)節(jié));當(dāng)位置偏差在設(shè)定的很小范圍0.1%(死區(qū))內(nèi)時,認為執(zhí)行器到達設(shè)定位置,此時關(guān)閉調(diào)節(jié)閥,使執(zhí)行器定位在當(dāng)前位置。2.2.2 壓電閥根據(jù)現(xiàn)實條件,本系統(tǒng)以直流電機模擬壓電閥。建立其數(shù)學(xué)模型時,首先列寫出電動機

9、主電路電壓平衡方程式,軸上力矩平衡方程式和勵磁電路電壓平衡方程式等基本關(guān)系式,加以整理,然后進行拉普拉斯變換,根據(jù)此變換,即可求出電動機的動態(tài)結(jié)構(gòu)圖和傳遞函數(shù)的表達式。其過程為:(1)根據(jù)下圖的直流電機的等效電路寫出基本關(guān)系式:其中: 為電樞電路時間常數(shù); 為勵磁電路時間常數(shù);為電動機磁極對數(shù);為勵磁繞組和電樞繞組的互感。(2)將其進行拉氏變換。經(jīng)過化簡,可得電動機磁場恒定時,其傳遞函數(shù)為:或?qū)懗桑?式中: 固有振蕩頻率 衰減系數(shù)或阻尼比 電勢系數(shù)或轉(zhuǎn)矩系數(shù) 電動機的電氣機械時間常數(shù)當(dāng)<1時,輸出響應(yīng)是振蕩的;當(dāng)1時,輸出響應(yīng)是非振蕩的;當(dāng)>>2,即tm>>4ta

10、時,傳遞函數(shù)可寫成如下形式:上式表明,在外施階躍電壓作用下,首先產(chǎn)生由于時間常數(shù)而滯后的電樞電流,然后下一步輸出因滯后的響應(yīng)速度。略去電樞電感時:其傳遞函數(shù)為: 其中: 在本次設(shè)計中選取某型號直流電機,經(jīng)計算可得:電動機磁場恒定時, 略去電樞電感時,2.2.3 執(zhí)行機構(gòu)和反饋部分(1)執(zhí)行機構(gòu)在本次設(shè)計中,為了方便將其看作比例模型,比例系數(shù)為1。直流電機直接控制閥門的開度,直流電機通過正轉(zhuǎn)和反轉(zhuǎn)分別控制閥門開大和關(guān)小。其中,直流電機的輸入電壓為05v。(2)反饋環(huán)節(jié)反饋環(huán)節(jié)采用電位器傳感器,將閥門的開度范圍轉(zhuǎn)化為電信號,經(jīng)過放大器放大后與設(shè)定值進行比較。如果設(shè)定值大于反饋值,直流電機正轉(zhuǎn),閥門

11、開度增大;如果設(shè)定值小于反饋值,直流電機反轉(zhuǎn),閥門開度減小。由于實際試驗時,缺少電位器傳感器原件,我們用滑動變阻器代替?;瑒幼冏杵鞯碾娮璺秶鸀?10k,通過改變滑動變阻器的阻值,改變電路反饋電壓,與設(shè)定值進行比較。2.3 模塊模擬采用simulink進行仿真,使用pid進行調(diào)節(jié)時,使用試湊法,方法如下:只采用比例調(diào)節(jié),改變的值,得到最佳效果;采用比例積分調(diào)節(jié),保持的值不變,改變的值,得到最佳效果;采用比例積分微分調(diào)節(jié),保持、的值不變,改變的值,得到最佳效果。當(dāng)、時,仿真效果最佳,simulink仿真圖如下:這里,設(shè)定值,采用如上pid調(diào)節(jié),simulink仿真結(jié)果如下。結(jié)果顯示,調(diào)節(jié)效果較優(yōu)。

12、第3章 系統(tǒng)硬件設(shè)計 總方案:此方案所選用的主控芯片為stc89c52,整個控制系統(tǒng)的算法都有此芯片負責(zé)完成。給單片機輸入一個位移量作為閥門的的設(shè)定值,然后通過滑動變阻器模擬的位移傳感器測得閥門的實際位移值,通過求差得到此時的偏移量e,利用設(shè)定好的控制算法計算得到此時的控制量輸出u,再根據(jù)u可得知驅(qū)動電機的電壓,由此即可知道所需的pwm波的占空比,據(jù)此輸出一個與計算結(jié)果相符合的pwm波,用于驅(qū)動電機。電機轉(zhuǎn)過一定的角度,則此時的偏差e減小,控制量u也因此而減小,電機的轉(zhuǎn)速下降,直到實際測得的閥門位移量與設(shè)定值相等,則此時的偏差e與控制量u都為0,電機停止轉(zhuǎn)動,此時電機的位置即為設(shè)定的位移量。在

13、單片機的外圍還有數(shù)碼管顯示電路與按鍵掃描電路。數(shù)碼管顯示電路用于顯示當(dāng)前的測量值與定值,該電路通過兩片74ls573鎖存器實現(xiàn)數(shù)碼管的動態(tài)顯示。按鍵掃描電路共有3個按鍵,分別用于設(shè)定值的加一、減一與復(fù)位。電路當(dāng)中所需的15v與5v供電電壓由供電電路提供,供電電路先后通過變壓器、電橋、濾波電路與穩(wěn)壓芯片產(chǎn)生15v與5v的電壓,為整個電路供電。 由上述方案可知,此電路共分為供電電路、數(shù)控電路部分(包括按鍵掃描電路、數(shù)碼管顯示電路)、采樣調(diào)理電路與電機驅(qū)動電路等5部分,下面分別介紹各部分電路的組成與作用。3.1 采樣調(diào)理電路 由于閥門的位置信號為位移信號。因此這里的傳感器應(yīng)為位移式傳感器。位移式傳感

14、器的原理為:通過指針與閥門相連,當(dāng)閥門動作時帶動其相連的指針一起運動。指針的另一端為精密滑動變阻器的滑動端,如此便可改變滑動變阻器連入電路當(dāng)中的阻值,進而改變此傳感器的電壓輸出值。 在此系統(tǒng)中我們用一個滑動變阻器模擬位移式傳感器,其上所加的電壓為5伏,則此滑動變阻器的電壓輸出范圍為0-5v正好可以被ad轉(zhuǎn)化芯片所轉(zhuǎn)化,變?yōu)閿?shù)字量為單片機直接利用。3.1.1 adc0809芯片介紹ad轉(zhuǎn)換采用采用adc0809ccn芯片,adc0809是美國國家半導(dǎo)體公司生產(chǎn)的cmos工藝8通道,8位逐次逼近式a/d模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號

15、中的一個進行a/d轉(zhuǎn)換。(1)內(nèi)部結(jié)構(gòu)adc0809是cmos單片型逐次逼近式a/d轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型a/d轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成。(2)外部特性(引腳功能)adc0809芯片有28條引腳,采用雙列直插式封裝,如圖所示。下面說明各引腳功能。in0in7:8路模擬量輸入端。2-12-8:8位數(shù)字量輸出端。adda、addb、addc:3位地址輸入線,用于選通8路模擬輸入中的一路。ale:地址鎖存允許信號,輸入,高電平有效。start: a/d轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖

16、上升沿使0809復(fù)位,下降沿啟動a/d轉(zhuǎn)換)。eoc: a/d轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)a/d轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。oe:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)a/d轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。clk:時鐘脈沖輸入端。要求時鐘頻率不高于640khz。ref(+)、ref(-):基準電壓。vcc:電源,單一+5v。gnd:地。3.1.2 采樣調(diào)理電路的設(shè)計此系統(tǒng)中采樣調(diào)理電路是由adc0809和滑動變阻器組成,原理圖如圖所示。采樣調(diào)理電路中所選用的滑動變阻器為20k,當(dāng)指針指在滑動變阻器的最下端時,加在電壓跟隨器同相端的電壓為0v

17、,當(dāng)指針指在滑動變阻器上的任意位置時(除0以外),此時接入電路的電阻為x,則加在電壓跟隨器同相端的電壓為(x/20)*5v,電阻r7上無分壓的原因是,集成運放的輸入電阻極大,r7的組織與其相比可以忽略,因此r7上無分壓,即滑動變阻器上的電壓即為加在運算放大器同相端的電壓。(1).采樣電路的供電電壓 如圖,采樣電路的供電電壓是通過5v的輸出電壓接電壓跟隨器與濾波電路的作用之后給滑動變阻器供電。接電壓跟隨器的目的是增大輸入電阻減小輸出電阻,進而提高其帶負載能力。接濾波電路的原因是,采樣信號的精度要求比較高,應(yīng)盡量減小紋波對采樣信號的影響,以免影響控制精度。 (2).采樣電路的輸出電路如圖,利用滑動

18、變阻器來模擬位移傳感器,由上述分析可知滑動變阻器的輸出電壓為0v到5v,輸出電壓經(jīng)過型濾波及電壓跟隨器的作用后作為adc0809的模擬量輸入值輸入,并進行轉(zhuǎn)化。3.2 數(shù)碼管顯示電路 選用的數(shù)碼管為七段共陰極數(shù)碼管,該數(shù)碼管內(nèi)的發(fā)光二極管的公共端接低電平,二極管的點亮通過各引出端來控制,輸出高電平時發(fā)光二極管點亮,共陰極數(shù)碼管的編碼表為uchar code table_x= /編碼表無點數(shù)碼管顯示0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,當(dāng)p1口分別輸出這些值時數(shù)碼管顯示分別為0到9。數(shù)碼管的選通端與一片鎖存器相連,用于通過鎖存器選用哪

19、一片數(shù)碼管有效,數(shù)碼管的數(shù)據(jù)輸入端與另外一片鎖存器相連,用于在該數(shù)碼管選通時給數(shù)碼管輸入數(shù)據(jù)。由于片選鎖存器一次性只能選通一片數(shù)碼管,因此同一時刻只能有一個數(shù)碼管顯示數(shù)字,而我們要求的是同時顯示其設(shè)定值與反饋值,所以需要讓數(shù)碼管顯示程序循環(huán)執(zhí)行,利用人的視覺具有延遲性這一特點讓數(shù)碼管看起來同時點亮。3.2.1 74ac573b芯片介紹74hc573包含八進制3態(tài)非反轉(zhuǎn)透明鎖存器,span是一種高性能硅門cmosspan器件。sl74hc573跟ls/al573的管腳一樣。器件的輸入是和標(biāo)準cmos輸出兼容的,加上拉電阻他們能和ls/alsttl輸出兼容。hc573引腳功能表:pin no 引腳

20、號symbol符號name and function名稱及功能1oe3 state output enable input (active low)3態(tài)輸出使能輸入(低電平)2, 3, 4, 5, 6, 7, 8, 9d0 to d7data inputs數(shù)據(jù)輸入12,13,14,15,16,17,18,19q0 to q73 state latch outputs 3態(tài)鎖存輸出11lelatch enable input 鎖存使能輸入10gndground接地(0v)20vccpositive supply voltage電源電壓3.2.2 數(shù)碼管顯示電路的設(shè)計此系統(tǒng)中數(shù)碼管顯示電路是由hc

21、573緩沖器和數(shù)碼管組成,原理圖如圖所示。 選用的數(shù)碼管為七段共陰極數(shù)碼管,該數(shù)碼管內(nèi)的發(fā)光二極管的公共端接低電平,二極管的點亮通過各引出端來控制,輸出高電平時發(fā)光二極管點亮,共陰極數(shù)碼管的編碼表為uchar code table_x= /編碼表無點數(shù)碼管顯示0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,當(dāng)p1口分別輸出這些值時數(shù)碼管顯示分別為0到9。數(shù)碼管的選通端與一片鎖存器相連,用于通過鎖存器選用哪一片數(shù)碼管有效,數(shù)碼管的數(shù)據(jù)輸入端與另外一片鎖存器相連,用于在該數(shù)碼管選通時給數(shù)碼管輸入數(shù)據(jù)。由于片選鎖存器一次性只能選通一片數(shù)碼管,因此同

22、一時刻只能有一個數(shù)碼管顯示數(shù)字,而我們要求的是同時顯示其設(shè)定值與反饋值,所以需要讓數(shù)碼管顯示程序循環(huán)執(zhí)行,利用人的視覺具有延遲性這一特點讓數(shù)碼管看起來同時點亮。3.3 電機驅(qū)動模塊此系統(tǒng)中電機驅(qū)動模塊是由2個綜合高電流驅(qū)動電動機btn7971b和濾波電路組成,原理圖如圖所示。由上圖可知,電機驅(qū)動模塊是由2個綜合高電流驅(qū)動電動機motora、motorb組成。其中,motora控制電機正轉(zhuǎn),motorb控制電機反轉(zhuǎn),從而控制閥門開度。直流電機驅(qū)動電路的驅(qū)動芯片選用的是btn7971,該芯片內(nèi)部由兩個mos管組成,由此可知,兩片btn7971驅(qū)動芯片可以組成一個全橋驅(qū)動電路,用于驅(qū)動電機正反轉(zhuǎn)。

23、btn7971的1管腳為接地端。2管腳為pwm波的輸入端,兩個btn7971的2管腳分別與p3.4,p3.5相連,這里p3.4,p3.5兩個管腳用作普通的i/o引腳,而非其定時器功能,利用調(diào)用延時函數(shù)的方法產(chǎn)生pwm波,延時的長短決定了pwm波的占空比的大小。btn7971的3管腳為芯片的使能端,兩片芯片的3管腳都連接到了開關(guān)電路之中,用于控制電機驅(qū)動電路的開關(guān)。4管腳與8管腳均為驅(qū)動芯片的輸出端,用于輸出驅(qū)動電機的直流信號。5管腳決定了芯片的轉(zhuǎn)換頻率,由5管腳與gnd之間連接的電阻決定。6管腳為芯片的電流反饋管腳。7為供電電壓管腳,btn7971的供電電壓的范圍為8v到45v,因此15v電壓

24、安全可靠,15v電壓經(jīng)過濾波電路后作為芯片的供電電壓使用。3.4 單片機stc89c523.4.1 stc89c52介紹 stc89c52的封裝如圖所示: 本文采用stc89c52單片機。其中,stc89c52是stc公司生產(chǎn)的一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flash存儲器。stc89c52使用經(jīng)典的mcs-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得stc89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準功能: 8k字節(jié)flash,512字節(jié)r

25、am, 32 位i/o 口線,看門狗定時器,內(nèi)置4kb eeprom,max810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 stc89c52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,cpu 停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35mhz,6t/12t可選。引腳部分:stc89c52單片機引腳基本電路部分與普通設(shè)計無異,31腳和40腳接vcc+5v,

26、20腳接地。x1,x2兩腳接12mhz的晶振,構(gòu)成時鐘電路。可得單片機機器周期為1微秒。rst腳外延一個rst復(fù)位電路。p0口作為數(shù)據(jù)總線與adc0809的數(shù)據(jù)輸入端相連,用于接收經(jīng)過adc0809轉(zhuǎn)換后的采樣信號。p1口用于數(shù)碼管顯示部分的連接,該口為復(fù)用口,與兩個鎖存器相連接,一個鎖存器用于對四個數(shù)碼管選擇使能,即所謂的片選,另一個鎖存器用于向數(shù)碼管傳送數(shù)據(jù),即段選。兩片鎖存器的輸入使能管腳分別與p2.5,p2.6相連接,通過這兩個管腳選通鎖存器進而選則特定的數(shù)碼管,并輸出所需的數(shù)據(jù),我們的方案中錢兩個數(shù)碼管用于顯示設(shè)定值,后兩個數(shù)碼管用于顯示測量值。p2.3,p2.2,p2.1三個引腳用

27、于連接三個按鍵,分別進行設(shè)定值現(xiàn)場控制的加、減及清零運算。3.4.2 stc89c52連接圖stc89c52原理圖如下所示。3.5 供電電路設(shè)計 供電電路部分包括:變壓、整流、濾波和穩(wěn)壓等4個部分。整流選用橋式整流,濾波選用電容濾波,穩(wěn)壓采用lm7815、lm7805,產(chǎn)生15v及5v電壓,為系統(tǒng)供電。該部分電路圖如下: 1.參數(shù)的確定 (1).變壓器的型號 由lm7815的datasheet可知,其輸入電壓的取值范圍為 |17.5v|<vi<|30v|,因此濾波電路的輸出電壓可選為17.5v,考慮到紋波的影響以及電網(wǎng)的波動可取濾波電路的輸出電壓為21.175v。由于我們所選用的濾

28、波電路為電容濾波,而電容濾波電路的輸出電壓 vl=(1.11.2)v2 取vl=1.15*v2得,整流電路的輸出電壓 v2為21.175/1.1519.82v 而整流電路我們所選用的是1n4007,其正向壓降:0.6v0.7v,因此變壓器的輸出電壓應(yīng)至少為20v。本方案中選用的變壓器為25v。(2).功率部分 在橋式整流電路中,變壓器次級電流與濾波器輸出電流的關(guān)系為: i2=(1.52.0)i1(1.52.0)io=1.75×0.5a=0.875a 取變壓器的效率為=0.8 p=u2i2/=18×0.875/0.8=19.687520w (3).電容的選取 在電容濾波電路當(dāng)

29、中負載平均電壓vl升高紋波減小,且rlc越大,電容放電速率越慢,則負載電壓中的紋波成分越小,負載平均電壓越高。 為了得到平滑的負載電壓,一般取 td=rlc(35)t/2 式中t為電源交流電壓的周期。 rl=u1/i1=21.175/0.5=42.35 則 c(35)t/2/371180uf 本系統(tǒng)中該電容的容值為4700uf(電容越大,電容放電速率越慢,則負載電壓中的紋波成分越小)。 又因為ucmax=2u2(1+10%)=38.89v 因此電解電容c選用4700f,50v的電解電容。 另外為了濾除高頻干擾和改善電源的動態(tài)特性還需在濾波電容兩端并聯(lián)0.01uf到0.1uf的高頻瓷片電容。在這

30、里選用104瓷片電容。 2.整流部分 整流部分選用橋式整流 id=1/2*i2max=1/2×0.875=0.4375a urm=2*u2×(1+10%)=28.64v(反向電壓) 所以整流二極管選用1n4007(id=1a ,urm=1000v)可以滿足設(shè)計要求。3.穩(wěn)壓芯片的選擇根據(jù)題目要求可選取lm7815,lm7805 穩(wěn)壓芯片,其穩(wěn)壓系數(shù),輸出電阻,紋波大小等性能指標(biāo)均能滿足設(shè)計要求。3.6 串口通信電路單片機與pc上位機進行串口通信時通常需要進行兩種電平之間的轉(zhuǎn)換,單片機使用的是ttl電平,而pc上位機使用rs232電平,其高電平為+12v低電平為-12v。本電

31、路中使用max232芯片完成上述兩種電平的轉(zhuǎn)換,其連接電路如下:第4章 系統(tǒng)的軟件設(shè)計4.1 主程序設(shè)計本系統(tǒng)中單片機stc89c52的主要功能是實現(xiàn)數(shù)據(jù)的讀取、數(shù)碼管顯示、按鍵掃描、控制直流電機等功能。首先進行初始化,然后確定設(shè)定值,與反饋值比較并用pid和pwm進行控制。其主程序流程如下圖所示:4.2 鍵盤掃描子程序設(shè)計調(diào)用鍵盤掃描子程序,反復(fù)的掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),來響應(yīng)鍵盤的輸入請求。 其主程序流程如下圖所示:4.3控制子程序設(shè)計調(diào)用控制子程序,首先判斷偏差值確定是否滿足要求,如不滿足則確定正反轉(zhuǎn)并根據(jù)偏差選用對應(yīng)速度。其主程序流程如下圖所示:4.4 led顯示設(shè)計

32、緩沖器u8選擇4個led燈中某一個,緩沖器u7決定led燈的數(shù)值。led燈高位使用8段數(shù)碼管,小數(shù)點一直點亮;低位使用7位數(shù)碼管。led顯示設(shè)計的主程序流程如下圖所示:參考文獻1 閻 石.數(shù)字電子技術(shù)基礎(chǔ)m.高等教育出版社.2006,12.2 史新福,馮萍. 32位微型計算機原理接口技術(shù)及其應(yīng)用m.清華大學(xué)出版社.2007,1.3 程國鋼.案例解說單片機c語言開發(fā)基于8051+proteus仿真m.電子工業(yè)出版社. 2012,9.4 盧京潮. 自動控制原理m.西北工業(yè)大學(xué)出版社.2009,8. 5 廖正軍.智能閥門定位器pid 單參數(shù)模糊自適應(yīng)控制設(shè)計j.2003,5月.6 廖瑋.基于hart

33、協(xié)議的智能定位閥控制系統(tǒng)的研制和開發(fā)j.2009,5月.7 高金源.計算機控制系統(tǒng)m.北京航空航天大學(xué)出版社.2001.附錄1、控制系統(tǒng)主程序#includ<reg52.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned intsbit pwm1=p35;sbit pwm0=p34;sbit start=p36;sbit eoc=p30;sbit oe=p27;sbit le1=p26;sbit le2=p25;sbit k1=p20;sbit k2=p21;sbit k3=p22;s

34、bit le1=p26;sbit le2=p25;unsigh double r=0;uint adval;double m,n;bit jia=0;bit jian=0;uchar tab1=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x5f; /共陰極led 09的七段數(shù)碼管段碼uchar tab2=0xbf,0x86,0xdb,0xcf,0xe6, 0xed,0xfd,0x87,0xff,0xef; /共陰極led 09的八段數(shù)碼管段碼unsigned char a,b,m,n,x,y,s1,s2;void delayms(unit ms

35、); /延時程序 void scan_key(); /鍵掃描程序void adc(); /a/d程序void led_volt(); /數(shù)碼管顯示程序 void pwm0_creat(); /pwm0產(chǎn)生程序void pwm1_creat(); /pwm1產(chǎn)生程序void pid(); /pid控制程序void main() while(1) scan_key(); /鍵掃描程序 adc(); led_volt(); /數(shù)碼管顯示電壓值 pid(); 2、延遲子程序void delayms(unit ms) /延時程序(假設(shè)晶振為12mhz) uchar j; while(ms-) for(j

36、=0,j<120;j+) 3、按鍵掃描程序void scan_key() /鍵掃描程序 usighed char key1,key2; while (1) key1=p2; /讀取p2口狀態(tài) if(key1!=0xff) /如果鍵被按下 delayms(10); /調(diào)用延時程序 key2=p2; /再次讀取p2口狀態(tài) if(key1=key2) /兩次結(jié)果是否一致 if(k1=0) /鍵1是否按下 jia=1; if(k2=0) /鍵2是否按下 jian=1; if(k3=0) /鍵3是否按下 r=0; else key1=kye1|0x0f; else if(jia=1) /k1按下,

37、給定值r加一 jia=0;r+; if(jian=1) /k2按下,給定值r減一 jian=0;r-; 4、a/d轉(zhuǎn)換程序void adc() start=0; /啟動a/d轉(zhuǎn)化 start=1; start=0; while(eoc=0); /等待轉(zhuǎn)換結(jié)束 oe=1; adval=p0; /轉(zhuǎn)換結(jié)果轉(zhuǎn)存 oe=0; 5、數(shù)碼管顯示程序void led_volt() /數(shù)碼管顯示電壓值 usighed int a,b; float volt; volt=adval*5/255*10; a=volt/10; b=volt%10; le1=1; /選通鎖存芯片1 p1=0x01; le1=0 ;

38、/p1=1,選通led1顯示采樣電壓值 le2=1; /選通鎖存芯片2 p1=tab2a; /送顯示電壓值整數(shù)部分 delayms(10) p1=0x00; /消隱 le1=1; p1=0x02; /選擇led2 le1=0; p1=tab1b; /送顯示電壓值的小數(shù)部分 delayms(10); p1=0x00; a=r/10; b=r%10; le1=1; p1=0x03; /選通led3 le1=0; p1=tab2a; /送顯示給定值r的整數(shù)部分 delayms(10); p1=0x00; le1=1; p1=0x04; /選通led4 le1=0; p1=tab1b; delayms

39、(10); /送顯示給定值r的小數(shù)部分 p1=0x00; 6、電機偏差比較程序void pwm1_creat(double m,x)if(m>=s1) /測得偏差值與設(shè)定偏差值進行比較,若不在設(shè)定范圍內(nèi)則大功率正轉(zhuǎn) a=255; else if(m<s2) /若在很小范圍內(nèi)0.1%(死區(qū))內(nèi)時,認為達到設(shè)定值停止運轉(zhuǎn) a=0; else /若到達設(shè)定范圍則調(diào)用pid程序,進行有效運轉(zhuǎn) a=255*(x/u); pwm1=0; delayms (a); pwm1=1; delayms (255-a);void pwm0_creat(double n,y) if(n>=s1) /

40、測得偏差值與設(shè)定偏差值進行比較,若不在設(shè)定范圍內(nèi)則大功率反轉(zhuǎn) b=255; else if(n<s2) /若在很小范圍內(nèi)0.1%(死區(qū))內(nèi)時,認為達到設(shè)定值停止運轉(zhuǎn) b=0; else /若到達設(shè)定范圍則調(diào)用pid程序,進行有效運轉(zhuǎn) b=255*(y/u); pwm0=0; delayms (b); pwm0=1; delayms (255-b); 7、pid控制算法 void pid()double e0,e1,e2;/定義偏差值double r; /定義設(shè)定值double adval; /定義實際值double p,i,d;/定義比例,積分,微分系數(shù)double du,u; if(r=adval) /停轉(zhuǎn) pwm1=1; pwm0=1; else if(r>adval) /設(shè)定值>采集量, 電機正轉(zhuǎn),開大閥門。e0=e1; e1=e2; e2=r-adval; du=p*(e2-e1)+i*e2+d*(e2-2*e1+e0); /pid算法 m=e2;x=du;u=u+x; pwm0=1; pwm1_creat();/順時針轉(zhuǎn)動 else e0=e1; e1=e2; e2=adval-r; du=p*(e2-e1)+i*e2+d*(e2-2*e1+e0); /pid算法 n=e2; y=du; u=u+y; pwm1=1; pwm0_

溫馨提示

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

評論

0/150

提交評論