直流電機(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. 在超級終端上輸入兩個(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)速,在超級終端和數(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)境,超級終端程序,jtag仿真器五、 實(shí)驗(yàn)步驟1. 安裝wiggler jtag仿真器并打開;2. 運(yùn)行超級終端,新建一個(gè)連接;3. 啟動(dòng)ads 1.2,建立工程,在src組中的main.c中編寫主程序代碼;4. 選用debugrel生成目標(biāo),編譯鏈接工程,選擇【debug】,進(jìn)行jtag仿真;5. 按照超級終端上的提示信息操作;6. 根據(jù)實(shí)驗(yàn)箱及超級終端上的反饋結(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鍵返回。其超級終端顯示如下圖:加法減法,結(jié)果為正值減法,結(jié)果為負(fù)值除法乘法3、 輸入3,按提示信息,按任意鍵輸出當(dāng)前時(shí)間,超級終端顯示如下圖:4、 輸入4,觀察步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)情況,可通過旋轉(zhuǎn)w1調(diào)節(jié)電機(jī)的正反轉(zhuǎn)方向和轉(zhuǎn)速情況。按esc鍵返回。超級終端顯示如下圖:轉(zhuǎn)速可調(diào)七、 實(shí)驗(yàn)心結(jié) 由于這是第一次自己設(shè)計(jì)程序做實(shí)驗(yàn),剛開始總不知道如何下手。之后,我們冷靜分析,先用基礎(chǔ)實(shí)驗(yàn)中的簡單實(shí)驗(yàn)實(shí)現(xiàn)了超級終端的正確顯示。之后,又用基礎(chǔ)實(shí)驗(yàn)中相關(guān)的程序,先實(shí)現(xiàn)

11、了16進(jìn)制的顯示。加減乘除就按照c語言編寫,然后步進(jìn)機(jī)通過延遲控制轉(zhuǎn)速。其實(shí),最難的是把上面實(shí)現(xiàn)的各個(gè)功能輸入到超級終端,通過超級終端顯示。我們通過向其他同學(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

提交評論