嵌入式系統(tǒng)實(shí)驗(yàn)9_第1頁
嵌入式系統(tǒng)實(shí)驗(yàn)9_第2頁
嵌入式系統(tǒng)實(shí)驗(yàn)9_第3頁
嵌入式系統(tǒng)實(shí)驗(yàn)9_第4頁
嵌入式系統(tǒng)實(shí)驗(yàn)9_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)9直流電動(dòng)機(jī)實(shí)驗(yàn)11.8.1實(shí)驗(yàn)?zāi)康氖煜RM本身自帶的PWM掌握相應(yīng)寄存器的配置及Linux下編程實(shí)現(xiàn)ARM系統(tǒng)PWM輸出,從而控制直流電機(jī)了解直流電機(jī)的工作原理學(xué)會(huì)用軟件的方法實(shí)現(xiàn)步進(jìn)電機(jī)的脈沖分配掌握帶有PWM的CPU編程實(shí)現(xiàn)相應(yīng)的主要函數(shù)11.8.2實(shí)驗(yàn)設(shè)備1臺(tái)安裝Linux虛擬機(jī)的PC機(jī)(上位機(jī))1臺(tái)已燒寫ARMLnux的博創(chuàng)經(jīng)典UP-TECH-S2410/270-DVP實(shí)驗(yàn)箱(下位機(jī))11.8.3實(shí)驗(yàn)內(nèi)容學(xué)習(xí)直流電機(jī)的工作原理了解實(shí)現(xiàn)電機(jī)轉(zhuǎn)動(dòng)對(duì)于系統(tǒng)的軟、硬件要求學(xué)習(xí)ARMPWM的生成方法熟悉ARM系統(tǒng)硬件PWM相關(guān)接口編程實(shí)現(xiàn)直流電機(jī)的調(diào)速轉(zhuǎn)動(dòng)11.8.4實(shí)驗(yàn)原理1.直流電動(dòng)機(jī)的PWM電路原理通過控制晶體管導(dǎo)通角的大小,就可以調(diào)節(jié)加在負(fù)載上的平均電壓的大小,以實(shí)現(xiàn)對(duì)電動(dòng)機(jī)的變速控制。2.S3C2410的PWM發(fā)生器輸出脈沖占空比控制方法:TCNTB0設(shè)置位固定值,用來確定脈沖頻率;改變TCMPB0的值用來改變占空比。3、PWM發(fā)生器相關(guān)寄存器 表11-13 TCFG0寄存器的地址

寄存器 地址 讀/寫 描述 復(fù)位值

TCFG0 0x01D50000 R/W 預(yù)分頻數(shù)寄存器0x00000000

表11-15 TCFG1寄存器的地址

寄存器 地址 讀/寫 描述 復(fù)位值

TCFG1 0x01D50004 R/W 多選一和DMA模式0x00000000

表11-17 TCON寄存器的地址

寄存器 地址 讀/寫 描述 復(fù)位值

TCON 0x01D50008 R/W 時(shí)間控制寄存器0x00000000

表11-22 TCNTO0寄存器的地址

寄存器 地址 讀/寫 描述 復(fù)位值

TCNTO0 0x01D50014 R T0計(jì)數(shù)檢測(cè)寄存器0x00000000

表11-19 TCNTB0&TCMPB0寄存器的地址

寄存器 地址 讀/寫 描述 復(fù)位值

TCNTB0 0x01D5000C R/W T0計(jì)數(shù)緩沖寄存器0x00000000

TCMPB0 0x01D50010 R/W T0比較緩沖寄存器

0x00000000初始配置定時(shí)器0的分頻系數(shù)為127,分割器值為1/2;啟動(dòng)定時(shí)器0,自動(dòng)重載,關(guān)閉反向輸出,死區(qū)使能。4.開發(fā)平臺(tái)上的實(shí)際鏈接11.8.5實(shí)驗(yàn)程序?qū)嶒?yàn)驅(qū)動(dòng)程序(虛擬機(jī)):/root/…/basic/09_dcmotor/drivers/dc-motor.o實(shí)驗(yàn)程序主函數(shù)如下頁(虛擬機(jī))/root/…/basic/09_dcmotor/dcm_main.c實(shí)驗(yàn)驅(qū)動(dòng)程序(實(shí)驗(yàn)箱):/mnt/yaffs/dc-motor/dc-motor.o#include<stdio.h>#include<fcntl.h>#include<string.h>#include<sys/ioctl.h>#defineDCM_IOCTRL_SETPWM (0x10)#defineDCM_TCNTB0 (16384)staticintdcm_fd=-1;char*DCM_DEV="/dev/dcm/0raw";/*2440試驗(yàn)箱驅(qū)動(dòng)文件名為:/dev/s3c2440-dc-motor0已經(jīng)改過*/voidDelay(intt){ inti; for(;t>0;t--) for(i=0;i<400;i++);}實(shí)驗(yàn)源程序intmain(intargc,char**argv){ inti=0; intstatus=1; intsetpwm=0; intfactor=DCM_TCNTB0/1024; if((dcm_fd=open(DCM_DEV,O_WRONLY))<0){ printf("Erroropening%sdevice\n",DCM_DEV); return1; } for(;;){ for(i=-512;i<=512;i++){ if(status==1) setpwm=i; else setpwm=-i; ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwm*factor)); Delay(500); printf("setpwm=%d\n",setpwm); } status=-status; } close(dcm_fd); return0;}1、閱讀理解源碼/root/…/basic/09_dcmotor/dcm_main.c2、編譯應(yīng)用程序(在開發(fā)主機(jī)虛擬機(jī)Linux上)[root@linux~]#cd/basic/09_dcmotor[root@linux~]#make[root@linux~]#ls//應(yīng)能看到綠色dcm_main的可執(zhí)行文件3、運(yùn)行(在超級(jí)終端上)[mnt/yaffs]mount-tnfs–onolock192.168.0.120:/root/host[mnt/yaffs]insmoddc-motor/dc-motor.o[mnt/yaffs]/host/…/basic/09_dcmotor/dcm_main11.8.6實(shí)驗(yàn)步驟11.8.7嘗試比驗(yàn)證再前進(jìn)一步1、修改程序,控制直流電機(jī)以恒定速度轉(zhuǎn)動(dòng);2、修改程序,用標(biāo)準(zhǔn)輸入的按鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論