直流電機(jī)控制實(shí)驗(yàn)_第1頁
直流電機(jī)控制實(shí)驗(yàn)_第2頁
直流電機(jī)控制實(shí)驗(yàn)_第3頁
直流電機(jī)控制實(shí)驗(yàn)_第4頁
直流電機(jī)控制實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

4、立是時(shí)鐘源(采用32.768KHz晶振),即使系統(tǒng)關(guān)閉電源,RTC還可以正常工作。要初始化RTC的時(shí)間值,首先要給RTCON寄存器寫為0x01,使能RTC接口(即允許寫RTC操作),然后對年寄存器BCDYEAR、月寄存器BCDMON、日寄存器BCDDATE、時(shí)寄存器BCDHOUR、分寄存器BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY進(jìn)行初始化,時(shí)間值為BCD格式。初始化完成,將RTCCON寄存器寫為0x00,禁能RTC接口(即禁止寫RTC操作),接下來就可以直接讀取RTC時(shí)間寄存器的值來使用了。4. 步進(jìn)電機(jī)是一種將電脈轉(zhuǎn)化為角位移的數(shù)據(jù)控制電機(jī),即給它一個(gè)脈沖信號(hào),它就按設(shè)定的

5、方向轉(zhuǎn)動(dòng)一個(gè)固定的角度。用戶可以通過設(shè)置脈沖的個(gè)數(shù)來控制角位移量,從而實(shí)現(xiàn)準(zhǔn)確的定位操作;另外,通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)速度和加速度,從而實(shí)現(xiàn)調(diào)速的目的。當(dāng)然,對于步進(jìn)電機(jī)各組繞組(即內(nèi)部線圈)的控制脈沖要有一定的順序,否則電機(jī)無法正常旋轉(zhuǎn)。MagicARM2410試驗(yàn)箱上的步進(jìn)電機(jī)為四項(xiàng)步進(jìn)電機(jī),電機(jī)驅(qū)動(dòng)為18°。S3C2410A的GPIO驅(qū)動(dòng)能力有限,必須通過ULCN2003達(dá)林頓集成驅(qū)動(dòng)芯片驅(qū)動(dòng)步進(jìn)電機(jī),在步進(jìn)電機(jī)和驅(qū)動(dòng)電路之間連接了電阻,防止控制紊亂造成電機(jī)的損壞。四、 主要儀器設(shè)備及耗材 硬件:PC機(jī)一臺(tái), MagicARM2410教學(xué)實(shí)驗(yàn)開發(fā)平臺(tái) 一套 軟件:Win

6、dows98/XP/2000系統(tǒng),ADS 1.2集成開發(fā)環(huán)境,超級(jí)終端程序,JTAG仿真器五、 實(shí)驗(yàn)步驟1. 安裝Wiggler JTAG仿真器并打開;2. 運(yùn)行超級(jí)終端,新建一個(gè)連接;3. 啟動(dòng)ADS 1.2,建立工程,在src組中的main.c中編寫主程序代碼;4. 選用DebugRel生成目標(biāo),編譯鏈接工程,選擇【Debug】,進(jìn)行JTAG仿真;5. 按照超級(jí)終端上的提示信息操作;6. 根據(jù)實(shí)驗(yàn)箱及超級(jí)終端上的反饋結(jié)果調(diào)試程序。7. 主要參考程序如下int main(void)uint8 g_getch ;int i = 0;UART_Select(0); /選擇UART0UART_In

7、it(); /UART0初始化LED_init(); /LED相關(guān)初始化EINT_init(); /外部中斷初始化while(1)fun_test();switch(g_getch = UART_GetKey()case '1':UART_SendByte(g_getch);UART_SendStr("n");for(i = 0; i < 16 ; i+)LED_DispNum(i); /以二進(jìn)制形式顯示十六進(jìn)制DelayNS(5);if(i = 15)i =0; if(UART_GetFlag() = 0x1B) /檢測是否按下'Esc

8、9;鍵break;UART_SendStr("nTest LED_DispNum test is Over!n");break;case '2':UART_SendByte(g_getch);UART_SendStr("n"); Addsubmuldiv(); /加減乘除測試模塊 UART_SendStr("nTest Addsubmuldiv_Test is Over!n");break;case '3':UART_SendByte(g_getch);UART_SendStr("n"

9、;); DateWeekTime_Test();UART_SendStr("nTest DateWeekTime_Test is Over!n"); break;case '4':UART_SendByte(g_getch);UART_SendStr("n");StepMOTO_Test();UART_SendStr("nTest StepMOTO_Test is Over!n");break;default: break;六、 實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果1、 選擇Debug進(jìn)行JTAG仿真后進(jìn)入選擇操作情況界面選擇1,可看到

10、實(shí)驗(yàn)箱上4個(gè)LED燈按16進(jìn)制數(shù)閃亮,最左邊的燈為最低位,最右邊的燈為最高位。按esc鍵返回。2、 輸入2,可觀察到能實(shí)現(xiàn)兩位數(shù)的加減乘除,按esc鍵返回。其超級(jí)終端顯示如下圖:加法減法,結(jié)果為正值減法,結(jié)果為負(fù)值除法乘法3、 輸入3,按提示信息,按任意鍵輸出當(dāng)前時(shí)間,超級(jí)終端顯示如下圖:4、 輸入4,觀察步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)情況,可通過旋轉(zhuǎn)W1調(diào)節(jié)電機(jī)的正反轉(zhuǎn)方向和轉(zhuǎn)速情況。按esc鍵返回。超級(jí)終端顯示如下圖:轉(zhuǎn)速可調(diào)七、 實(shí)驗(yàn)心結(jié) 由于這是第一次自己設(shè)計(jì)程序做實(shí)驗(yàn),剛開始總不知道如何下手。之后,我們冷靜分析,先用基礎(chǔ)實(shí)驗(yàn)中的簡單實(shí)驗(yàn)實(shí)現(xiàn)了超級(jí)終端的正確顯示。之后,又用基礎(chǔ)實(shí)驗(yàn)中相關(guān)的程序,先實(shí)現(xiàn)

11、了16進(jìn)制的顯示。加減乘除就按照C語言編寫,然后步進(jìn)機(jī)通過延遲控制轉(zhuǎn)速。其實(shí),最難的是把上面實(shí)現(xiàn)的各個(gè)功能輸入到超級(jí)終端,通過超級(jí)終端顯示。我們通過向其他同學(xué)請教,并且自己上網(wǎng)查到了相關(guān)的實(shí)現(xiàn)程序,之后經(jīng)過多次修改最終得出正確顯示。 通過這第一個(gè)自己設(shè)計(jì)的實(shí)驗(yàn),學(xué)到了程序的編寫,跟MagicARM2410實(shí)驗(yàn)箱硬件的實(shí)現(xiàn),受益匪淺,為以后的實(shí)驗(yàn)打下了基礎(chǔ)。八、參考資料S3C2410實(shí)驗(yàn)實(shí)驗(yàn)手冊嵌入式系統(tǒng)開發(fā)與實(shí)驗(yàn)教程附錄:#include "config.h"#include "main.h"/功能測試選擇數(shù)組char select_test50 =&q

12、uot;nn Please input 14 to select test:n","1 LED_DispNumen","2 Addsubmuldiv_Testn","3 Dateweektime_Displayn","4 StepMOTO_Testn","Please input a num you want to test:",;void DelayNS(uint32 dly) uint32 i;for(; dly>0; dly-) for(i=0; i<50000; i

13、+);/ 串口接收字符臨時(shí)變量void fun_test(void)int i = 0;for(i = 0; i < 14; i+)UART_SendStr(select_testi);int main(void)uint8 g_getch ;int i = 0;UART_Select(0); /選擇UART0UART_Init(); /UART0初始化LED_init(); /LED相關(guān)初始化EINT_init(); /外部中斷初始化while(1)fun_test();switch(g_getch = UART_GetKey()case '1':UART_SendBy

14、te(g_getch);UART_SendStr("n");for(i = 0; i < 16 ; i+)LED_DispNum(i); /以二進(jìn)制形式顯示十六進(jìn)制DelayNS(5);if(i = 15)i =0; if(UART_GetFlag() = 0x1B) /檢測是否按下'Esc'鍵break;UART_SendStr("nTest LED_DispNum test is Over!n");break;case '2':UART_SendByte(g_getch);UART_SendStr("n"); Addsubmuldiv(); /加減乘除測試模塊 UART_SendStr("nTest Addsubmuldiv_Test is Over!n");break;case '3':UART_SendByte(g_getch);UART_SendStr("n"); DateWeekTime_Test();UART_S

溫馨提示

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

評論

0/150

提交評論