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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

寄存器 地址 讀/寫 描述 復位值

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

表11-15 TCFG1寄存器的地址

寄存器 地址 讀/寫 描述 復位值

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

表11-17 TCON寄存器的地址

寄存器 地址 讀/寫 描述 復位值

TCON 0x01D50008 R/W 時間控制寄存器0x00000000

表11-22 TCNTO0寄存器的地址

寄存器 地址 讀/寫 描述 復位值

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

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

寄存器 地址 讀/寫 描述 復位值

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

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

0x00000000初始配置定時器0的分頻系數(shù)為127,分割器值為1/2;啟動定時器0,自動重載,關閉反向輸出,死區(qū)使能。4.開發(fā)平臺上的實際鏈接11.8.5實驗程序實驗驅動程序(虛擬機):/root/…/basic/09_dcmotor/drivers/dc-motor.o實驗程序主函數(shù)如下頁(虛擬機)/root/…/basic/09_dcmotor/dcm_main.c實驗驅動程序(實驗箱):/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試驗箱驅動文件名為:/dev/s3c2440-dc-motor0已經改過*/voidDelay(intt){ inti; for(;t>0;t--) for(i=0;i<400;i++);}實驗源程序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、編譯應用程序(在開發(fā)主機虛擬機Linux上)[root@linux~]#cd/basic/09_dcmotor[root@linux~]#make[root@linux~]#ls//應能看到綠色dcm_main的可執(zhí)行文件3、運行(在超級終端上)[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實驗步驟11.8.7嘗試比驗證再前進一步1、修改程序,控制直流電機以恒定速度轉動;2、修改程序,用標準輸入的按鍵

溫馨提示

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

評論

0/150

提交評論