PWM控制方式廣泛應(yīng)用于各種控制系統(tǒng)中,但對(duì)脈沖寬度的調(diào)節(jié)一般采用硬件來(lái)實(shí)現(xiàn)。如使用PWM控制器或在系統(tǒng)中增加PWM電路[1]等,則本錢高、響應(yīng)速度慢,而且PWM控制器與系統(tǒng)之間存在兼容題目。另外,控制系統(tǒng)中的信號(hào)采樣通常是由A/D轉(zhuǎn)換器來(lái)完成,因此檢測(cè)精度要求較高時(shí),調(diào)理電路復(fù)雜,而且因A/D的位數(shù)高,從而使設(shè)計(jì)的系統(tǒng)本錢居高不下。
本文以應(yīng)用于溫度控制系統(tǒng)為例,先容利用MOTOROLA公司生產(chǎn)的新型單片機(jī)MSP430F413內(nèi)的定時(shí)器Time_A設(shè)計(jì)可以用時(shí)間量進(jìn)行溫度采樣以及實(shí)現(xiàn)PWM調(diào)節(jié)的方法。為了可在使用少量外圍電路的情況下實(shí)現(xiàn)控制系統(tǒng)的高精度丈量和控制,一方面用時(shí)間量采樣,在省往1片A/D的情況下得到12位的高精度;另一方面在定時(shí)中斷內(nèi)完全用軟件實(shí)現(xiàn)PWM調(diào)節(jié),以易于進(jìn)行數(shù)據(jù)的通訊和顯示。該系統(tǒng)在中斷內(nèi)可以解決波形產(chǎn)生的實(shí)時(shí)在線計(jì)算和計(jì)算精度題目,可精確、實(shí)時(shí)地計(jì)算設(shè)定頻率下的脈沖寬度。
1 單片機(jī)MSP430F413及定時(shí)器
MSP430系列的單片機(jī)F413在超低功耗和功能集成上都有一定的特色,可大大減小外圍電路的復(fù)雜性,它的實(shí)時(shí)處理能力及各種外圍模塊使其可應(yīng)用在多個(gè)低功耗領(lǐng)域[2]。MSP430F413中通用16位定時(shí)器Timer_A有如下主要功能模塊。
(1)一個(gè)可連續(xù)遞增計(jì)數(shù)至預(yù)定值并返回0的計(jì)數(shù)器。
(2)軟件可選擇時(shí)鐘源。
(3)5個(gè)捕捉/比較寄存器,每個(gè)有獨(dú)立的捕捉事件。
(4)5個(gè)輸出模塊,支持脈寬調(diào)制的需要。
定時(shí)器控制寄存器TACTL的各位可控制Timer_A的配置,并定義16位定時(shí)器的基本操縱,可選擇原始頻率或分頻后的輸進(jìn)時(shí)鐘源及4種工作模式。另外還有清除功能和溢出中斷控制位。5個(gè)捕捉/比較寄存器CCRx的操縱相同,它們通過(guò)各自的控制寄存器CCTLx進(jìn)行配置。
2 時(shí)間量采樣及PWM控制的實(shí)現(xiàn)原理
以應(yīng)用于溫度控制系統(tǒng)為例,先容用定時(shí)器實(shí)現(xiàn)信號(hào)采樣和PWM控制的方法。該溫度控制系統(tǒng)包括單片機(jī)、溫度丈量電路、負(fù)載驅(qū)動(dòng)電路及電源控制、低電壓檢測(cè)和顯示電路等其他外圍部分。
單片機(jī)MSP430F413中用于丈量和控制溫度的主要I/O口有:
P1.0:輸出50Hz方波,用于產(chǎn)生三角波。
P1.2:驅(qū)動(dòng)溫度控制執(zhí)行元件,2kHz方波PWM輸出。
P2.0:脈寬捕捉。
2.1 單片機(jī)端口的中斷設(shè)置
溫度控制系統(tǒng)的50Hz方波輸出、PWM輸出和輸進(jìn)捕捉都是由定時(shí)中斷來(lái)實(shí)現(xiàn)。這3個(gè)中斷分別由P0、P1和P2口的外圍模塊引起,屬于外部可屏蔽中斷。初始化時(shí),對(duì)這3個(gè)I/O口進(jìn)行中斷設(shè)置,并對(duì)Time_A控制寄存器TACTL設(shè)置,包括輸進(jìn)信號(hào)2分頻、選用輔助時(shí)鐘ACLK等。當(dāng)定義完捕捉/比較寄存器后,重新賦值TACTL,啟動(dòng)定時(shí)器,開始連續(xù)遞增計(jì)數(shù)。
2.2 脈寬捕捉實(shí)現(xiàn)溫度值的采樣
溫度丈量電路將溫度值轉(zhuǎn)換為電壓值,同時(shí)單片機(jī)產(chǎn)生的50Hz方波經(jīng)電容充放電電路變換得到同頻率的三角波,其電壓值切割三角波,從而將溫度值轉(zhuǎn)換為相應(yīng)寬度的脈沖送進(jìn)單片機(jī)。波形變化如圖1所示。