基于單片機的直流電機閉環調速控制系統xin_第1頁
基于單片機的直流電機閉環調速控制系統xin_第2頁
基于單片機的直流電機閉環調速控制系統xin_第3頁
基于單片機的直流電機閉環調速控制系統xin_第4頁
基于單片機的直流電機閉環調速控制系統xin_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、題 目 直流電機閉環調速系統控制院 系 專 業 組 別 組 長 指導教師 基于單片機的直流電機閉環調速控制系統摘要:設計以AT89C51單片機控制模塊為核心,由單片機控制、直流電機轉速為被測量組成的控制系統。原理是利用紅外線光電傳感器接收直流電機轉速所產生的紅外信號轉換成電信號傳輸給單片機,并調節轉速的閉環調速控制系統。1. AT80C51單片機介紹1.1主電源引腳Vss(20腳): 電路地電平Vcc(40腳): 正常運行和編程校檢(8051/8751)時為+5V電源。 1.2外接晶振或外部振蕩器引腳XTAL1(19腳): 接外部晶振的一個引腳. 在單片機內部, 它是一個反相放大器的輸入端,

2、這個放大器構成了片內振蕩器. 當采用外部振蕩器時, 此引腳應該接地. XTAL2(18腳): 接外部晶振的另一個引腳. 在片內接至振蕩器的反相放大器的輸出和內部時鐘發生器的輸入端. 當采用外部振蕩器時, 則此引腳接外部振蕩信號的輸入。 1.3控制、選通或電源復用引腳RST/Vpd(9引腳): RST即Reset(復位)信號輸入端。ALE/PROG(30引腳): ALE, 允許地址索存信號輸出。 PSEN(29腳): 訪問外部程序存儲器選通信號, 低電平有效。. Vpp/EA(31引腳): EA為訪問內部或外部程序存儲器選擇信號。 1.4多功能I/O口引腳P0口(32-39腳):8位漏極開路雙向

3、并行I/O接口. P1口(1-8腳): 8位準雙向并行I/O接口. P2口(21-28腳):8位準雙向并行I/O接口. P3口(10-17腳):具有內部上拉電路的8位準雙向并行I/O端口。它還提供第二特殊功能,具體含義為: P3.0(10腳)RXD: 串行數據接收端。 P3.1(10腳)TXD: 串行數據發送端。 P3.2(10腳)INT0: 外部中斷0請求端, 低電平有效。 P3.3(10腳)INT1: 外部中斷1請求端, 低電平有效。. P3.4(10腳)T0: 定時器/計數器0外部事件計數輸入端。. P3.5(10腳)T1: 定時器/計數器1外部事件計數輸入端。P3.6(10腳)WR:

4、外部數據存儲器寫選通, 低電平有效。 P3.7(10腳)RD: 外部數據存儲器讀選通, 低電平有效。 2. 設計任務通過加速、減速按鍵實現電機的加速與減速,并將當前的轉速的設定值反饋回來經PID調解后的轉速經LCD顯示出來。電機調速系統框圖3.系統流程圖電機控制軟件流程圖上圖為積分分離式PID控制算法的流程圖。通過80C51給定的轉速與紅外檢測電路測得的經計算后的速度得到偏差ek 。與設定的e max相比較,若e k e max可以采用PID控制提高系統的控制精度,若ek e max則采用PD控制,可以避免系統產生較大的超調量而且采用PD控制又可以提高系統的靈敏性。4.電路模塊及原理4.1驅動

5、電路直流電動機驅動電路圖如圖1所示。其中L298 的ENA、IN1和IN2引腳與單片機的輸出引腳相連,圖中未表示。圖2 直流電動機驅動電路圖L298芯片 管腳說明:(1) SENSA:電流監測端,H橋的電流反饋腳,不用時可直接接地。(2) OUT1:輸出端,與M1對應。(3) OUT2:輸出端,與M2對應。(4) VS:電源,用來給電動機供電。(5) IN1:輸入端。(6) ENA:使能端,和M1、M2配合使用。(7) IN2:輸入端。(8) GND:接地。(9) VCC:電源,用來給芯片供電。(10) IN3:輸入端(11) ENB:使能端,和M3、M4配合使用。(12) IN2:輸入端。(

6、13) OUT3:輸出端,與M3對應。(14) OUT4:輸出端,與M4對應。(15) SENSB:電流監測端,H橋的電流反饋腳,不用時可直接接地。電機控制說明如表1所示,其中*值可取1也可取0。SENSEENAIN1IN2電機效果0*停止110正傳101反轉100停止PROTEUS仿真加速PWM脈寬如下圖4.2穩壓電路L7805cc其中1接整流器輸出的+電壓,2為公共地(也就是負極),3就是我們需要的正5V輸出電壓了4.3時鐘電路就單片機內部每個部件要想協調一致地工作,必須在統一口令時鐘信號的控制下工作。單片機工作所需要的時鐘信號有兩種產生方式,即內部時鐘方式和外部時鐘方式。圖是內部時鐘方式

7、:單片機內部有一個構成振蕩器的增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個放大器與作為反饋元件的片外晶振一起構成自激振蕩器。在該圖中,電容C1和C2取30pf,晶體的振蕩頻率取12Mhz,晶體振蕩頻率高,則系統的時鐘頻率也高,單片機運行速度也就快。實際連接如圖所示4.4按鍵電路4.5復位電路8051系列單片機在啟動時都需要復位, 使CPU及系統部件處于確定的初始狀態, 并從初始狀態開始工作. 8051系列單片機的復位信號從RST引腳接入到芯片的施密特觸發器中. 當單片機系統處于正常工作狀態, 且振蕩器穩定后, 在每個機器周期都要對RST引腳的狀態進行采樣7.

8、復位電路有上電復位和手動復位上電復位: 上電復位電路是一種簡單的復位電路, 只要在RST復位引腳接一個電容到Vcc,接一個電阻到低就可以了. 上電復位是指在給系統上電時, 復位電路通過電容加到RST復位引腳一個短暫的高電平信號, 這個復位信號隨著Vcc對電容的充電過程而回落, 所以RST復位引腳的高電平維持時間取決于電容的充電時間. 為了保證系統安全可靠的復位,RST引腳的高電平信號必須維持足夠長的時間. 手動復位: 手動復位需要人為在復位輸入端加高電平讓系統復位. 一般采用的方法是在RST端和正電源Vcc之間接一個按鍵,當按下按鍵后, Vcc和RST端接通, RST引腳在高電平, 而且按鍵動

9、作一般是數十毫秒, 大于2個機器周期的時間, 能夠安全的讓系統復位.本系統采用的是上電復位方式4.6檢測電路4.6.1傳感器本設計采用的是紅外傳感器(由紅外線發射管、紅外線接收管構成的紅外計數電路)紅外線發射管簡介:紅外線發射管也稱紅外線發射二極管,屬于二極管類。它是可以將電能直接轉換成近紅外光(不可見光)并能輻射出去的發光器件,主要應用于各種光電開關及遙控發射電路中。紅外線發射管的結構、原理與普通發光二極管相近,只是使用的半導體材料不同。紅外發光二極管通常使用砷化鎵(GaAs)、砷鋁化鎵(GaAlAs)等材料,采用全透明或淺藍色、黑色的樹脂封裝。 產品參數:發射距離、發射角度(15度、30度

10、、45度、60度、90度、120度、180度)、發射的光強度、波長。以上決定紅外線發射管產品的主要性能及使用范圍。紅外線接收管特征與原理:紅外線接收管是將紅外線光信號變成電信號的半導體器件,它的核心部件是一個特殊材料的PN結,和普通二極管相比,在結構上采取了大的改變,紅外線接收管為了更多更大面積的接受入射光線,PN結面積盡量做的比較大,電極面積盡量減小,而且PN結的結深很淺,一般小于1微米。紅外線接收二極管是在反向電壓作用之下工作的。沒有光照時,反向電流很小(一般小于0.1微安),稱為暗電流。當有紅外線光照時,攜帶能量的紅外線光子進入PN結后,把能量傳給共價鍵上的束縛電子,使部分電子掙脫共價鍵

11、,從而產生電子-空穴對(簡稱:光生載流子)。它們在反向電壓作用下參加漂移運動,使反向電流明顯變大,光的強度越大,反向電流也越大。這種特性稱為“光電導”。紅外線接收二極管在一般照度的光線照射下,所產生的電流叫光電流。如果在外電路上接上負載,負載上就獲得了電信號,而且這個電信號隨著光的變化而相應變化。 分類: 紅外線接收管有兩種,一種是光電二極管,另一種是光電三極管。光電二極管就是將光信號轉化為電信號,光電三極管在將光信號轉化為電信號的同時,也把電流放大了。因此,光電三極管也分為兩種,分別別是NPN型和PNP型。 作用: 紅外接收管的作用是進行光電轉換,在光控、紅外線遙控、光探測、光纖通信、光電耦

12、合等方面有廣泛的應用。 如何選擇紅外線接收管:紅外線最重要的參數就是光電信號的放大倍率,一般的有1000-1300 1300-1800 1800-2500,這些對靈敏度有決定作用。紅外計數電路紅外計數電路主要由紅外發射和接收電路組成. 紅外發射和接收電路: 在電動機上安裝一對紅外發射和接收管, 當電動機轉動時,對紅外光反射、散射和折射,穿過紅外光的光強瞬間減少, 紅外接收管導通程度也在瞬間減小, 因而產生一個脈沖信號; 信號放大比較電路: 電容拾取脈沖信號后由運放LM324進行放大, 放大倍數為10倍, 再將放大的信號由運放LM324比較后輸出標準的低電平脈沖信號(undershoot), 其

13、中C1=0. 01F, R1=11K, R2=500, R3=10K, R4=100K, R5=100K, R6=5K, R7=100K, R6 和R7 起著抗干擾作用1. 然后將獲得的脈沖信號送到單片機的計數器引腳進行計數, 這樣就可以達到計數的目的. 4.6.2光電耦合器抑制尖脈沖和各種雜訊干擾信號光電耦合器之所以在傳輸信號的同時能夠有效得抑制尖脈沖和各種雜訊干擾,使得通道上的信號雜訊比大為提高,主要有以下幾方面的原因:1. 光電耦合器的輸入阻抗很小,只有幾百歐姆,而干擾源的阻抗較大,通常為105-106歐姆。據分壓原理可知,即使干擾電壓的幅度較大,但饋送到光電耦合器輸入端的雜訊電壓會很小

14、,只能形成很微弱的電流,由于沒有足夠的能量而不能使二極管發光,從而被抑制掉了。2. 光電耦合器的輸入回路與輸出回路之間沒有電氣聯系,也沒有共地;之間分布電容極小,而絕緣電阻又很大,因此回路一邊的各種干擾雜訊都很難通過光電耦合器饋送到另一邊去,避免了共阻抗耦合的干擾信號的產生。3. 光電耦合器可以起到很好的安全保障作用,即使當外部設備出現故障,甚至輸入信號短接時,也不會損壞儀表。因為光電耦合器件的輸入回路和輸出回路之間可以承受幾千伏的高壓。4. 光電耦合器的回應速度極快,其回應延遲時間只有10微秒,適于對回應速度要求很高的場合。4.7 lm358LM358 內部包括有兩個獨立的、高增益、內部頻率

15、補償的雙運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。LM358 的封裝形式有塑封8引線雙列直插式和貼片式 LM358·內部頻率補償 · 直流電壓增益高(約100dB) · 單位增益頻帶寬(約1MHz) · 電源電壓范圍寬:單電源; 雙電源(±1.5 一±15V) · 低功耗電流,適合于電池供電 · 低輸入偏流 · 低輸入失調電壓和失調電流 

16、3; 共模輸入電壓范圍寬,包括接地 · 差模輸入電壓范圍寬,等于電源電壓范圍 · 輸出電壓擺幅大(0 至Vcc-1.5V) 該裝置電路原理見圖1。由紅外線傳感器、信號放大電路、電壓比較器、延時電路和音響報警電路等組成。紅外線探測傳感器IC1探測到前方人體輻射出的紅外線信號時,由IC1 的腳輸出微弱的電信號,經三極管VT1 等組成第一級放大電路放大,再通過C2輸入到運算放大器IC2中進行高增益、低噪聲放大,此時由IC2腳輸出的信號已足夠強。IC3作電壓比較器,它的第腳由R10、VD1提供基準電壓,當IC2腳輸出的信號電壓到達IC3的腳時,兩個輸入端的電壓進行比較,此時IC3的

17、腳由原來的高電平變為低電平。IC4 為報警延時電路,R14 和C6 組成延時電路,其時間約為1 分鐘。當IC3的腳變為低電平時,C6通過VD2放電,此時IC4 的腳變為低電平,它與IC4的腳基準電壓進行比較,當它低于其基準電壓時,IC4 的腳變為高電平,VT2 導通,訊響器BL通電發出報警聲。人體的紅外線信號消失后,IC3的腳又恢復高電平輸出,此時VD2 截止。由于C6兩端的電壓不能突變,故通過R14向C6 緩慢充電,當C6兩端的電壓高于其基準電壓時,IC4的腳才變為低電平,時間約為1 分鐘,即持續1分鐘報警。 由VT3、R20、C8 組成開機延時電路,時間也約為1 分鐘,它的設置主要是防止使

18、用者開機后立即報警,好讓使用者有足夠的時間離開監視現場,同時可防止停電后又來電時產生誤報。 該裝置采用912V直流電源供電,由T 降壓,全橋U整流,C10 濾波,檢測電路采用IC5 78L06供電。本裝置交直流兩用,自動無間斷轉換。4.8液晶顯示原理液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。根據要求選用1602LCD:1602LCD尺寸圖1602LCD主要技術參數: 顯示容量:16&#

19、215;2個字符芯片工作電壓:4.55.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)mm1602內部結構5仿真軟件簡介Protues軟件: 修改好各組件屬性以后就要將程序(HEX文件)載入單片機了。首先雙擊單片機圖標,系統同樣會彈出“Edit Component”對話框,來打開選擇程序代碼窗口,選中相應的HEX文件后返回,這時,按鈕左側的框中就填入了相應的HEX文件,點擊對話框的“OK”按鈕,回到文檔,程序文件就添加完畢了。工具條從左到右依次是“Play”、“Step”、“Pause”、“Stop”按鈕,即運行、

20、步進、暫停、停止。下面我們點擊“Play”按鈕來仿真運行,可以看到系統按照程序在運行著,而且我們還能看到其高低電平的實時變化。如果已經觀察到了結果就可以點擊“Stop”來停止運行。6編程軟件簡介 Keil C51單片機軟件開發系統的整體結構 C51工具包中的uVision與Ishell分別是C51 for Windows和for Dos的集成開發環境(IDE), 可以完成編輯、編譯、連接、調試、仿真等整個開發流程. 開發人員可用IDE本身或其它編輯器編輯C或匯編源文件. 然后分別由C51及A51編譯器編譯生成目標文件(.OBJ). 目標文件可由LIB51創14建生成庫文件, 也可以與庫文件一起

21、經L51連接定位生成絕對目標文件(.ABS). ABS文件由OH51轉換成標準的Hex文件, 以供調試器dScope51或tScope51使用進行源代碼級調試, 也可由仿真器使用直接對目標板進行調試, 也可以直接寫入程序存貯器如EPROM中. 3、使用獨立的Keil仿真器時, 應注意的事項: (1) 仿真器標配11.0592MHz的晶振, 但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振. (2) 仿真器上的復位按鈕只復位仿真芯片, 不復位目標系統. (3) 仿真芯片的31腳(/EA)已接至高電平, 所以仿真時只能使用片內ROM, 不能使用片外ROM; 但仿真器外引插針中的31腳并不與仿真芯

22、片的31腳相連, 故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統中使用. 優點:Keil C51生成的目標代碼效率非常之高, 多數語句生成的匯編代碼很緊湊, 容易理解. 在開發大型軟件時更能體現高級語言的優勢. 所以說, 一臺計算機、一套電子仿真軟件, 再加上一本虛擬實驗教程, 就可相當于一個設備先進的實驗室.(2) 仿真器上的復位按鈕只復位仿真芯片, 不復位目標系統. (3) 仿真芯片的31腳(/EA)已接至高電平, 所以仿真時只能使用片內ROM, 不能使用片外ROM; 但仿真器外引插針中的31腳并不與仿真芯片的31腳相連, 故該仿真器仍可插入到擴展有外部R

23、OM(其CPU的/EA引腳接至低電平)的目標系統中使用. 優點:Keil C51生成的目標代碼效率非常之高, 多數語句生成的匯編代碼很緊湊, 容易理解. 在開發大型軟件時更能體現高級語言的優勢. 所以說, 一臺計算機、一套電子仿真軟件, 再加上一本虛擬實驗教程, 就可相當于一個設備先進的實驗室. 以虛代實、以軟代硬, 就建立一個完善的虛擬實驗室. 在計算機上學習電工基礎, 模擬電路、數字電路、單片機應用系統等課程, 并進行電路設計、仿真、調試等。 7 原理圖8 序列表(見附錄1)9 小結本系統用單片機AT89C51作為直流電機調速系統的控制核心,利用紅外傳感器測量直流電機的轉速,控制直流電機的

24、轉動速度,用PWM調速方式控制直流電機轉動的速度,以及停止轉動,采用PID自動調節速度至預先設定的速度。整個系統的電路邏輯結構簡單,可靠性能高,實現功能強。在設計中牽涉到很多自己不熟悉的知識,學會了自己解決問題.使用中用到了KEIL 軟件進行程序的調試,生成可執行文件,并用PROTEUS進行了仿真實驗。 10 參考文獻1 王高,柳寧,謝存禧.基于DSP的數字PID伺服控制系統設計J.微計算機信息,2008(24):84-86.2 席鑫寧,潘宏俠.基于DSP的電機控制與狀態監測系統設計J.大電機技術,2009(3):31-33.3 王曉明.電動機的單片機控制M.北京:北京航空航天大學出版社,20

25、02.4 楊寧,胡學軍.單片機與控制技術M.北京:北京航空航天大學出版社,2004.5 楊加國 單片機原理與應用C51 程序設計M.北京:清華大學出版社,2008.3附錄一程序模塊清單#include <reg51.h>#include<math.h>#define uchar unsigned char#define uint unsigned int#define uchar unsigned char#define uint unsigned intsbit add=P00;sbit dec=P01;sbit en1=P30; /* L298的Enable A *

26、/sbit s1=P31; /* L298的Input 1 */sbit s2=P32; /* L298的Input 2 */uchar t=0; /* 中斷計數器 */uchar m1=0; /* 電機1速度值 */uchar tmp1; /* 電機當前速度值 */sbit E=P37 ;sbit RW=P36 ;sbit RS =P35 ;sbit test =P34;int time = 0 ;int high = 20 ;int period=0 ;int change = 0 ;int flag = 0 ;int num_medium=0;int num_display = 0;in

27、t count_speed=0;uchar wword=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/* 電機控制函數 index-電機號(1,2); speed-電機速度 (-100100) */void motor(uchar index, char speed)if(speed>=0 && speed<=100)if(index=1) /* 電機1的處理 */m1=abs(speed); /* 取速度的絕對值 */if(speed>0)s1=1;s2=0;void delay1(uint j) /*

28、 簡易延時函數 */for(j;j>0;j-);/延時t毫秒void delay(uchar t) uint i ;while(t) for(i=0;i<125;i+);t-;void wc51r(uchar j)RS=0;RW=0;P1=j;E=1;E=0;delay(3);/寫數據函數LCD void wc51ddr(uchar j)RS=1;RW=0;P1=j;E=1;E=0;delay(2);/初始化函數LCD void init () wc51r(0x01); /清屏 wc51r(0x38); /使用8位數據,顯示兩行,使用5*7的字型 wc51r(0x0c); /顯示器

29、件,光標開,字符不閃爍 wc51r(0x06); /字符不動,光標自動右移一格 /*/*T1中斷服務程序*單位時間(S)方波的個數*/ void time1_int(void) interrupt 3 count_speed+; if(count_speed=20) count_speed = 0; num_display = num_medium; num_medium = 0; /*/*速度顯示的數據處理*/void datamade() uint data MM,NN; wc51r(0xc2); wc51ddr('S'); wc51ddr('p'); wc

30、51ddr('e'); wc51ddr('e'); wc51ddr('d'); wc51ddr(0x3a); NN = num_display%100; MM = num_display/100; wc51ddr(wwordMM); MM = NN/10; NN = NN%10; wc51ddr(wwordMM); wc51ddr(wwordNN); /*/*主函數*/ void main() unsigned char i; P2 = 0x00; ET0 = 1; ET1 = 1; TMOD = 0x12; TH0=0x9B; /* 裝入定時器

31、的初值 */ TL0=0x9B;TH1 =0x3c; TL1 =0xb0; EA=1; /* 開中斷 */ TR0 = 1; TR1 = 1;init(); /液晶顯示初始化程序 while(1) while(add=0&&i<=100) motor(1,i); i+; delay1(5000); while(dec=0&&i>=0) motor(1,i); i-; delay1(5000); wc51r(0x84); wc51ddr('H'); wc51ddr('e'); wc51ddr('I'); wc51ddr('

溫馨提示

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

評論

0/150

提交評論