基于ARM的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于ARM的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于ARM的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于ARM的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于ARM的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、    基于ARM的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:實(shí)現(xiàn)了一種全集成可變帶寬中頻寬帶低通濾波器,討論分析了跨導(dǎo)放大器-電容(OTAC)連續(xù)時(shí)間型濾波器的結(jié)構(gòu)、設(shè)計(jì)和具體實(shí)現(xiàn),使用外部可編程電路對(duì)所設(shè)計(jì)濾波器帶寬進(jìn)行控制,并利用ADS軟件進(jìn)行電路設(shè)計(jì)和仿真驗(yàn)證。仿真結(jié)果表明,該濾波器帶寬的可調(diào)范圍為126 MHz,阻帶抑制率大于35 dB,帶內(nèi)波紋小于05 dB,采用18 V電源,TSMC 018m CMOS工藝庫(kù)仿真,功耗小于21 mW,頻響曲線接近理想狀態(tài)。關(guān)鍵詞:Butte摘要:闡述了基于ARM的嵌入式智能小車系統(tǒng)中的直流電機(jī)調(diào)速子系統(tǒng),此調(diào)速系統(tǒng)

2、主要由S3C44B0X處理器和L298N電機(jī)驅(qū)動(dòng)芯片構(gòu)成,主要功能是驅(qū)動(dòng)小車的兩個(gè)車輪,調(diào)節(jié)小車的行駛速度和方向。文中詳細(xì)介紹了S3C44B0X處理器中的相關(guān)寄存器設(shè)置及工作方式,給出了系統(tǒng)硬件設(shè)計(jì)原理圖和軟件程序代碼。關(guān)鍵詞:S3C44B0X; L298N; 嵌入式;  直流電機(jī)0 引言    在智能小車的研制開發(fā)中,很重要的一部分就是智能小車要能根據(jù)周圍障礙物的情況自主的調(diào)節(jié)行駛速度和行駛方向。本文中所設(shè)計(jì)的直流電機(jī)調(diào)速系統(tǒng)是智能小車的一個(gè)重要組成部分,直流電機(jī)調(diào)速系統(tǒng)主要由S3C44B0X處理器和電機(jī)驅(qū)動(dòng)芯片

3、L298N構(gòu)成,主要功能是驅(qū)動(dòng)小車的兩個(gè)車輪,調(diào)節(jié)小車的行駛速,通過(guò)改變兩個(gè)車輪的轉(zhuǎn)速差調(diào)節(jié)行駛方向。1 硬件設(shè)計(jì)    由ARM公司設(shè)計(jì)的采用RISC架構(gòu)的ARM處理器性能強(qiáng),功耗低,體積小,支持Thumb(16位)/ARM(32位)雙指令集,指令執(zhí)行速度快。目前ARM系列微處理器在32位RISC嵌入式產(chǎn)品中已經(jīng)占據(jù)75以上的市場(chǎng)份額。尤以ARM7TDMI系列應(yīng)用最廣,其性價(jià)比也是最高。1.1 S3C44B0X簡(jiǎn)介    S3C44B0X是由Samsung公司推出的基于ARM7TDMI核的16/32位RISC處理

4、器。此款處理器提供了豐富的通用的片上外設(shè),大大減少了系統(tǒng)電路中除處理器以外的元器件配置。S3C44B0X具有6個(gè)16位定時(shí)器,每個(gè)定時(shí)器可以按照中斷模式或DMA模式運(yùn)行。定時(shí)器0,1,2,3,4具有PWM功能,定時(shí)器5是一個(gè)內(nèi)部定時(shí)器。定時(shí)器0和1,2和3,4和5分別共享一個(gè)8位的預(yù)分頻器(Prescaler),預(yù)分頻值的范圍為0255,通過(guò)寄存器TCFG0設(shè)定這三個(gè)預(yù)分頻器的值;定時(shí)器0,1,2,3還各擁有一個(gè)具有5個(gè)不同分頻信號(hào)(1/2,1/4,1/8,1/16,1/32)的時(shí)鐘分割器(Divider),定時(shí)器4和5則各具有一個(gè)包含4個(gè)分頻信號(hào)(1/2,1/4,1/8,1/16)的時(shí)鐘分割

5、器。這6個(gè)定時(shí)器的分割值通過(guò)寄存器TCFG1設(shè)定。    定時(shí)器輸入時(shí)鐘頻率MCLK/Prescaler/Divider。其中MCLK60MHz是系統(tǒng)的主頻。1.2   硬件實(shí)現(xiàn)     為提高系統(tǒng)效率、降低功耗,功放驅(qū)動(dòng)電路采用基于雙極型H橋型脈寬調(diào)制方式(PWM)的集成電路L298N。L298N是SGS公司的產(chǎn)品,內(nèi)部包含二個(gè)H橋的高電壓大電流橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn)TTL邏輯電平信號(hào),可驅(qū)動(dòng)46伏、2安培以下的電機(jī),工作溫度范圍從25度到130度。其內(nèi)部的一個(gè)H橋原理圖如圖1所示。EnA是控制

6、使能端,控制OUTl和OUT2之間電機(jī)的停轉(zhuǎn), IN1、IN2腳接入控制電平,控制OUTl和OUT2之間電機(jī)的轉(zhuǎn)向。當(dāng)使能端EnA有效,IN1為低電平IN2為高電平時(shí),三極管2,3導(dǎo)通,1,4截止,電機(jī)反轉(zhuǎn)。當(dāng)IN1和IN2電平相同時(shí),電機(jī)停轉(zhuǎn)。表1是其使能引腳,輸入引腳和輸出引腳之間的邏輯關(guān)系。圖1.  H橋原理圖表1.電機(jī)運(yùn)行邏輯關(guān)系    另一個(gè)H橋的工作原理同上。由EnB控制OUT3和OUT4之間電機(jī)的停轉(zhuǎn),根據(jù)IN3、IN4腳的輸入電平情況控制OUT3和OUT4之間電機(jī)的轉(zhuǎn)向。    由于S3C44B0X本身就帶有

7、5個(gè)PWM輸出口,直接輸出控制信號(hào)到L298N即可,無(wú)須另加電路。系統(tǒng)原理框圖如圖2所示。系統(tǒng)中選用了工作在中斷模式下的定時(shí)器1和2作為產(chǎn)生PWM的定時(shí)器。通過(guò)編程設(shè)定IO口PE4和PE5作為定時(shí)器1,2輸出PWM的端口,接入L298N的EnA和EnB端口,根據(jù)定時(shí)器1,2輸出的PWM頻率分別控制兩個(gè)直流電機(jī)的轉(zhuǎn)速。 PE6設(shè)定為輸出端口連接IN1并通過(guò)一反向器連接IN2;同樣,PE7也設(shè)為輸出端口,接入IN3并經(jīng)一個(gè)反向器接入IN4。通過(guò)接入反向器,IN1和IN2,IN3和IN4就不會(huì)同時(shí)處于高電平或低電平,即不會(huì)因?yàn)镮N1和IN2,IN3和IN4電平相同而使電機(jī)停止轉(zhuǎn)動(dòng)。電機(jī)的停止操作可以

8、通過(guò)調(diào)制脈沖寬度為0即占空比為0或者關(guān)閉定時(shí)器的使能位實(shí)現(xiàn)。這樣只需一路信號(hào)PE6就可控制IN1和IN2的狀態(tài),PE7控制IN3和IN4的狀態(tài),從而使得系統(tǒng)的控制信號(hào)得到減少,在一定程度上簡(jiǎn)化了系統(tǒng)。為保證L298N驅(qū)動(dòng)芯片正常工作,還要在其與直流電機(jī)之間加入四對(duì)續(xù)流二極管用以將電機(jī)中反向電動(dòng)勢(shì)產(chǎn)生的電流分流到地或電源正極,以免反向電動(dòng)勢(shì)對(duì)L298N產(chǎn)生損害。圖2. 系統(tǒng)原理圖2  系統(tǒng)的軟件設(shè)計(jì) 2.1定時(shí)器工作方式    在S3C44B0X中,每個(gè)定時(shí)器具有一個(gè)倒計(jì)時(shí)器,通過(guò)定時(shí)器時(shí)鐘源驅(qū)動(dòng)16位倒計(jì)時(shí)寄存器TCNTn。定時(shí)器啟動(dòng)

9、前,要向定時(shí)計(jì)數(shù)緩沖區(qū)寄存器(TCNTBn)寫入一個(gè)初始值,這個(gè)值在定時(shí)器啟動(dòng)時(shí)載入到倒計(jì)時(shí)器TCNTn中。在定時(shí)器的比較緩沖器寄存器(TCMPBn)中同樣也要寫入一初始值,運(yùn)行時(shí)用來(lái)載入到比較寄存器TCMPn中與倒計(jì)時(shí)器TCNTn的值相比較。系統(tǒng)啟動(dòng)時(shí),需要通過(guò)置手動(dòng)刷新位的方式,將TCMPBn和TCNTBn這兩個(gè)緩沖區(qū)的值載入到TCMPn和TCNTn中。TCMPBn和TCNTBn這兩個(gè)緩沖區(qū)的應(yīng)用(即雙緩沖器)使定時(shí)器能夠在頻率和占空比同時(shí)變化時(shí),仍然產(chǎn)生一個(gè)穩(wěn)定的輸出。一般啟動(dòng)定時(shí)器的步驟如下:1),將初始值寫入到TCNTBn和TCMPBn中。2),設(shè)置對(duì)應(yīng)定時(shí)器的自動(dòng)重載位3),設(shè)置對(duì)

10、應(yīng)定時(shí)器的手動(dòng)更新位,反向器置為off狀態(tài).3),設(shè)置對(duì)應(yīng)定時(shí)器的啟動(dòng)位來(lái)啟動(dòng)定時(shí)器,同時(shí)清除手動(dòng)更新位。    此時(shí)定時(shí)器TCNTn開始倒計(jì)數(shù),當(dāng)TCNTn具有與TCMPn相同的值時(shí),TOUTn的邏輯電平由低變高。當(dāng)計(jì)數(shù)器TCNTn到達(dá)0時(shí)將產(chǎn)生定時(shí)器中斷請(qǐng)求,通知CPU定時(shí)器操作已經(jīng)完成。此時(shí),如果自動(dòng)重載控制位使能,TCNTBn的值會(huì)自動(dòng)載入到TCNTn寄存器中,并開始下一操作周期。如果通過(guò)清除定時(shí)器使能位等方法使定時(shí)器停止,計(jì)數(shù)值將不會(huì)自動(dòng)重載。2.2 調(diào)制PWM    脈沖寬度調(diào)制(Pulse Width Modu

11、lationPWM)是指將輸出信號(hào)的基本周期固定,通過(guò)調(diào)整基本周期內(nèi)工作周期的大小來(lái)控制輸出功率。對(duì)于一個(gè)定時(shí)器來(lái)說(shuō),其時(shí)鐘源輸入頻率一般不變,即TCFG0(定時(shí)器預(yù)分頻值)和TCFG1(定時(shí)器分割值)的值設(shè)定后就不需改變。這樣對(duì)于PWM提供了一個(gè)穩(wěn)定的時(shí)鐘源。電機(jī)的轉(zhuǎn)速與電機(jī)兩端的電壓成比例,而電機(jī)兩端的電壓與控制波形的占空比成正比,因此電機(jī)的速度與占空比成比例,占空比越大,電機(jī)轉(zhuǎn)得越快。系統(tǒng)中PWM脈沖頻率就由TCNTBn決定,PWM脈沖寬度值則由TCMPBn的值來(lái)決定,而占空比即為TCMPn/TCNTn。如果要使電機(jī)轉(zhuǎn)速下降,即得到一個(gè)比較低的PWM脈寬輸出值,可以減少TCMPBn的值;

12、要使電機(jī)轉(zhuǎn)速增加,即得到一個(gè)更高的PWM的輸出值,可以增加TCMPBn的值。由于雙緩沖器的特性,下一個(gè)PWM周期的TCMPBn值可以通過(guò)ISR(中斷服務(wù)程序)或其他手段在當(dāng)前PWM周期中低電平時(shí)的任何一點(diǎn)寫入,即在程序中可以通過(guò)中斷重新設(shè)定TCMPBn的值來(lái)改變電機(jī)的轉(zhuǎn)速。緩沖區(qū)TCMPBn,TCNTBn的值不一定等于這個(gè)周期的TCMPn,TCNTn的值,但一定是TCMPn,TCNTn的下一個(gè)周期的值。2.3 程序代碼    本文中的應(yīng)用程序是在ADS1.2的開發(fā)環(huán)境下交叉編譯后下載到Flash中運(yùn)行的。程序代碼(以定時(shí)器1為例):/初始化端口void&

13、#160; Init_PortE( )rPCONE=0x5a00; /定義I/O口/PE4,PE5,PE6,PE7的/功能rPUPE=0xf8; /禁止相應(yīng)位的電阻上拉使能/啟動(dòng)A號(hào)電機(jī),此電機(jī)由定時(shí)器1控制void  Start_MotorA ( ) rTCNTB1=Motor_CONT;/給兩個(gè)緩沖器/賦值 rTCMPB1=Motor_cont; rTCON |=(0x01<<11); /定時(shí)器1自動(dòng)重載 rTCON |=(0x01<<9); /手動(dòng)刷新置位 rTCON &= (0x01<&l

14、t;10); /關(guān)反向器 rTCON |=(0x01<<8); /啟動(dòng)定時(shí)器1 rTCON &= (0x01<<9); /清手動(dòng)刷新位/A電機(jī)停止void  Stop_Motor1() rTCON &= (0x01<<8); /清定時(shí)器1使能位/改變電機(jī)占空比和轉(zhuǎn)向void SetPWM (int valueA, int drct)rPDATE=drct; / drct定義PE6口輸出高電平還是低電平,控制電機(jī)轉(zhuǎn)向rTCMPB1=Motor_COUNT*valueA/0x64;/valueA為占空比,亦

15、可設(shè)置valueA為0使電機(jī)A停/止轉(zhuǎn)動(dòng)。    另一電機(jī)的相關(guān)設(shè)置同上。小車行進(jìn)過(guò)程中可以同時(shí)改變兩組PWM的占空比來(lái)調(diào)節(jié)小車的行駛速度;通過(guò)設(shè)置兩組不同的占空比形成兩個(gè)車輪的轉(zhuǎn)速差達(dá)到改變行駛方向的目的。    在對(duì)比了100Hz,1KHz,10KHz的PWM輸出驅(qū)動(dòng)電機(jī)的情況發(fā)現(xiàn):當(dāng)頻率為100 Hz時(shí),電機(jī)運(yùn)行呈間隙轉(zhuǎn)動(dòng)狀態(tài);當(dāng)頻率為10KHz時(shí),電機(jī)運(yùn)行不平穩(wěn);當(dāng)頻率為1KHz時(shí),不同占空比下電機(jī)運(yùn)行都很平穩(wěn),轉(zhuǎn)速、轉(zhuǎn)向改變迅速。圖3是由示波器產(chǎn)生的PWM頻率為1KHz,占空比為30,電機(jī)反轉(zhuǎn)情況下的調(diào)制波形。圖3占空比為3

16、0,電機(jī)反轉(zhuǎn)圖4是由示波器產(chǎn)生的PWM頻率為1KHz,占空比80%,電機(jī)正轉(zhuǎn)時(shí)的調(diào)制波形。圖4占空比為30,電機(jī)反轉(zhuǎn)3 結(jié)束語(yǔ)    本文中所設(shè)PWM的輸出頻率為1KHZ,所用直流電機(jī)是120轉(zhuǎn)/分鐘,額定電壓為12V(電機(jī)外不加其他感性負(fù)載)。本課題最終實(shí)現(xiàn)的是基于ARM的嵌入式智能小車系統(tǒng),而直流電機(jī)的PWM調(diào)速控制是其中一個(gè)重要的子系統(tǒng)。實(shí)驗(yàn)證明,Samsung公司的16/32位RISC處理器S3C44B0X對(duì)調(diào)制PWM實(shí)現(xiàn)方便,可編程,電機(jī)轉(zhuǎn)速、轉(zhuǎn)向的改變迅速,無(wú)停頓,可以很好的為智能小車服務(wù)。參考文獻(xiàn):1  杜春雷  ARM體系結(jié)構(gòu)與編程M  北京:  清華大學(xué)出版社

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論