直流電機控制實驗_第1頁
直流電機控制實驗_第2頁
直流電機控制實驗_第3頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗一直流、步進電機綜合控制系統(tǒng)設(shè)計一、實驗?zāi)康?. 初步熟悉實驗GPIO 口的初始化設(shè)置,并熟悉實驗箱各個模塊的功能2. 掌握步進機的控制原理及利用延時脈沖來改變步進電機速度3. 掌握直流電機的控制原理及利用 pwm占空比控制來改變速度4. 學習IIC總線讀取和寫數(shù)據(jù)原理,并掌握對 CAT1025 E2PR00M操作方法5. 學會控制數(shù)碼管的顯示 UART串口函數(shù),并初步掌握中斷處理函數(shù)的 寫法二、實驗要求以MagicARM2410為實驗平臺,設(shè)計一個通過串口通信交互控制 的綜合型控制系統(tǒng)。具體來說,可在啟動時,自動列出一些選項,通過 鍵盤選擇某個選項而實現(xiàn)其功能;考慮到實時性,再按某個控制

2、鍵能立 刻停止當前功能而回到初始的待選狀態(tài)。具體功能要求如下:1. 實現(xiàn)四個LED燈按照十六進制的規(guī)則依次亮滅;2. 在超級終端上輸入兩個兩位數(shù),實現(xiàn)兩位數(shù)的加減乘除并顯示運算結(jié) 果;3. 顯示當前的年月日、星期、時分秒;4. 實現(xiàn)步進電機的調(diào)速和正反轉(zhuǎn); 可用旋轉(zhuǎn)按鈕 W1或按鍵控制調(diào)速,在 超級終端和數(shù)碼管上同步顯示其正反轉(zhuǎn)和轉(zhuǎn)速信息;三、實驗基本原理1. S3C 2410A具有117個通用I/O 口,分為A H等8個端口,由于每個I/O 口都有第2功能,甚至第3功能,所以需要通過設(shè)置GPxCON寄存 器來選擇GPx 口 I/O 口功能,其中x可以為A、B、C、D、E、F、G 表示相應(yīng)的I

3、/O端口。當I/O 口設(shè)置為GPIO輸出模式(Output模式)時,可以通過寫GPxDAT 控制相應(yīng)I/O 口輸出高電平或低電平,GPxDAT為1的位對應(yīng)I/O輸出 高電平,為0的位對應(yīng)輸出低電平。2. 工程模板中包含有串口軟件包 UART.C,用戶可以調(diào)用相應(yīng)的接口函數(shù)】 進行串口數(shù)據(jù)發(fā)送和接收,串口的波特率需要在config.h文件中進行設(shè) 置,本實驗使用默認的115200波特率。對串口進行初始化時,首先要設(shè)置相應(yīng) I/O 口為TXD0,TRD0功能引 腳,然后通過ULCON0來設(shè)置通訊波特率。3. S3C2410A具有實時時鐘(RTC)功能,能夠提供時、分、秒,年、月、 日的計時功能,還

4、具有定時報警功能。RTC單元采用獨立的后備電池供 電,獨立是時鐘源(采用32.768KHZ晶振),即使系統(tǒng)關(guān)閉電源,RTC 還可以正常工作。要初始化RTC的時間值,首先要給RTCON寄存器寫為0x01,使能RTC 接口(即允許寫 RTC操作),然后對年寄存器 BCD YEAR、月寄存器BCDMON、日寄存器 BCDDATE、時寄存器 BCDHOUR、分寄存器 BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY進行初始化,時 間值為BCD格式。初始化完成,將 RTCCON寄存器寫為0x00,禁能RTC接口(即禁止寫RTC操作),接下來就可以直接讀取 RTC時間寄 存器的值來使用了。4.步

5、進電機是一種將電脈轉(zhuǎn)化為角位移的數(shù)據(jù)控制電機,即給它一個脈沖信號,它就按設(shè)定的方向轉(zhuǎn)動一個固定的角度。 用戶可以通過設(shè)置脈沖 的個數(shù)來控制角位移量,從而實現(xiàn)準確的定位操作;另外,通過控制脈 沖頻率來控制電機轉(zhuǎn)動速度和加速度,從而實現(xiàn)調(diào)速的目的。當然,對 于步進電機各組繞組(即內(nèi)部線圈) 的控制脈沖要有一定的順序,否則 電機無法正常旋轉(zhuǎn)。MagicARM2410試驗箱上的步進電機為四項步進電機,電機驅(qū)動為18°。S3C2410A的GPIO驅(qū)動能力有限,必須通過 ULCN2003達林頓 集成驅(qū)動芯片驅(qū)動步進電機,在步進電機和驅(qū)動電路之間連接了電阻, 防止控制紊亂造成電機的損壞。四、主要儀

6、器設(shè)備及耗材硬件:PC機一臺,MagicARM2410教學實驗開發(fā)平臺 一套軟件:Windows98/XP/2000系統(tǒng),ADS 1.2集成開發(fā)環(huán)境,超級終端程序,JTAG仿真器五、實驗步驟1. 安裝Wiggler JTAG仿真器并打開;2. 運行超級終端,新建一個連接;3. 啟動ADS 1.2,建立工程,在src組中的main.c中編寫主程序代碼;4. 選用DebugRel生成目標,編譯鏈接工程,選擇【Debug】,進行JTAG 仿真;5. 按照超級終端上的提示信息操作;6. 根據(jù)實驗箱及超級終端上的反饋結(jié)果調(diào)試程序。7. 主要參考程序如下int mai n( void)uint8 g_ge

7、tch ;int i = 0;UART_Select(O); / 選擇 UARTOUART_I nit();/UARTO 初始化LED_i ni t();/LED相關(guān)初始化EINT_i ni t(); /外部中斷初始化while(1)fun_test();switch(g_getch = UART_GetKey()case '1':UART_Se ndByte(g_getch);UART_Se ndStr("n");for(i = 0; i < 16 ; i+)LED_DispNum(i); /以二進制形式顯示十六進制DelayNS(5);if(i =

8、 15)i =0;if(UART_GetFlag() = 0x1B) /檢測是否按下'Esc'鍵break;UART_Se ndStr("nTest LED_DispNum test is Over!n");break;case 2:UART_Se ndByte(g_getch);UART_Se ndStr("n");Addsubmuldiv();/加減乘除測試模塊UART_Se ndStr("nTest Addsubmuldiv_Test is Over!' n");break;case 3:UART_Se

9、ndByte(g_getch);UART_Se ndStr("n");DateWeekTime_Test();UART_Se ndStr("nTest DateWeekTime_Test is Over!n");break;case '4':UART_Se ndByte(g_getch);UART_Se ndStr("n");StepMOTO_Test();UART_Se ndStr("nTest StepMOTO_Test is Over!n");break;default: break;六、實驗

10、數(shù)據(jù)及處理結(jié)果1、選擇Debug進行JTAG仿真后進入選擇操作情況界面選擇1,可看到實驗箱上4個LED燈按16進制數(shù)閃亮,最左邊的燈為最低 位,最右邊的燈為最高位。按esc鍵返回。2、輸入2,可觀察到能實現(xiàn)兩位數(shù)的加減乘除,按esc鍵返回。其超級終端顯示如下圖:3、輸入3,按提示信息,按任意鍵輸出當前時間,超級終端顯示如下圖:匚叵區(qū)文件込 赫但)25 (y) uftiy £)傳堆 W(U)D 涉仍門暫27 一01Monday,5/ 5/2A1402Monday,5/ 5/201&03Monday,5/ 5/2314財Hand日y,5/ 5/291405Nondav,5/ 5/

11、201406Nondai/,5/ 5/201407Nondav,5/ 5/201408Hondas,5/ 5/201409Hondas,5/ 5/201410Nondav、5/ 5/201i11Monday,5/ 5/201412Monday,5/ 5/201413Monday,5/ 5/2014UMonday,5/ 5/201415Hondv,5/ 5/201416Nondav,5/ s/;au17Mkindav,5/ 5/2flU1SHondav,5/ 5/201419Nondav,5/ 5/201420Monday,5/ 5/201421Monday,5/ 5/2914匸we'

12、key exi tsOu rtu oo- Ou Ou Ous-r H- pl 11-11111111己連接 DI 3C目坊檢血L15ZOD 3-H-WWI4、輸入4,觀察步進電機的轉(zhuǎn)動情況,可通過旋轉(zhuǎn) W1調(diào)節(jié)電機的正反轉(zhuǎn)方向和轉(zhuǎn)速情況。按esc鍵返回。超級終端顯示如下圖:StepMoto_£pie!erfi耳159is15?StpM0lo_s.:pedi耳159S t epHoto.speedis116SiepHot.siwod S t epNoto.siieedStepHoto_sp«edrs17SlepHolu sippedis16StepHoto_speedIS13

13、StepHoto_s««eclisUSlepHolo sj&eedIS9rs?QStepMoto_s>eeti72S t epHoto_59«&d丨人103S t epHoto_sp&dISS t epNo t osioeedISU&StepHoti&.sed15;3StepHoto_speed StepMolo_si>eedaSlepMo Id.speeiJis179StgpHolo_peedig181ZhenozhiiflnZhenghiiifliriZhen-gzhuan/hong/hi hinZhengz

14、hudiiiZhengzhutin轉(zhuǎn)速可調(diào)Zhen-gzhntunZhengzhuanZhenazhiiciinZhenaztxianZhengzhuairiZhenozhuaiiZhenigzhiiidH,iZhengzhudnfhengzhutin/hengzhiLidinhengzhuanZhePigzhiitinZheilgzhucunZheiigzhuainPlease input PR' OR BLB to control zhefiohiwn and Fanzhuao Press key mil test ICATS實驗心結(jié)七、由于這是第一次自己設(shè)計程序做實驗,剛開始總不

15、知道如何下手。之 后,我們冷靜分析,先用基礎(chǔ)實驗中的簡單實驗實現(xiàn)了超級終端的正確顯 示。之后,又用基礎(chǔ)實驗中相關(guān)的程序,先實現(xiàn)了16進制的顯示。加減乘除就按照C語言編寫,然后步進機通過延遲控制轉(zhuǎn)速。其實,最難的是把 上面實現(xiàn)的各個功能輸入到超級終端,通過超級終端顯示。我們通過向其 他同學請教,并且自己上網(wǎng)查到了相關(guān)的實現(xiàn)程序,之后經(jīng)過多次修改最 終得出正確顯示。通過這第一個自己設(shè)計的實驗,學到了程序的編寫,跟MagicARM2410實驗箱硬件的實現(xiàn),受益匪淺,為以后的實驗打下了基礎(chǔ)。八、參考資料S3C241實驗實驗手冊嵌入式系統(tǒng)開發(fā)與實驗教程附錄:#in elude "con fig

16、.h"#in elude "mai n.h"/功能測試選擇數(shù)組char select_test50="nn Please in put 14 to select test:n","1 LED_DispNumen","2 Addsubmuldiv_Testn","3 Dateweektime_Displayn","4 StepMOTO_Test n","Please in put a num you want to test:", ;void De

17、layNS(ui nt32 dly)uint32 i;for(; dly>0; dly-)for(i=0; i<50000; i+);/串口接收字符臨時變量void fun _test(void)int i = 0;for(i = 0; i < 14; i+)UART_Se ndStr(select_testi);int mai n( void)uint8 g_getch ;int i = 0;UART_Select(O);/選擇 UART0UART_Init();/UARTO 初始化LED_init();/LED 相關(guān)初始化EINT_i ni t();/外部中斷初始化whi

18、le(1)fun_test();switch(g_getch = UART_GetKey()case '1':UART_Se ndByte(g_getch);UART_Se ndStr("n");for(i = 0; i < 16 ; i+)LED_DispNum(i);以二進制形式顯示十六進制DelayNS(5);if(i = 15)i =0;if(UART_GetFlag() = Ox1B)檢測是否按下Esc'鍵break;UART_Se ndStr("nTest LED_DispNum test is Over!n");break;case 2:UART_Se ndByte(g_getch);UART_Se ndStr("n");Addsubmuldiv();/加減乘除測試模塊UART_Se ndStr("nTest Addsubmuldiv_Test is Over!n");break;case 3:UART_Se ndByte(g_getc

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論