基于LPC2131的步進電機細分的課程設(shè)計實驗報告_第1頁
基于LPC2131的步進電機細分的課程設(shè)計實驗報告_第2頁
基于LPC2131的步進電機細分的課程設(shè)計實驗報告_第3頁
基于LPC2131的步進電機細分的課程設(shè)計實驗報告_第4頁
基于LPC2131的步進電機細分的課程設(shè)計實驗報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第17頁 課程設(shè)計(論文) 題 目:基于ARM的步進電機細分驅(qū)動控制設(shè)計 院 (系):電 控 學(xué) 院 專業(yè)班級:自 動 化 * 班 姓 名:* 組 號:* 指導(dǎo)教師:* 2012年 1 月 5 日 目 錄第一章 緒論1.1ARM技術(shù)的發(fā)展1.2ARM技術(shù)得以應(yīng)用領(lǐng)域1.3ARM微處理器的特點第二章 步進電機細分控制方案2.1步進電機細分技術(shù)簡介2.2硬件電路設(shè)計2.3.模塊原理框圖2.4.結(jié)論第三章 總結(jié)附錄A步進電機驅(qū)動電路原理圖附錄B步進電機驅(qū)動程序 第一章 緒論1.1ARM技術(shù)的發(fā)展 ARM公司的IP核已經(jīng)由ARM7,ARM9發(fā)展到今天的ARM11版本。ARM11囊括了Thumb-2,C

2、oreSight,TrusZone 等眾多業(yè)界領(lǐng)先技術(shù),同時由單一的處理器內(nèi)核向多核發(fā)展,為高端的嵌入式應(yīng)用提供了強大的處理平臺。高集成度SOC芯片的采用可以帶來一系列好處,諸如減少了外圍器件和PCB面積,提高系統(tǒng)抗干擾能力,縮小產(chǎn)品體積,降低功耗等。 ARM 公司是一家IP供應(yīng)商,其核心業(yè)務(wù)是IP核以及相關(guān)工具的開發(fā)和設(shè)計。半導(dǎo)體廠商通過購買ARM公司的IP授權(quán)來生產(chǎn)自己的微處理器芯片。由此以來,處理器內(nèi)核來自ARM公司、各芯片廠商結(jié)合自身已有的技術(shù)優(yōu)勢以及芯片的市場定位等因數(shù)使芯片設(shè)計最優(yōu)化,從而產(chǎn)生了一大批高度集成、各據(jù)特色的SOC芯片。例如Intel公司的XScale系列集成了LCD控

3、制器、音頻編/解碼器,定位于智能PDA市場;Atmel公司的AT91系列片內(nèi)集成了大容量 Flash和RAM、高精度A/D轉(zhuǎn)換器以及大量可編程I/O端口,特別適合于工業(yè)控制領(lǐng)域;Philips公司的LPC2000系列片內(nèi)集成了128位寬的零等待Flash存儲器以及I2C, SPI,PWM,UART等傳統(tǒng)接口,極高的性價比使它對傳統(tǒng)的8/16位MCU提出了嚴峻的挑戰(zhàn)。本次設(shè)計仍使用的ARM7系列。1.2ARM技術(shù)得以應(yīng)用領(lǐng)域到目前為止,ARM微處理器及技術(shù)的應(yīng)用已經(jīng)廣泛深入到國民經(jīng)濟的各個領(lǐng)域:1、工業(yè)控制領(lǐng)域:作為 32 的 RISC 架構(gòu),基于 ARM 核的微控制器芯片不但占據(jù)了高端

4、微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應(yīng)用領(lǐng)域擴ARM微控制器的低功耗、高性價比,向傳統(tǒng)的 8 位 /16 位微控制器提出了挑戰(zhàn)。2、網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用 ARM 技術(shù)的 ADSL 芯片正逐步獲得競爭優(yōu)勢。此外,ARM 在語音及視頻處理上行了優(yōu)化,并獲得廣泛支持,也對 DSP 的應(yīng)用領(lǐng)域提出了挑戰(zhàn)。 3 、消費類電子產(chǎn)品: ARM 技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機頂盒和游戲機中得到廣泛采用。 4、 成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機和打印機中絕大部分采用 ARM 技術(shù)。手機中的 32位 SIM 智能卡也采用了 ARM 技術(shù)。 除此以外, ARM 微處理器及技

5、術(shù)還應(yīng)用到許多不同的領(lǐng)域,并會在將來取得更加廣泛的應(yīng)用。1.3ARM微處理器的特點 ARM微處理器采用RISC指令集、使用大量寄存器、ARM/THUMB指令支持、三/五級流水線具有低功耗、低成本、高性能等特點。 第二章 步進電機細分控制方案2.1步進電機細分技術(shù)簡介細分驅(qū)動技術(shù)在七十年代中期由美國學(xué)者首次提出,基本原理是將繞組中的電流細分。由常規(guī)的矩形波供電改為階梯波供電,此時繞組中的電流將按一定的階梯順序上升和下降,從而將每一自然步進行細分。步進電機細分控制的本質(zhì)是通過對勵磁繞組中的電流控制,使步進電機合成磁場為均勻離散化的圓形旋轉(zhuǎn)磁場。采用細分驅(qū)動技術(shù)可以改善步進電機的運行品質(zhì),減少轉(zhuǎn)矩波

6、動、抑制振蕩、降低噪音、提高步距分辨率。2.2硬件電路設(shè)計 所用元件:ARM開發(fā)板、電機驅(qū)動ULN2003、12864液晶顯示、 步進電機28BYJ48 5VDC12864液晶顯示簡介: 12864是128*64點陣液晶模塊的點陣數(shù)簡稱 ,液晶屏類型: STN FSTN ,模塊顯示效果:黃綠底黑字、藍底白字、白底黑字 ,驅(qū)動方式 :1/64 DUTY 1/9 BIAS ,背光: LED白色 、LED黃綠色,控制器: KS0108或兼容 ST7920 T6963C, 數(shù)據(jù)總線:8 位并口/6800 方式 串口, 工作溫度:-20+70 儲藏溫度:-30+80 點陣格式 :128 x 64 ,現(xiàn)實

7、角度:6:00直視基本用途:該點陣的屏顯成本相對較低,適用于各類儀器,小型設(shè)備的顯示領(lǐng)域。其接線圖如下所示: 圖1.1 12864液晶顯示與LPC2131接口接線圖電機驅(qū)動ULN2003簡介: ULN2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個硅NPN 復(fù)合晶體管組成。ULN2003是大電流驅(qū)動陣列,多用于單片機、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動繼電器等負載。輸入5VTTL電平,輸出可達500mA/50V。ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。 圖1.2 ULN2003芯片引腳圖該電路的特點如下: ULN2003的每一對達林頓都串聯(lián)一個

8、2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。ULN2003 是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關(guān)態(tài)時承受50V 的電壓,輸出還可以在高負載電流并行運行。其接線圖如下所示: 圖1.3 ULN2003與LPC2131以及四相步進電機接口圖步進電機28BYJ-48-5VDC簡介:圖1.4 28BYJ-48-5VDC步進電機是四相五線制電機,中間部分是轉(zhuǎn)

9、子,由一個永磁體組成,邊上的是定子繞組。當(dāng)定子的一個繞組通電時,將產(chǎn)生一個方向的電磁場,如果這個磁場的方向和轉(zhuǎn)子磁場方向不在同一條直線上,那么定子和轉(zhuǎn)子的磁場將產(chǎn)生一個扭力將定子扭轉(zhuǎn)。 依次改變繞組的磁場,就可以使步進電機正轉(zhuǎn)或反轉(zhuǎn)(比如通電次序為A-B-C-D正轉(zhuǎn),反之則反轉(zhuǎn))。而且按照通電順序的不同,可分為單四拍(A-B-C-D)、雙四拍(AB-BC-CD-DA)、單雙八拍(A-AB-B-BC-C-CD-D-DA)三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。其接線圖

10、如圖1.3所示。2.3.模塊原理框圖二極管指示LPC2131最小系統(tǒng)步進電機28BYJ-48步進電機驅(qū)動ULN2003液晶顯示2.4.結(jié)論 此次基于ARM的步進電機細分驅(qū)動控制設(shè)計,由于相關(guān)知識的不成熟,我們目前只實現(xiàn)了對步進電機正反轉(zhuǎn)控制以及三種運行方式(單四拍、雙四拍、單雙八拍)的選擇控制,并且實現(xiàn)了在12864液晶顯示屏上顯示相關(guān)的信息。此次課程設(shè)計還存在一些問題,比如步進電機的抖動問題沒有解決,液晶顯示的效果也不怎么好,沒有顯示步距角及速度等等。所有這些問題還有待于在進一步制作中探討、解決并完成制作。目前所做的部分只是實現(xiàn)了步進電機控制的基本功能,在此基礎(chǔ)上還可以增加更多的運行方式、角

11、度顯示和測速等環(huán)節(jié),使電機的功能更加完善,最終投入到實際的應(yīng)用當(dāng)中去。2.5 致謝 參考文獻:【1】周明安,朱光忠,步進電機驅(qū)動技術(shù)發(fā)展及現(xiàn)狀【J】機電工程技術(shù),2005【2】許大中、賀益康,電機控制【M】杭州:浙江大學(xué)出版社、2002【3】周立功、陳明計、陳渝,ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例【M】: 北京航空航天大學(xué)出版社,2006附錄A步進電機驅(qū)動電路原理圖附錄B步進電機驅(qū)動程序* 文 件 名:main.c* 功 能:LED顯示控制。* 通過GPIO控制步進電機* 說 明:將跳線JP14和JP19全部短接。 */#include config.h#define MOTOA 1

12、10 / P0.10 #define MOTOB 111/ P0.11 #define MOTOC 112/ P0.12 #define MOTOD 113/ P0.13 #define key1 116 / A-B-C-D#define key2 117 / AB-BC-CD-DA-AB#define key3 118 / A-AB-B-BC-C-CD-D-DA-A#define key4 119 /反轉(zhuǎn)#define key5 120 /停止#define KEYCON0x007c0000 / LED控制字#define MOTOCON0x00003c00 / MOTO控制字#define

13、 GPIOSET(PIN) IO0SET = PIN / 方便修改置位端口#define GPIOCLR(PIN)IO0CLR = PIN / 方便修改清位端口#define RS 19 /P0.9#define SID 16 /P0.6#define E 14 /P0.4#define PSB 12 /P0.2并行或串行,選擇低電平串行模式#define RST 10; dly-) for(i=0; i5000; i+); /* 名 稱:MOTO_Mode1()* 功 能:單四拍程序* 入口參數(shù):uint8 i延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void MOTO_Mode1(ui

14、nt8 i) / A-B-C-D while(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key4)&(IO0PIN&key5)!=0) initinal(); lcd_mesg(IC_DAT1); /顯示漢字界面1 /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* D */ GPIOSET(MOTOD)

15、; DelayNS(i); GPIOCLR(MOTOD); void MOTO_Mode10(uint8 i) / D - C -B- A while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key5)!=0) initinal(); lcd_mesg(IC_DAT4); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* B */ GPIOSET(MOTOB); DelayN

16、S(i); GPIOCLR(MOTOB); /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* 名 稱:MOTO_Mode2()* 功 能:雙四拍程序* 入口參數(shù):uint8 i延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void MOTO_Mode2(uint8 i) / AB-BC-CD-DA-AB while(IO0PIN&key1)&(IO0PIN&key3)&(IO0PIN&key4)&(IO0PIN&key5)!=0) initinal(); lcd_mesg(IC_DAT2); /顯示漢字界面2 GPIOSET(MOTO

17、A); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOD

18、); GPIOCLR(MOTOA); void MOTO_Mode20(uint8 i) / AD-DC- CB-BA- AD while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key5)!=0) initinal(); lcd_mesg(IC_DAT4); GPIOSET(MOTOA); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOD); /* DC */ GPIOSET(MOTOD); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOT

19、OD); GPIOCLR(MOTOC); /* CB */ GPIOSET(MOTOC); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOB); /* BA */ GPIOSET(MOTOB); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOA); /* 名 稱:MOTO_Mode3()* 功 能:單雙八拍程序* 入口參數(shù):uint8 i延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void MOTO_Mode3(uint8 i) / A-AB-B-BC-C-CD

20、-D-DA-A while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key4)&(IO0PIN&key5)!=0) initinal(); lcd_mesg(IC_DAT3); /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* AB */ GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* BC *

21、/ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* DA */ GPIOSET(MOTOD); GPIOSET(

22、MOTOA); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOA); void MOTO_Mode30(uint8 i) / A-AB-B-BC-C-CD-D-DA-A while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key5)!=0) initinal(); lcd_mesg(IC_DAT4); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i

23、); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* AB */ GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR

24、(MOTOB); /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOA); /* 名稱:delay()* 功能:延時程序*/void delay(unsigned int m) unsigned int i,j; for(i=0;im;i+) for(j=0;j50;j+);/* 名稱:initinal()* 功能:LCD12864字庫初始化*/ initinal(void) de

25、lay(40); /大于40ms的延時程序 IO0SET=PSB; /設(shè)置為串行工作方式 delay(1); IO1CLR=RST; /復(fù)位 delay(1); IO1SET=RST; /復(fù)位置高 delay(10); TransferCom(0x30); /8bit設(shè)置。RE=0.G=0,圖片顯示關(guān) delay(100); TransferCom(0x0C); /D=1,顯示開 delay(100); TransferCom(0x01); /清屏 delay(10); TransferCom(0x06); /模式設(shè)置,光標從右向左加1位移動 delay(100);/* 名稱:lcd_mesg()* 功能:在LCD12864上顯示漢字*/void lcd_mesg(unsigned char *adder1) unsigned char i; TransferCom(0x80); delay(100); for(i=0;i32;i+) TransferData

溫馨提示

  • 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

提交評論