片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)_第1頁(yè)
片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)_第2頁(yè)
片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)_第3頁(yè)
片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)_第4頁(yè)
片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.一、設(shè)計(jì)目的通過(guò)具體小型測(cè)試系統(tǒng)設(shè)計(jì),實(shí)踐單片機(jī)系統(tǒng)設(shè)計(jì)及調(diào)試的全過(guò)程,以加深對(duì)單片機(jī)內(nèi)部結(jié)構(gòu)、功能和指令系統(tǒng)的理解,并進(jìn)一步學(xué)習(xí)單片機(jī)開(kāi)發(fā)系統(tǒng)的應(yīng)用及一些外圍芯片的接口和編程方法,初步掌握單片機(jī)系統(tǒng)的硬、軟件設(shè)計(jì)技術(shù)及調(diào)試技巧。二、設(shè)計(jì)要求1)電機(jī)轉(zhuǎn)速可以平穩(wěn)控制2)通過(guò)鍵盤和顯示器可以設(shè)置電機(jī)的轉(zhuǎn)速3)顯示電機(jī)的速度趨勢(shì)三、儀器設(shè)備名稱型號(hào)數(shù)量單片機(jī)STC89C521步進(jìn)電機(jī)28BYJ481液晶LCD128641步進(jìn)電機(jī)驅(qū)動(dòng)ULN2003A1晶振1電容、電阻、微動(dòng)開(kāi)關(guān)若干四、硬件線路圖(1)單片機(jī)最小系統(tǒng)上圖所示為單片機(jī)最小系統(tǒng),該系統(tǒng)通過(guò)5V直流電源供電,可上電復(fù)位和手動(dòng)復(fù)位。通過(guò)串口

2、將程序燒寫(xiě)到單片機(jī)。(2)步進(jìn)電機(jī)驅(qū)動(dòng)電路由于步進(jìn)電機(jī)運(yùn)轉(zhuǎn)時(shí)所需電流較大,而單片機(jī)引腳提供的電流較小,所以單片機(jī)與步進(jìn)電機(jī)間需要加上驅(qū)動(dòng)芯片ULN2003A,如上圖所示,通過(guò)單片機(jī)的P1口控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)。(3)顯示電路該系統(tǒng)用LCD12864作為顯示器,12864內(nèi)置字庫(kù),每屏可顯示32個(gè)漢字,且編程容易,該系統(tǒng)中可用于顯示開(kāi)機(jī)界面,電機(jī)轉(zhuǎn)速,速度變化趨勢(shì)等。其接口如圖所示。(4)按鍵電路由于系統(tǒng)所用按鍵較少,所以鍵盤采用獨(dú)立按鍵形式,每個(gè)按鍵都有上拉電阻,提高了按鍵的穩(wěn)定性。五、主要芯片說(shuō)明(1)STC89C52STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具

3、有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟

4、件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。 (2)ULN2003ULN2003是高耐壓、大電流復(fù)合晶體管,由七個(gè)硅NPN 復(fù)合晶體管組成。ULN2003 的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V 的電壓,

5、輸出還可以在高負(fù)載電流并行運(yùn)行。ULN2003是一個(gè)非門電路,包含7個(gè)單元,單獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動(dòng)繼電器等負(fù)載。 六、系統(tǒng)工作原理(1)步進(jìn)電機(jī)工作原理步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無(wú)累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來(lái)控制變的非常的簡(jiǎn)單。 雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電

6、機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。如圖步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng)。開(kāi)始時(shí),開(kāi)關(guān)SB接通電源,SA、SC、SD斷開(kāi),B相磁極和轉(zhuǎn)子0、3號(hào)齒對(duì) 齊,同時(shí),轉(zhuǎn)子的1、4號(hào)齒就和C、D相繞組磁極產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和D、A相繞組磁極產(chǎn)生錯(cuò)齒。當(dāng)開(kāi)關(guān)SC接通電源,SB、SA、SD斷開(kāi)時(shí),由于C相繞組的磁力線和1、4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號(hào)齒和C相繞組的磁極對(duì)齊。而0、3號(hào)齒和A、B相繞組產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和A、D相繞組

7、磁極產(chǎn)生錯(cuò)齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C、D方向轉(zhuǎn)動(dòng)。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。(2)步進(jìn)電機(jī)調(diào)速原理步進(jìn)電動(dòng)機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的機(jī)電元件。步進(jìn)電動(dòng)機(jī)的輸入量是脈沖序列,輸出量則為相應(yīng)的增量位移或步進(jìn)運(yùn)動(dòng)。正常運(yùn)動(dòng)情況下,它每轉(zhuǎn)一周具有固定的步數(shù);做連續(xù)步進(jìn)運(yùn)動(dòng)時(shí),其旋轉(zhuǎn)轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對(duì)應(yīng)關(guān)系,不受電壓波動(dòng)和負(fù)載變化的影

8、響。在步進(jìn)電機(jī)工作方式確定后,其在每個(gè)脈沖下前進(jìn)1步,因此只要改變給脈沖間的時(shí)間間隔即可改變步進(jìn)電機(jī)的速度。程序中通過(guò)在每次脈沖后加可調(diào)時(shí)間延時(shí)來(lái)控制步進(jìn)電機(jī)的速度。(3)系統(tǒng)工作原理該系統(tǒng)可實(shí)現(xiàn)開(kāi)機(jī)界面,步進(jìn)電機(jī)工作方式選擇,步進(jìn)電機(jī)加速、減速,顯示器可顯示步進(jìn)電機(jī)速度變化趨勢(shì),步進(jìn)電機(jī)理論轉(zhuǎn)速。開(kāi)機(jī)后,系統(tǒng)進(jìn)入開(kāi)機(jī)界面,通過(guò)以下函數(shù)實(shí)現(xiàn): writestring(0,0,8,"歡迎使用"); writestring(1,0,16,"步進(jìn)電機(jī)控制器"); delay(2000); write(0x01,0); /清屏delay(100); writes

9、tring(1,0,16,"請(qǐng)選擇工作方式");稍作延時(shí)后系統(tǒng)提示選擇步進(jìn)電機(jī)的工作方式,包括單相四拍,雙相四拍和四相八拍共三種工作方式。while(m) if(key1=0) delay(5); if(key1=0)n+; if(n=1) write(0x01,0);delay(100); writestring(1,2,8,"單相四拍");while(n=1) for(i=0;i<4;i+) P1=string1i; delay(1); if(key1=0) break; if(key4=0) m=0;break; if(n=2) write(

10、0x01,0);delay(100); writestring(1,2,8,"雙相四拍"); while(n=2) for(i=0;i<4;i+) P1=string2i; delay(1); if(key1=0) break; if(key4=0) m=0;break; if(n=3) write(0x01,0); delay(100); writestring(1,2,8,"四相八拍");while(n=3) for(i=0;i<8;i+) P1=string3i; delay(1); if(key1=0) break;if(key4=0

11、) m=0;break; if(n>3)n=0;按鍵1為工作方式選擇鍵,每次按下設(shè)定參數(shù)加1,程序檢測(cè)給定參數(shù)的值,從而控制步進(jìn)電機(jī)做相應(yīng)運(yùn)動(dòng),按鍵4為退出鍵,工作方式子函數(shù)中實(shí)時(shí)檢測(cè)按鍵4的狀態(tài),但按鍵4按下時(shí),程序跳出當(dāng)前循環(huán),回到主程序,步進(jìn)電機(jī)停轉(zhuǎn),液晶顯示器從現(xiàn)實(shí)工作方式信息跳到下一環(huán)節(jié)。上述功能跳出后,系統(tǒng)進(jìn)入調(diào)速功能,此時(shí)步進(jìn)電機(jī)以一定的速度運(yùn)轉(zhuǎn),液晶顯示此時(shí)電機(jī)的理論速度。當(dāng)按鍵2按下時(shí),步進(jìn)電機(jī)每步間延時(shí)減小,電機(jī)加速;當(dāng)按鍵3按下時(shí),步進(jìn)電機(jī)每步間延時(shí)增加,步進(jìn)電機(jī)減速,同時(shí)12864實(shí)時(shí)顯示步進(jìn)電機(jī)速度及速度變化趨勢(shì)。該功能函數(shù)同樣檢測(cè)按鍵4的狀態(tài),當(dāng)按鍵4按下時(shí),

12、系統(tǒng)退出,步進(jìn)電機(jī)停轉(zhuǎn)。七、程序框圖退出加速減速檢測(cè)按鍵2、3、4調(diào)速界面檢測(cè)按鍵4單相四拍四相八拍雙相四拍檢測(cè)按鍵1上電后系統(tǒng)進(jìn)入開(kāi)機(jī)界面,等待選擇工作方式123YYYYKey2 Key3 Key4八、程序清單#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit RS=P20;sbit RW=P21;sbit E=P22;sbit key1=P23;sbit key2=P24;sbit key3=P25;sbit key4=P26;uchar i,time=10,m=1,sudu;sta

13、tic uchar n=0;uchar string1=0xfe,0xfd,0xfb,0xf7; /單相四拍uchar string2=0xfc,0xf9,0xf3,0xf6; /雙相四拍uchar string3=0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6; /四相八拍uchar sudu13; /速度暫存void write(uchar,bit);void writestring(uchar,uchar,uchar,uchar *p);void init();void delay(uint);void main()init(); writestring(

14、0,0,12," 歡迎使用"); writestring(1,0,16,"步進(jìn)電機(jī)控制器"); delay(2000); write(0x01,0); /清屏delay(100); writestring(1,0,16,"請(qǐng)選擇工作方式"); while(m) if(key1=0) delay(5); if(key1=0)n+; if(n=1) write(0x01,0);delay(100); writestring(1,2,8,"單相四拍");while(n=1) for(i=0;i<4;i+) P1=s

15、tring1i;delay(1); if(key1=0) break;if(key4=0) m=0;break; if(n=2) write(0x01,0);delay(100); writestring(1,2,8,"雙相四拍"); while(n=2)for(i=0;i<4;i+) P1=string2i; delay(1); if(key1=0) break;if(key4=0) m=0;break; if(n=3) write(0x01,0); delay(100); writestring(1,2,8,"四相八拍");while(n=3)

16、 for(i=0;i<8;i+) P1=string3i; delay(1); if(key1=0) break;if(key4=0) m=0;break; if(n>3)n=0; write(0x01,0); delay(1000); writestring(0,2,8,"調(diào)速控制"); while(1) writestring(1,0,6,"轉(zhuǎn)速:"); writestring(1,5,5,"r/min"); writestring(2,0,10,"速度趨勢(shì):"); if(key3=0) /點(diǎn)動(dòng)減速

17、 delay(5); if(key3=0) time+; writestring(2,5,4,"減速"); if(time>=30) time=10; if(key2=0) /點(diǎn)動(dòng)加速 delay(5); if(key2=0) time-; writestring(2,5,4,"加速"); if(time<=1) time=1;for(i=0;i<8;i+) P1=string3i;delay(time); sudu=358/time; sudu10=sudu/100+0x30; sudu11=sudu%100/10+0x30; sud

18、u12=sudu%10+0x30; writestring(1,3,3,sudu1); if(key4=0) break; write(0x01,0); delay(1000); writestring(1,2,10,"謝謝使用!"); while(1);void delay(uint z) uint x,y; for(x=115;x>0;x-)for(y=z;y>0;y-);void write(uchar dat,bit command)/寫(xiě)函數(shù)P0=dat;RS=command;RW=0;E=1;E=0;void init()/初始化write(0x38,0); /8位點(diǎn)陣顯示write(0x01,0);write(0x0c,0); /開(kāi)顯示關(guān)光標(biāo)void writestring(uchar x,uchar y,uc

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論