《計算機控制技術》課程設計說明書基于89C51單片機設計二相電機控制系統(tǒng)設計

上傳人:仙*** 文檔編號:28445958 上傳時間:2021-08-28 格式:DOC 頁數(shù):27 大?。?74KB
收藏 版權申訴 舉報 下載
《計算機控制技術》課程設計說明書基于89C51單片機設計二相電機控制系統(tǒng)設計_第1頁
第1頁 / 共27頁
《計算機控制技術》課程設計說明書基于89C51單片機設計二相電機控制系統(tǒng)設計_第2頁
第2頁 / 共27頁
《計算機控制技術》課程設計說明書基于89C51單片機設計二相電機控制系統(tǒng)設計_第3頁
第3頁 / 共27頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《計算機控制技術》課程設計說明書基于89C51單片機設計二相電機控制系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《《計算機控制技術》課程設計說明書基于89C51單片機設計二相電機控制系統(tǒng)設計(27頁珍藏版)》請在裝配圖網上搜索。

1、武漢理工大學《計算機控制技術》課程設計說明書 目錄 摘 要 1 1. 設計任務及要求 2 2. 方案比較及選擇 2 2.1 LED顯示選擇方案 2 2.2按鍵狀態(tài)的讀取 2 3. 系統(tǒng)實現(xiàn)的原理 3 3.1系統(tǒng)設計思路 3 3.2步進電機工作原理 3 3.2.1步進電機的啟停控制 3 3.2.2步進電機的控制時序 4 3.3系統(tǒng)整體方框圖 6 4. 系統(tǒng)硬件設計 7 4.1總體電路設計 7 4.2電機模塊電路設計 8 4.2.1電機控制部分電路 8 4.2.2步進電機驅動電路 9 4.3 顯示模塊電路 10 4.3.1發(fā)光二極管顯示電路 10 4.3.

2、2七段數(shù)碼管顯示電路 11 5. 系統(tǒng)軟件設計 11 5.1系統(tǒng)總體流程圖 11 5.2 二相步進電機工作方式模塊程序設計 13 5.2.1四拍方式模塊程序設計 13 5.2.2八拍方式模塊程序設計 14 5.3 系統(tǒng)顯示程序模塊設計 15 6系統(tǒng)仿真結果 16 心得體會 17 參考文獻: 18 附錄 本設計所用的C程序清單 19 武漢理工大學《計算機控制技術》課程設計說明書 摘 要 基于89C51單片機設計二相電機控制系統(tǒng),實現(xiàn)四拍和八拍方式轉動,并能進行調速和正反轉控制。同時由數(shù)碼管和LED顯示電機轉動步數(shù)和工作狀態(tài)。首先需要構建控制信號輸入和輸出顯示

3、器以及核心運算部分構成整個系統(tǒng),然后畫原理圖并且用PROTUES軟件仿真。設計過程中用到單片機、雙極性H橋驅動電路、數(shù)碼管顯示電路等模塊電路。設計的系統(tǒng)通過循環(huán)掃描狀態(tài)信號,控制電機的運轉同時輸出狀態(tài)。 關鍵詞:單片機,H橋,PROTUES,數(shù)碼管 Abstract Based 89C51 microcontroller design two-phase motor control system, having four-beat and eight-beat way to turn, and can control the speed and reversing.

4、At the same time,The digital control and LED display motor rotation step and working condition. First need to build a control signal input and output display parts and the core computing system, and then draw the schematic and software simulation with PROTUES. Microcontroller used in the design proc

5、ess, bipolar H-bridge driver circuit, the digital display module circuit. Scan through the system design cycle status signals to control the motor running while the output state. Key words: Single-chip, H-bridge, PROTUES, digital

6、 二相步進電機控制系統(tǒng)的設計 1. 設計任務及要求 設計一個二相步進電機控制系統(tǒng),電機有兩組帶中心抽頭的線圈,要求系統(tǒng)具有如下功能:采用雙極性(H橋)控制(不使用線圈的中心抽頭),用K0-K1做為通電方式選擇鍵,K0為四拍,K1為八拍, K2為啟動/停止控制;K3方向控制(正反轉);K4速度控制(快慢兩檔);用4位LED數(shù)碼管顯示工作步數(shù)。用3個發(fā)光二極管顯示狀態(tài):正轉時紅燈亮,反轉時黃燈亮,不轉時綠燈亮。 2. 方案比較及選擇 2.1 LED顯示方案的選擇 方案1:把所要顯示的數(shù)據通過液晶

7、顯示屏顯示。其優(yōu)點是輸出簡單,可以簡化硬件和程序,但增加了芯片的費用。 方案2:通過軟件把所要的數(shù)據轉化為七段顯示的數(shù)據,直接通過數(shù)碼管來顯示,其優(yōu)點是簡化了電路,但增加了軟件編寫的負擔。 通過對方案的比較,選擇方案2通過數(shù)碼管顯示信號,比較簡單經濟。 2.2按鍵狀態(tài)讀取方案的選擇 方案1:把按鍵接到單片機的中斷口,若有按鍵按下,單片機接收到中斷信號,再通過軟件編寫的中斷服務程序來執(zhí)行中斷,優(yōu)點是接線簡單,簡化了電路,但軟件編寫較為復雜,不易掌握。 方案2:不使用中斷,直接把開關分別接在單片機的接口上,通過查詢端口信號來動作。其優(yōu)點是程序得到簡化。 通過

8、對方案的比較,選擇方案2通過查詢方式來讀取端口信號,相對來說編程和硬件電路都比較簡單。 3. 系統(tǒng)實現(xiàn)的原理 3.1系統(tǒng)設計思路 本設計是設計一個步進電機控制系統(tǒng),主要由單片機80C51,二相四線步進電機,7段數(shù)碼管,雙極性H橋驅動電路設計而成??梢酝ㄟ^單片機P2口讀入開關信號來控制系統(tǒng)的啟/停等各種工作,當系統(tǒng)運轉時,用開關來控制方向轉速,并使相應的狀態(tài)指示燈亮起,同樣由開關來選擇工作模式。運轉時,用4位7段數(shù)碼管來顯示電機轉動的步數(shù)。根據設計的硬件電路圖設計相應的軟件完成各項功能。 3.2步進電機工作原理 3.2.1步進電機的啟停控制 步進電機是將電

9、脈沖信號轉變?yōu)榻俏灰频拈_關控制元件。電機的轉速,停止的位置指取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。如圖3-1為二相步進電機的工作原理圖。由圖可知,每個繞組都有一個中間抽頭。當電機的繞組通電后,其定子磁極產生磁場,當轉子吸合到相應的磁極處。若繞組的控制脈沖使定子在順時針方向輪流產生磁場,則電機可順時針轉動;通電方向與上相反,則電機可逆時針方向轉動。控制脈沖每作用一次,通電方向就變化一次,使電機轉動一步,脈沖頻率越高,電機轉動的也就越快。 圖3-1 二相步進電機原理圖 3.2.2步進電機的控制時序 根據步進電機的

10、工作原理,四拍工作方式下,當控制器給驅動器發(fā)出脈沖信號時,驅動器經過環(huán)形分配器和功率放大器后,給電動機繞組通電的順序為,其4個狀態(tài)按順序周而復始變化,電機正轉;若通電時序變?yōu)闀r,電機就逆向轉動。當八拍工作方式時,給電動機繞組通電的順序為時,電機正轉,反向通電時電機反轉。改變通電頻率時可相應的改變電機的轉速。 3.2.3步進電機的控制方式字 (1)二相四拍工作方式 在這種工作方式下, 、、、相輪流通電,電流切換四次,磁場旋轉一周,轉子向前轉過一個齒距角。因此這種通電方式叫做四拍工作方式。這時步距角θb (度)為 式中:m──定子相數(shù); z ──轉子齒數(shù);每

11、次切換均使轉子轉動90角。 四拍方式的控制字如表1所示: 表1 四拍工作方式控制字 步序 控制位 工作 狀態(tài) 控制 模型 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 0 0 0 0 1 0 1 0 0AH 2 0 0 0 0 1 0 0 1 09H 3 0 0 0 0 0 1 0 1 05H 4 0 0 0 0 0 1 1 0 06H

12、 (2)二相八拍工作方式 在此工作方式下,繞組以時序(或反時序)轉換8次,磁場旋轉一周,轉子前進一個齒距,每次切換均使轉子轉動45角,故這種通電方式稱為二相八拍工作方式。 八拍的控制方式字如表2所示: 表2 八拍工作方式控制字 步序 控制位 工作 狀態(tài) 控制 模型 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 0 0 1 0 0f2H 2 1 1 1 1 0 1 0 AB 0faH 3

13、 1 1 1 1 1 0 0 0 B 0f8H 4 1 1 1 1 1 0 0 1 0f9H 5 1 1 1 1 0 0 0 1 0f1H 6 1 1 1 1 0 1 0 1 0f5H 7 1 1 1 1 0 1 0 0 0f4H 8 1 1 1 1 0 1 1 0 0f6H 3.3系統(tǒng)整體方框圖 設計的系統(tǒng)的總體方框圖如

14、圖3-2所示: 89c51 單 片 機 整 體 控 制 器 數(shù)碼管顯示模塊 開關控制單元模塊 LED顯示電機工作狀態(tài) H橋驅動電機模塊 圖3-2 系統(tǒng)的整體方框圖 由系統(tǒng)的整體方框圖可以看出,本系統(tǒng)主要由控制部分、顯示部分和執(zhí)行部分3大部分組成。這幾部分通過89C51組合成整個系統(tǒng),單片機通過讀取系統(tǒng)狀態(tài)和控制信號,經過內部的運算把控制命令輸出給被控電機,同時把此時的工作狀態(tài)通過LED顯示,并通過數(shù)碼管顯示電機轉動步數(shù)。 4. 系統(tǒng)硬件設計 4.1總體電路設計 系統(tǒng)由單片

15、機控制著顯示部分和電機的運轉。電機由雙極性H橋驅動。用K0-K1做為通電方式選擇鍵,K0為四拍,K1為八拍。K2、K3分別為啟動和方向控制,K4為速度控制鍵。正轉時紅色指示燈亮,反轉時黃色指示燈亮,不轉時綠色指示燈亮。用數(shù)碼管顯示工作步數(shù)。 根據設計要求用PROTEUS畫出的硬件連線圖如下圖4-1所示: 圖4-1 系統(tǒng)總體硬件電路圖 4.2電機模塊電路設計 4.2.1電機控制部分電路 控制信號輸入部分電路圖如下圖4-2所示 圖4-2 按鍵控制部分電路圖 K3為電機轉動方向控制鍵。K4為速度控制開關,控制步進電機的轉速

16、。K0-K2為工作模式控制開關,K0接電時,為步進電機四拍工作模式;K1接電時,為步進電機八拍工作模式;K2啟動控制開關,控制整個系統(tǒng)的啟動和關閉,它們依次接單片機的P2.0-P2.3口。 4.2.2步進電機驅動電路 二相步進電機的驅動電路,如圖4-3所示: 圖4-3 步進電機驅動電路 電機的驅動電路部分由8個達林頓管來驅動2組相位。當步進電機運轉時,達林頓Q2和Q4導通時,線圈電流方向為;當達林頓管Q1和Q3導通時,線圈中電流方向為。可見,步進電機線圈中的電流方向在運轉過程中是不斷變化的。雙極性驅動電路的繞組線圈每次都有電

17、流通過,產生一個均勻的磁場,電機運轉的穩(wěn)定性更高。 4.3 顯示模塊電路 4.3.1發(fā)光二極管顯示電路 用3個不同顏色的發(fā)光二極管來作為電機工作狀態(tài)顯示燈,正轉時紅色指示燈亮,反轉時綠色指示燈亮,不轉時黃色指示燈亮。各個燈的亮與否不是軟件實現(xiàn)然后通過單片機完成的,而是控制信號通過邏輯電路搭接出來的。發(fā)光二極管顯示的部分電路圖如圖4-4所示: 圖4-4 狀態(tài)顯示部分電路圖 4.3.2 七段數(shù)碼管顯示電路 由89C51的P1口取出顯示碼,從89C51的P3.0-P3.3輸出位選碼

18、,設計中我們主要用到4位顯示步數(shù)既可。七段數(shù)碼管顯示部分的電路原理圖如圖4-5所示: 圖4-5 七段數(shù)碼管顯示部分的電路圖 5. 系統(tǒng)軟件設計 5.1系統(tǒng)總體流程圖 設計說明: 首先要復位單片機,然后從P2口讀出開關狀態(tài),判斷是否啟動,沒啟動黃燈亮重新確認啟動。啟動后再次讀取P2口數(shù)據,判斷工作方式并將對應的用來存儲步進電機工作方式字的數(shù)組首地址值給另一數(shù)組。由P0口的雙向開關來控制步進電機的正反轉,如果是正轉則紅燈亮,反轉則綠燈亮。在電機每走一步后,步數(shù)累加1,然后通過數(shù)碼管把工作步數(shù)顯示出來。再從P2口把狀態(tài)信息讀出來,與之前的P2口的狀態(tài)信息進行比較。如果狀態(tài)信息沒有改變

19、,電機繼續(xù)運行。如果狀態(tài)信息改變了,就需要重新返回程序的開端,對電機的運行狀態(tài)進行判斷,讓電機重新以新的狀態(tài)運行。由此,開關的狀態(tài)在電機每走一步都會查詢一遍,做到實時地反映。系統(tǒng)總體流程圖如圖5-1所示: 開始 快慢K4? 重新啟動 N 黃燈亮 給單片機復位 啟動? Y N N Y 置慢速標志 置快速標志 反 判斷轉向? 正 反轉 正轉 綠燈亮 紅燈亮 四拍方式? Y P0口指向八拍控制字數(shù)組 P0口指向四拍控制字數(shù)組 P0口輸出控制字 延時,步數(shù)加1,方

20、式字地址加1 數(shù)碼管動態(tài)顯示步數(shù) N 信號變化? Y 圖5-1 系統(tǒng)軟件總體流程圖 5.2 二相步進電機工作方式模塊程序設計 設計說明:在此設計中,采用的是二相步進電機,對于步進電機模塊的程序設計采用循環(huán)程序設計方法。先把正反轉向的控制模型存放在內存單元中,然后再逐一從單元中取出控制模塊并輸出。首先啟動,選擇步進電機的拍數(shù),輸入步數(shù),然后讀入正反轉的控制模型驅動步進電機轉動。 5.2.1四拍方式模塊程序設計 二相步進電機四拍工作的流程框圖如圖5-2所示: 開始

21、 N 是正轉嗎? Y 四拍反向控制字數(shù)組地址 四拍正轉方式控制字數(shù)組 輸出控制模型 電機轉動 延時,模型地址+1 N 信號變化? Y 圖5-2 二相步進電機四拍工作的流程框圖 5.2.2八拍方式模塊程序設計 二相步進電機八拍工作的流程框圖如圖5-3所示: 開始 是正轉嗎 N Y 八拍反向控制字數(shù)組地址 八拍正轉方式控制字數(shù)

22、組 輸出控制模型 電機轉動 延時,模型地址+1 N 信號變化? Y 圖5-3 二相步進電機八拍工作的流程框圖 5.3 系統(tǒng)顯示程序模塊設計 設計說明:顯示模塊是用4位7段數(shù)碼管來顯示工作步數(shù)。先將顯示碼存入數(shù)組中,指向最左邊一位,然后取出要顯示的數(shù)據,指向換碼表首地址,取出顯示碼,從P0口輸出顯示碼,P3口輸入位選碼,顯示出4位工作步數(shù),最后修改數(shù)組地址,求下一位顯示碼繼續(xù)顯示。顯示程序流程圖如圖5-4所示: 動態(tài)顯示子程

23、序 取出要顯示的數(shù)據 顯示數(shù)據的顯示碼 送位段碼到P0口輸出 送位顯碼到P3.0-P3.3輸出 延時 求下一位選碼 顯示數(shù)據的顯示碼 圖5-4 顯示模塊的程序流程圖 6系統(tǒng)仿真結果 當選擇電機工作在四拍,正轉的模式下,K0、K2置高電平,K1、K4置低電平,系統(tǒng)啟動,K3置高電平,電機開始四拍正轉。LED四位顯示屏顯示工作步數(shù),LED指示燈紅燈亮顯示電機正轉的狀態(tài)。仿真圖如圖6-1所示: 圖6-1 系統(tǒng)仿真結果截圖 心得體會 真的很辛苦,不過終于我的設計完成了。這一刻不僅是高興,更多的是激動。

24、此刻我也真正的學到了很多東西。已經不知道去過圖書館多少次查閱資料,一次一次的仿真實驗,一次一次的方案設計,一次一次的編制程序。在經歷過無數(shù)次的失敗,我終于成功了。得到了理想的仿真結果??粗约旱恼n程設計,真的無比的高興,心中充滿成就感。 通過本次課程設計,我得到了以往不曾有過的體會與經驗。將自己學到的理論知識通過本次課程設計應用到了實際應用當中,提高了自己各方面的能力。同時也加深了自己對于相關課程基礎理論知識的理解和掌握,學會了綜合運用所學知識。學會了應用所學的知識在實際硬件電路上編程完成所需功能。對單片機的應用有了進一步的掌握。懂得了如何去發(fā)現(xiàn)問題,思考問題,解決問題。通過這次計算機控制

25、的課程設計,我學會了靈活的運用單片機,更學會了異步電機的原理和如何去很好的控制異步電機工作。 最后,我最大的收獲就是: 失敗是成功之母,只要努力就會有收獲。 參考文獻: [1] 于海生編著.《計算機控制技術》.北京:機械工業(yè)出版社.2005 [2] 張義和、王敏男等編著.《例說51單片機》.北京:人民郵電出版社.2008 [3] 陳濤編著.《單片機應用及C51程序設計》.北京:機械工業(yè)出版社,2010 [4] 齊向東、劉立群編著.《單片機控制技術實踐》.北京:中國電力出版社,2009 [5] 張靖武,周靈彬編著.《單片機系統(tǒng)

26、的PROTEUS設計與仿真》. 北京:電子 工業(yè)出版社,2007. [6] 余炳雄,陳志玲,黎浩樑編寫.《二相步進電機驅動電路的設計》.廣州:華南師范大學學報,2009. 附錄 本設計所用的C程序清單 #include #define motor P0 #define led P1 #define kongzhi P2 #define deng P3 sbit led1=P3^0; sbit led2=P3^1; sbit led3=P3^2; s

27、bit led4=P3^3; sbit dansi=P2^0; sbit sudu=P2^1; sbit ba=P2^2; sbit qidong=P2^3; sbit fangxiang=P2^4; char table[10]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90}; //共陽極數(shù)碼管編碼 a1[]={0x0a,0x09,0x05,0x06}; //四拍正轉 a2[]={0x06,0x05,0x09,0x0a}; //四拍反轉 b1[]={0xf2,0xfa,0xf8,0xf9

28、,0xf1,0xf5,0xf4,0xf6}; //八拍正轉 b2[]={0xf6,0xf4,0xf5,0xf1,0xf9,0xf8,0xfa,0xf2}; //八拍反轉 unsigned char aa; int i,j,qian,bai,shi,ge,temp; void delay(int x) //延時子程序1 { int c,j; for(c=0;c

29、 led3=0; led4=0; qian=temp/1000; //取千位 bai=temp%1000/100; //取百位 shi=temp%100/10; //取十位 ge=temp%10; //取個位 led4=1; //個位數(shù)碼管亮 led=table[ge]; delay(1); led4=0; led3=1; //十位數(shù)碼管亮 led=table[shi]; delay(1); led3=0; led2=1; //百位數(shù)碼管亮 led=ta

30、ble[bai]; delay(1); led2=0; led1=1; //千位數(shù)碼管亮 led=table[qian]; delay(1); led1=0; } void delay1(int x) //延時子程序2 { int c,j; for(c=0;c

31、emp++; if(i==4) {i=0;} } void dspfan(void) //四拍反轉子程序 { motor=a2[i]; i++; temp++; if(i==4) {i=0;} } void bpzheng(void) //八拍正轉子程序 { motor=b1[i]; i++; temp++; if(i==8) {i=0;} } void bpfan(void) //八拍反轉子程序 { motor=b2[i]; i++; temp++; if(i==8)

32、{i=0;} } void main(void) //主程序 { int i=0,j=0; dansi=0; ba=0; qidong=0; sudu=0; fangxiang=0; temp=0000; while(1) { while(qidong==0) { shumaguan(temp); //調用數(shù)碼管子程序 } while(qidong==1&&fangxiang==1&&dansi==1&&ba==0) { while(qidong==1

33、&&fangxiang==1&&sudu==1&&dansi==1&&ba==0) { dspzheng(); shumaguan(temp); delay1(40); } while(qidong==1&&fangxiang==1&&sudu==0&&dansi==1&&ba==0) { dspzheng(); shumaguan(temp); delay1(10);

34、 } } temp=0; while(qidong==1&&fangxiang==0&&dansi==1&&ba==0) { while(qidong==1&&fangxiang==0&&sudu==1&&dansi==1&&ba==0) { dspfan(); shumaguan(temp); delay1(40); } while(qidong==1&&fangxiang==0&&sudu==0&&dansi==1

35、&&ba==0) { dspfan(); shumaguan(temp); delay1(10); } } temp=0; while(qidong==1&&fangxiang==1&&dansi==0&&ba==1) { while(qidong==1&&fangxiang==1&&sudu==1&&ba==1&&dansi==0) { bpzheng(); shumaguan(temp); delay1

36、(40); } while(qidong==1&&fangxiang==1&&sudu==0&&ba==1&&dansi==0) { bpzheng(); shumaguan(temp); delay1(10); } } temp=0; while(qidong==1&&fangxiang==0&&dansi==0&&ba==1) { while(qidong==1&&fangxiang==0&&sudu==1&&ba==1&&dansi==0) { bpfan(); shumaguan(temp); delay1(40); } while(qidong==1&&fangxiang==0&&sudu==0&&ba==1&&dansi==0) { bpfan(); shumaguan(temp); delay1(10); } } temp=0; } } 26

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!