直流電機(jī)作為一種動(dòng)力產(chǎn)生裝置,在工業(yè)及日常生活中得到了廣泛應(yīng)用。對(duì)直流電機(jī)的控制有兩方面:轉(zhuǎn)速與轉(zhuǎn)向。ARM是近年來(lái)發(fā)展非常迅速的處理器,有著很好的應(yīng)用前景。將ARM處理器應(yīng)用于直流電機(jī)的轉(zhuǎn)速控制,有極大的使用價(jià)值。本文將S3C2440A處理器應(yīng)用于直流電機(jī)的控制,對(duì)系統(tǒng)的工作原理及工作流程進(jìn)行了研究與設(shè)計(jì)。
1 PWM功能簡(jiǎn)介
PWM(Pulse Width Modulation,脈寬調(diào)制器)功能是由處理器提供的一種定時(shí)器。通過(guò)對(duì)PWM功能寄存器的設(shè)置,就可以設(shè)定占空比的大小、定時(shí)頻率的高低,這樣就可以通過(guò)控制電路來(lái)實(shí)現(xiàn)PWM輸出。
PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控制系統(tǒng)的信號(hào)都是數(shù)字形式的,無(wú)需進(jìn)行數(shù)/模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可以將噪聲影響降到最小,噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或者將邏輯0改變?yōu)檫壿?時(shí),才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。
對(duì)噪聲抵抗能力的增強(qiáng)是PWM相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。在接收端,通過(guò)適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除用于調(diào)制的高頻方波并將信號(hào)還原為模擬形式。
PWM廣泛應(yīng)用在多種系統(tǒng)中。這里將其應(yīng)用于直流電機(jī)的轉(zhuǎn)速控制。
2 硬件設(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)份額。現(xiàn)在ARM已經(jīng)發(fā)展到了ARM11系列,不過(guò)市場(chǎng)上應(yīng)用最多的還是ARM9系列,其性價(jià)比也占有優(yōu)勢(shì)。
2.1 S3C2440A簡(jiǎn)介
S3C2440A是由Samsung公司推出的基于ARM920T內(nèi)核的16/32位RISC處理器。此款處理器提供了豐富通用的片上外設(shè),大大減少了系統(tǒng)電路中除處理器以外的元器件配置。S3C2440A有4路PWM定時(shí)器,1路內(nèi)部定時(shí)器,8路ADC和觸摸屏接口,130個(gè)通用I/O,24個(gè)外部中斷源。最高工作頻率可以達(dá)到400 MHz,完全能夠完成設(shè)計(jì)要求。
2.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 V,2 A以下的電機(jī),工作溫度范圍-25~+130℃。L298N的內(nèi)部結(jié)構(gòu)如圖1所示。
L298N可以同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī),在這里只需要用到1個(gè),將電機(jī)放在OUT1與OUT2之間即可。其中EnA是控制使能端,控制OUT1和OUT2之間電機(jī)的停轉(zhuǎn)。IN1,IN2腳接入控制電平,控制OUT1和OUT2之間直流電機(jī)的轉(zhuǎn)動(dòng)方向。當(dāng)使能端EnA有效,IN1為低電平IN2為高電平時(shí),三極管T2,T3導(dǎo)通,T1,T4截止,電機(jī)反轉(zhuǎn);相反當(dāng)IN1為高電平IN2為低電平時(shí),三極管T1,T4導(dǎo)通,T2,T3截止,電機(jī)正轉(zhuǎn)。當(dāng)IN1,IN2電平相同時(shí),電機(jī)停轉(zhuǎn)。
由于S3C2440A本身就帶有4個(gè)PWM輸出口,直接輸出控制信號(hào)到L298N即可,無(wú)須另加電路。系統(tǒng)原理框圖如圖2所示。系統(tǒng)中選用了工作在中斷模式下的定時(shí)器1作為產(chǎn)生PWM的定時(shí)器。通過(guò)編程設(shè)定I/O口GPB0作為定時(shí)器1輸出PWM的端口,接入L298N的EnA端口,根據(jù)定時(shí)器1輸出的PWM頻率分別控制2個(gè)直流電機(jī)的轉(zhuǎn)速。端口IN1連接GPB5,IN2連接GPB6。通過(guò)改變GPB5與GPB6電平的高低實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)。電機(jī)的停止操作可以通過(guò)調(diào)制脈沖寬度為0即占空比為0或者關(guān)閉定時(shí)器的使能位實(shí)現(xiàn)。為保證L298N驅(qū)動(dòng)芯片正常工作,還要在其與直流電機(jī)之間加入兩對(duì)續(xù)流二極管用以將電機(jī)中反向電動(dòng)勢(shì)產(chǎn)生的電流分流到地或電源正極,以免反向電動(dòng)勢(shì)對(duì)L298N產(chǎn)生損害。
3 系統(tǒng)的軟件設(shè)計(jì)
S3C2440A有5個(gè)16位的定時(shí)器。定時(shí)器0,1,2,3有脈寬調(diào)制功能。定時(shí)器4有一個(gè)沒(méi)有輸出引腳的內(nèi)部定時(shí)器,定時(shí)器0有一個(gè)用于大電流設(shè)備的死區(qū)生成器。
定時(shí)器0和1共用一個(gè)8位預(yù)分頻器,定時(shí)器2,3,4共用另一個(gè)8位預(yù)分頻器。每個(gè)定時(shí)器有1個(gè)時(shí)鐘分頻器,可以生成5種不同的分頻信號(hào):1/2,1/4,1/8,1/16和TCLK。每個(gè)定時(shí)器模塊從時(shí)鐘分頻器接收自己的時(shí)鐘信號(hào),其分頻器從相應(yīng)的8位預(yù)分頻器接收時(shí)鐘。8位預(yù)分頻器是可編程的并且根據(jù)裝載的值來(lái)分頻PCLK,它的值存儲(chǔ)在TCFG0和TCFG1寄存器。
3.1 定時(shí)器工作方式
在S3C2440A中,每個(gè)定時(shí)器都有自己的16位減法計(jì)數(shù)器,由定時(shí)器時(shí)鐘驅(qū)動(dòng)。當(dāng)定時(shí)器使能,定時(shí)器計(jì)數(shù)緩存寄存器(TCNTBn)得到一個(gè)被裝載到遞減計(jì)數(shù)器中的初始值。定時(shí)器比較緩存寄存器(TCMPBn)有一個(gè)被裝載到比較寄存器中用來(lái)和遞減計(jì)數(shù)器的值作比較的初始值。TC-NTBn和TCMPBn的雙緩存特點(diǎn)使得當(dāng)頻率與負(fù)荷比發(fā)生改變時(shí),定時(shí)器可以有1個(gè)穩(wěn)定的輸出。
定時(shí)器的啟動(dòng)步驟如下:
(1)寫初始值到TCNTBn和TCMPBn。
(2)設(shè)置對(duì)應(yīng)定時(shí)器的手動(dòng)更新位,反相器設(shè)置為off狀態(tài)。
(3)設(shè)置對(duì)應(yīng)定時(shí)器的啟動(dòng)位開(kāi)啟定時(shí)器,同時(shí)清除手動(dòng)更新位。
此時(shí)定時(shí)器開(kāi)始倒數(shù),當(dāng)定時(shí)器計(jì)數(shù)器為0時(shí),定時(shí)器發(fā)出中斷請(qǐng)求,通知處理器定時(shí)結(jié)束。此時(shí),對(duì)應(yīng)TCNTBn的值將自動(dòng)載入計(jì)數(shù)器,從而可以進(jìn)入下一個(gè)操作。如果定時(shí)器已經(jīng)停止,清除TCONn中的定時(shí)器使能位,則TCNTBn中的值將不會(huì)被載入到計(jì)數(shù)器中。
3.2 PWM脈寬調(diào)制
對(duì)于定時(shí)器來(lái)說(shuō),其時(shí)鐘源輸入頻率一般不變。電動(dòng)機(jī)的轉(zhuǎn)速與電機(jī)兩端的電壓成正比,而電機(jī)兩端的電壓與控制波形的占空比成正比,因此電機(jī)的速度與占空比成正比,占空比越大,電機(jī)轉(zhuǎn)速越快。而S3C2440A系統(tǒng)中PWM頻率由TCNTBn決定,PWM脈沖寬度由TCMPBn決定,占空比即為TCMPBn/TCNTBn。
如果使電機(jī)轉(zhuǎn)速下降,可以減少TCMPBn的值;相反可以增加TCMPBn的值。由于雙緩沖的特性,為了獲得下一個(gè)正確的PWM周期,可以在當(dāng)前PWM周期的任意點(diǎn)通過(guò)ISR或其他程序來(lái)寫TCMPBn。
S3C2440A設(shè)置PWM的流程圖如圖3所示。
具體實(shí)現(xiàn)方法與步驟:
(1)I/O口設(shè)置是對(duì)PE口的工作方式進(jìn)行設(shè)置,使之工作在定時(shí)器輸出狀態(tài)。
(2)對(duì)定時(shí)器時(shí)鐘源頻率進(jìn)行設(shè)定。
(3)設(shè)置輸出波形頻率。
(4)設(shè)置占空比。
(5)設(shè)置定時(shí)器控制寄存器并啟動(dòng)定時(shí)器,定時(shí)器啟動(dòng)后可以采用示波器觀察輸出波形是否滿足要求。
3.3 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)中設(shè)置PWM輸出頻率為1 000 Hz時(shí),電機(jī)能平穩(wěn)轉(zhuǎn)動(dòng)。此時(shí)改變占空比,電機(jī)的轉(zhuǎn)速能隨之改變。用數(shù)字示波器觀察,頻率為1000 Hz占空比為80%的PWM輸出調(diào)制波形如圖4所示,修改占空比為40%時(shí)的輸出波形如圖5所示。在圖4與圖5中,橫坐標(biāo)表示時(shí)間,單位:μs;縱坐標(biāo)表示電壓,單位:V。同樣,也可以用數(shù)字示波器觀察其他占空比時(shí)的調(diào)制波形。
4 結(jié)論
從整體上看,本文設(shè)計(jì)的直流調(diào)速系統(tǒng)可以很方便地實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速以及轉(zhuǎn)向的控制。但為了實(shí)現(xiàn)更精確的控制,可以采用轉(zhuǎn)速與電流雙閉環(huán)結(jié)構(gòu)。通過(guò)實(shí)驗(yàn)表明,利用S3C2440A的PWM控制部分完全可以實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)速的控制,采用在ARM嵌入式系統(tǒng)上的C語(yǔ)言編程實(shí)現(xiàn),充分利用了現(xiàn)有的集成芯片的強(qiáng)大功能,省去了許多硬件電路,使整個(gè)控制系統(tǒng)得到了大大的簡(jiǎn)化。