當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]文中詳細介紹了S3C44B0X處理器中的相關(guān)寄存器設(shè)置及工作方式,給出了系統(tǒng)硬件設(shè)計原理圖和軟件程序代碼。

摘要:闡述了基于ARM的嵌入式智能小車系統(tǒng)中的直流電機調(diào)速子系統(tǒng),此調(diào)速系統(tǒng)主要由S3C44B0X處理器和L298N電機驅(qū)動芯片構(gòu)成,主要功能是驅(qū)動小車的兩個車輪,調(diào)節(jié)小車的行駛速度和方向。文中詳細介紹了S3C44B0X處理器中的相關(guān)寄存器設(shè)置及工作方式,給出了系統(tǒng)硬件設(shè)計原理圖和軟件程序代碼。
關(guān)鍵詞:S3C44B0X; L298N; 嵌入式;  直流電機

引言

    在智能小車的研制開發(fā)中,很重要的一部分就是智能小車要能根據(jù)周圍障礙物的情況自主的調(diào)節(jié)行駛速度和行駛方向。本文中所設(shè)計的直流電機調(diào)速系統(tǒng)是智能小車的一個重要組成部分,直流電機調(diào)速系統(tǒng)主要由S3C44B0X處理器和電機驅(qū)動芯片L298N構(gòu)成,主要功能是驅(qū)動小車的兩個車輪,調(diào)節(jié)小車的行駛速,通過改變兩個車輪的轉(zhuǎn)速差調(diào)節(jié)行駛方向。

1  硬件設(shè)計

    由ARM公司設(shè)計的采用RISC架構(gòu)的ARM處理器性能強,功耗低,體積小,支持Thumb(16位)/ARM(32位)雙指令集,指令執(zhí)行速度快。目前ARM系列微處理器在32位RISC嵌入式產(chǎn)品中已經(jīng)占據(jù)75%以上的市場份額。尤以ARM7TDMI系列應(yīng)用最廣,其性價比也是最高。

1.1  S3C44B0X簡介

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

    定時器輸入時鐘頻率=MCLK/Prescaler/Divider。其中MCLK=60MHz是系統(tǒng)的主頻。

1.2   硬件實現(xiàn)

     為提高系統(tǒng)效率、降低功耗,功放驅(qū)動電路采用基于雙極型H橋型脈寬調(diào)制方式(PWM)的集成電路L298N。L298N是SGS公司的產(chǎn)品,內(nèi)部包含二個H橋的高電壓大電流橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46伏、2安培以下的電機,工作溫度范圍從-25度到130度。其內(nèi)部的一個H橋原理圖如圖1所示。EnA是控制使能端,控制OUTl和OUT2之間電機的停轉(zhuǎn), IN1、IN2腳接入控制電平,控制OUTl和OUT2之間電機的轉(zhuǎn)向。當(dāng)使能端EnA有效,IN1為低電平IN2為高電平時,三極管2,3導(dǎo)通,1,4截止,電機反轉(zhuǎn)。當(dāng)IN1和IN2電平相同時,電機停轉(zhuǎn)。表1是其使能引腳,輸入引腳和輸出引腳之間的邏輯關(guān)系。


圖1.  H橋原理圖

表1.電機運行邏輯關(guān)系

    另一個H橋的工作原理同上。由EnB控制OUT3和OUT4之間電機的停轉(zhuǎn),根據(jù)IN3、IN4腳的輸入電平情況控制OUT3和OUT4之間電機的轉(zhuǎn)向。

    由于S3C44B0X本身就帶有5個PWM輸出口,直接輸出控制信號到L298N即可,無須另加電路。系統(tǒng)原理框圖如圖2所示。系統(tǒng)中選用了工作在中斷模式下的定時器1和2作為產(chǎn)生PWM的定時器。通過編程設(shè)定I/O口PE4和PE5作為定時器1,2輸出PWM的端口,接入L298N的EnA和EnB端口,根據(jù)定時器1,2輸出的PWM頻率分別控制兩個直流電機的轉(zhuǎn)速。 PE6設(shè)定為輸出端口連接IN1并通過一反向器連接IN2;同樣,PE7也設(shè)為輸出端口,接入IN3并經(jīng)一個反向器接入IN4。通過接入反向器,IN1和IN2,IN3和IN4就不會同時處于高電平或低電平,即不會因為IN1和IN2,IN3和IN4電平相同而使電機停止轉(zhuǎn)動。電機的停止操作可以通過調(diào)制脈沖寬度為0即占空比為0或者關(guān)閉定時器的使能位實現(xiàn)。這樣只需一路信號PE6就可控制IN1和IN2的狀態(tài),PE7控制IN3和IN4的狀態(tài),從而使得系統(tǒng)的控制信號得到減少,在一定程度上簡化了系統(tǒng)。為保證L298N驅(qū)動芯片正常工作,還要在其與直流電機之間加入四對續(xù)流二極管用以將電機中反向電動勢產(chǎn)生的電流分流到地或電源正極,以免反向電動勢對L298N產(chǎn)生損害。

圖2. 系統(tǒng)原理圖

2  系統(tǒng)的軟件設(shè)計 

2.1 定時器工作方式

    在S3C44B0X中,每個定時器具有一個倒計時器,通過定時器時鐘源驅(qū)動16位倒計時寄存器TCNTn。定時器啟動前,要向定時計數(shù)緩沖區(qū)寄存器(TCNTBn)寫入一個初始值,這個值在定時器啟動時載入到倒計時器TCNTn中。在定時器的比較緩沖器寄存器(TCMPBn)中同樣也要寫入一初始值,運行時用來載入到比較寄存器TCMPn中與倒計時器TCNTn的值相比較。系統(tǒng)啟動時,需要通過置手動刷新位的方式,將TCMPBn和TCNTBn這兩個緩沖區(qū)的值載入到TCMPn和TCNTn中。TCMPBn和TCNTBn這兩個緩沖區(qū)的應(yīng)用(即雙緩沖器)使定時器能夠在頻率和占空比同時變化時,仍然產(chǎn)生一個穩(wěn)定的輸出。一般啟動定時器的步驟如下:

1),將初始值寫入到TCNTBn和TCMPBn中。

2),設(shè)置對應(yīng)定時器的自動重載位

3),設(shè)置對應(yīng)定時器的手動更新位,反向器置為off狀態(tài).

3),設(shè)置對應(yīng)定時器的啟動位來啟動定時器,同時清除手動更新位。

    此時定時器TCNTn開始倒計數(shù),當(dāng)TCNTn具有與TCMPn相同的值時,TOUTn的邏輯電平由低變高。當(dāng)計數(shù)器TCNTn到達0時將產(chǎn)生定時器中斷請求,通知CPU定時器操作已經(jīng)完成。此時,如果自動重載控制位使能,TCNTBn的值會自動載入到TCNTn寄存器中,并開始下一操作周期。如果通過清除定時器使能位等方法使定時器停止,計數(shù)值將不會自動重載。

2.2  調(diào)制PWM

    脈沖寬度調(diào)制(Pulse Width Modulation—PWM)是指將輸出信號的基本周期固定,通過調(diào)整基本周期內(nèi)工作周期的大小來控制輸出功率。對于一個定時器來說,其時鐘源輸入頻率一般不變,即TCFG0(定時器預(yù)分頻值)和TCFG1(定時器分割值)的值設(shè)定后就不需改變。這樣對于PWM提供了一個穩(wěn)定的時鐘源。電機的轉(zhuǎn)速與電機兩端的電壓成比例,而電機兩端的電壓與控制波形的占空比成正比,因此電機的速度與占空比成比例,占空比越大,電機轉(zhuǎn)得越快。系統(tǒng)中PWM脈沖頻率就由TCNTBn決定,PWM脈沖寬度值則由TCMPBn的值來決定,而占空比即為TCMPn/TCNTn。如果要使電機轉(zhuǎn)速下降,即得到一個比較低的PWM脈寬輸出值,可以減少TCMPBn的值;要使電機轉(zhuǎn)速增加,即得到一個更高的PWM的輸出值,可以增加TCMPBn的值。由于雙緩沖器的特性,下一個PWM周期的TCMPBn值可以通過ISR(中斷服務(wù)程序)或其他手段在當(dāng)前PWM周期中低電平時的任何一點寫入,即在程序中可以通過中斷重新設(shè)定TCMPBn的值來改變電機的轉(zhuǎn)速。緩沖區(qū)TCMPBn,TCNTBn的值不一定等于這個周期的TCMPn,TCNTn的值,但一定是TCMPn,TCNTn的下一個周期的值。

2.3  程序代碼

    本文中的應(yīng)用程序是在ADS1.2的開發(fā)環(huán)境下交叉編譯后下載到Flash中運行的。程序代碼(以定時器1為例):

//初始化端口

void  Init_PortE( )

{

rPCONE=0x5a00; //定義I/O口//PE4,PE5,PE6,PE7的//功能

rPUPE=0xf8; //禁止相應(yīng)位的電阻上拉使能

}

//啟動A號電機,此電機由定時器1控制

void  Start_MotorA ( )

{

 rTCNTB1=Motor_CONT;//給兩個緩沖器//賦值

 rTCMPB1=Motor_cont;

 rTCON |=(0x01<<11); //定時器1自動重載

 rTCON |=(0x01<<9); //手動刷新置位

 rTCON &= ~ (0x01<<10); //關(guān)反向器

 rTCON |=(0x01<<8); //啟動定時器1

 rTCON &= ~ (0x01<<9); //清手動刷新位

}

//A電機停止

void  Stop_Motor1()

{

 rTCON &= ~ (0x01<<8); //清定時器1使能位

}

//改變電機占空比和轉(zhuǎn)向

void SetPWM (int valueA, int drct)

{

rPDATE=drct; // drct定義PE6口輸出高電平還是低電平,控制電機轉(zhuǎn)向

rTCMPB1=Motor_COUNT*valueA/0x64;//valueA為占空比,亦可設(shè)置valueA為0使電機A停//止轉(zhuǎn)動。

}

    另一電機的相關(guān)設(shè)置同上。小車行進過程中可以同時改變兩組PWM的占空比來調(diào)節(jié)小車的行駛速度;通過設(shè)置兩組不同的占空比形成兩個車輪的轉(zhuǎn)速差達到改變行駛方向的目的。

    在對比了100Hz,1KHz,10KHz的PWM輸出驅(qū)動電機的情況發(fā)現(xiàn):當(dāng)頻率為100 Hz時,電機運行呈間隙轉(zhuǎn)動狀態(tài);當(dāng)頻率為10KHz時,電機運行不平穩(wěn);當(dāng)頻率為1KHz時,不同占空比下電機運行都很平穩(wěn),轉(zhuǎn)速、轉(zhuǎn)向改變迅速。圖3是由示波器產(chǎn)生的PWM頻率為1KHz,占空比為30%,電機反轉(zhuǎn)情況下的調(diào)制波形。

圖3占空比為30%,電機反轉(zhuǎn)

圖4是由示波器產(chǎn)生的PWM頻率為1KHz,占空比80%,電機正轉(zhuǎn)時的調(diào)制波形。

圖4占空比為30%,電機反轉(zhuǎn)

結(jié)束語

    本文中所設(shè)PWM的輸出頻率為1KHZ,所用直流電機是120轉(zhuǎn)/分鐘,額定電壓為12V(電機外不加其他感性負載)。本課題最終實現(xiàn)的是基于ARM的嵌入式智能小車系統(tǒng),而直流電機的PWM調(diào)速控制是其中一個重要的子系統(tǒng)。實驗證明,Samsung公司的16/32位RISC處理器S3C44B0X對調(diào)制PWM實現(xiàn)方便,可編程,電機轉(zhuǎn)速、轉(zhuǎn)向的改變迅速,無停頓,可以很好的為智能小車服務(wù)。

參考文獻:

[1]  杜春雷  ARM體系結(jié)構(gòu)與編程[M]  北京:  清華大學(xué)出版社   2003
[2] S3C44B0X USER MANUAL. SAMSUNG  ELECTRONICS
[3]  田澤    嵌入式系統(tǒng)與應(yīng)用[M]   北京:北京航空航天大學(xué)出版社  2005
[4]  李洪科 吳漢松等   基于RTW的無刷直流電機控制系統(tǒng)仿真的新方法      微計算機信息2005,06(006),P12-14

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉