利用單片機(jī)定時器實現(xiàn)信號采樣和PWM控制
發(fā)布時間:2021-05-18 責(zé)任編輯:lina
【導(dǎo)讀】PWM控制方式廣泛應(yīng)用于各種控制系統(tǒng)中,但對脈沖寬度的調(diào)節(jié)一般采用硬件來實現(xiàn)。如使用PWM控制器或在系統(tǒng)中增加PWM電路[1]等,則本錢高、響應(yīng)速度慢,而且PWM控制器與系統(tǒng)之間存在兼容題目。另外,控制系統(tǒng)中的信號采樣通常是由A/D轉(zhuǎn)換器來完成,因此檢測精度要求較高時,調(diào)理電路復(fù)雜,而且因A/D的位數(shù)高,從而使設(shè)計的系統(tǒng)本錢居高不下。
PWM控制方式廣泛應(yīng)用于各種控制系統(tǒng)中,但對脈沖寬度的調(diào)節(jié)一般采用硬件來實現(xiàn)。如使用PWM控制器或在系統(tǒng)中增加PWM電路[1]等,則本錢高、響應(yīng)速度慢,而且PWM控制器與系統(tǒng)之間存在兼容題目。另外,控制系統(tǒng)中的信號采樣通常是由A/D轉(zhuǎn)換器來完成,因此檢測精度要求較高時,調(diào)理電路復(fù)雜,而且因A/D的位數(shù)高,從而使設(shè)計的系統(tǒng)本錢居高不下。
本文以應(yīng)用于溫度控制系統(tǒng)為例,先容利用MOTOROLA公司生產(chǎn)的新型單片機(jī)MSP430F413內(nèi)的定時器Time_A設(shè)計可以用時間量進(jìn)行溫度采樣以及實現(xiàn)PWM調(diào)節(jié)的方法。為了可在使用少量外圍電路的情況下實現(xiàn)控制系統(tǒng)的高精度丈量和控制,一方面用時間量采樣,在省往1片A/D的情況下得到12位的高精度;另一方面在定時中斷內(nèi)完全用軟件實現(xiàn)PWM調(diào)節(jié),以易于進(jìn)行數(shù)據(jù)的通訊和顯示。該系統(tǒng)在中斷內(nèi)可以解決波形產(chǎn)生的實時在線計算和計算精度題目,可精確、實時地計算設(shè)定頻率下的脈沖寬度。
1 單片機(jī)MSP430F413及定時器
MSP430系列的單片機(jī)F413在超低功耗和功能集成上都有一定的特色,可大大減小外圍電路的復(fù)雜性,它的實時處理能力及各種外圍模塊使其可應(yīng)用在多個低功耗領(lǐng)域[2]。MSP430F413中通用16位定時器Timer_A有如下主要功能模塊。
(1)一個可連續(xù)遞增計數(shù)至預(yù)定值并返回0的計數(shù)器。
(2)軟件可選擇時鐘源。
(3)5個捕捉/比較寄存器,每個有獨立的捕捉事件。
(4)5個輸出模塊,支持脈寬調(diào)制的需要。
定時器控制寄存器TACTL的各位可控制Timer_A的配置,并定義16位定時器的基本操縱,可選擇原始頻率或分頻后的輸進(jìn)時鐘源及4種工作模式。另外還有清除功能和溢出中斷控制位。5個捕捉/比較寄存器CCRx的操縱相同,它們通過各自的控制寄存器CCTLx進(jìn)行配置。
2 時間量采樣及PWM控制的實現(xiàn)原理
以應(yīng)用于溫度控制系統(tǒng)為例,先容用定時器實現(xiàn)信號采樣和PWM控制的方法。該溫度控制系統(tǒng)包括單片機(jī)、溫度丈量電路、負(fù)載驅(qū)動電路及電源控制、低電壓檢測和顯示電路等其他外圍部分。
單片機(jī)MSP430F413中用于丈量和控制溫度的主要I/O口有:
P1.0:輸出50Hz方波,用于產(chǎn)生三角波。
P1.2:驅(qū)動溫度控制執(zhí)行元件,2kHz方波PWM輸出。
P2.0:脈寬捕捉。
2.1 單片機(jī)端口的中斷設(shè)置
溫度控制系統(tǒng)的50Hz方波輸出、PWM輸出和輸進(jìn)捕捉都是由定時中斷來實現(xiàn)。這3個中斷分別由P0、P1和P2口的外圍模塊引起,屬于外部可屏蔽中斷。初始化時,對這3個I/O口進(jìn)行中斷設(shè)置,并對Time_A控制寄存器TACTL設(shè)置,包括輸進(jìn)信號2分頻、選用輔助時鐘ACLK等。當(dāng)定義完捕捉/比較寄存器后,重新賦值TACTL,啟動定時器,開始連續(xù)遞增計數(shù)。
2.2 脈寬捕捉實現(xiàn)溫度值的采樣
溫度丈量電路將溫度值轉(zhuǎn)換為電壓值,同時單片機(jī)產(chǎn)生的50Hz方波經(jīng)電容充放電電路變換得到同頻率的三角波,其電壓值切割三角波,從而將溫度值轉(zhuǎn)換為相應(yīng)寬度的脈沖送進(jìn)單片機(jī)。波形變化如圖1所示。
通過設(shè)置CCTLx中的模式位,可將對應(yīng)的捕捉/比較寄存器CCRx設(shè)定為捕捉模式,用于時間事件的精確定位。假如在選定的輸進(jìn)引腳上發(fā)生選定脈沖的觸發(fā)沿,則定時器計數(shù)的值將被復(fù)制到CCRx中。根據(jù)這一原理,選定P2.0為輸進(jìn)引腳,設(shè)置CCTL2為捕捉模式,所測溫度值由模擬量經(jīng)丈量電路轉(zhuǎn)換為脈沖后,P2.0捕捉脈沖下降沿,進(jìn)進(jìn)中斷T2,得到與溫度值一致的單位時間內(nèi)的脈沖數(shù),存進(jìn)CCR2作進(jìn)一步處理。
這樣,系統(tǒng)就在不使用A/D轉(zhuǎn)換器的情況下完成了模數(shù)轉(zhuǎn)換。由于單片機(jī)的時鐘精確度高,而且時間量是一個相對精度極高的量,但本系統(tǒng)中用時間量進(jìn)行溫度采樣可獲得12位的高精度,同時采用50Hz脈沖,可以大大消除工頻干擾。這些都為進(jìn)行精確的溫度控制提供了必要的條件。
2.3 PWM信號天生原理
將捕捉/比較寄存器CCR0和CCR1定義為比較模式,它們的輸出單元OUT0和OUT1分別對應(yīng)單片機(jī)引腳P1.0(TA0)和P1.2(TA1)。進(jìn)進(jìn)比較模式后,假如定時器CCRx的計數(shù)值即是比較寄存器x中的值,則比較信號EQUx輸出到輸出單元OUTx中,同時根據(jù)選定的模式對信號置位、復(fù)位或翻轉(zhuǎn)。其中:設(shè)置EQU0將OUT0信號翻轉(zhuǎn),信號時鐘與定時器時鐘同步,這樣就可以在P1.0引腳上得到50Hz的方波信號;設(shè)置EQU1輸出模式為PWM復(fù)位/置位。
設(shè)定模式下定時中斷的輸出如圖2所示。根據(jù)設(shè)定的PWM復(fù)位/置位模式,若CCR1計數(shù)器溢出,則EQU1將OUT1復(fù)位;若CCR0計數(shù)器溢出,則EQU0將OUT1置位。利用CCR0和CCR1計數(shù)起始點的差值,實現(xiàn)占空比的變化,從而在P1.2上完成PWM輸出。系統(tǒng)對占空比的調(diào)節(jié)是通過改變CCR1的基數(shù)來實現(xiàn)的。定時器時鐘為2MHz、CCR1和CCR0的計數(shù)值為1 000時,可獲得2kHz的PWM輸出頻率。負(fù)載驅(qū)動電路將單片機(jī)P1.2引腳輸出的PWM信號放大濾波,用于驅(qū)動大功率的執(zhí)行元件。
3 軟件設(shè)計
3.1 系統(tǒng)主程序
在主程序中包括系統(tǒng)初始化、定時器的初始化、溫度采樣值的讀進(jìn)、負(fù)載驅(qū)動和顯示等。系統(tǒng)進(jìn)行溫度值采樣和PWM輸出均在定時中斷內(nèi)完成,PWM輸出脈沖的占空比則由PID算法得到。系統(tǒng)主程序流程圖如圖3所示。
3.2 PID脈寬調(diào)節(jié)
系統(tǒng)對脈寬的調(diào)制由PID算法實現(xiàn)。根據(jù)算法原理,本系統(tǒng)設(shè)計了一套完全由軟件實現(xiàn)的PID算法,并且在控制過程中完成參數(shù)的自整定。PID調(diào)節(jié)的控制過程:單片機(jī)讀出數(shù)字形式的實際溫度Tn,然后和設(shè)定溫度Tg相比較,得出差值en=Tn-Tg,根據(jù)en的正負(fù)和大小,調(diào)用PID公式,計算得到與輸出電壓Δun一致的占空比,調(diào)節(jié)溫度的升降,同時尋找最優(yōu)條件,改變PID參數(shù)。
增量式PID控制算法的輸出量[3]:
PID調(diào)節(jié)程序直接寫進(jìn)單片機(jī)內(nèi),根據(jù)得到的值改變計數(shù)器CCR1的基數(shù)值,從而改變輸出脈沖的占空比,達(dá)到調(diào)節(jié)PWM的目的。
3.3 定時中斷
定時中斷子程序流程如圖4所示。系統(tǒng)采用的晶振頻率為2MHz,T0中斷的作用是得到頻率為50Hz、占空比為90%的方波,用以產(chǎn)生三角波,并檢查1個周期內(nèi)是否有漏采的數(shù)據(jù)。T0模溢出翻轉(zhuǎn)為高電平,輸出比較間隔為18ms。其中,CCR0加了PWM的模,該值即為CCR0和CCR1的差值,用以產(chǎn)生輸出所需的脈沖寬度。
T1中斷內(nèi)處理的是控制端口的PWM輸出,并檢查1個周期內(nèi)是否重復(fù)采集數(shù)據(jù),T1輸出比較產(chǎn)生低電平,輸出比較間隔為20ms。T2中斷捕捉溫度丈量端口的脈寬,得到所測的溫度值。
4 結(jié)束語
利用單片機(jī)MSP430F413內(nèi)的定時器Time_A進(jìn)行溫度采樣以及實現(xiàn)PWM調(diào)節(jié)的方法,可以廣泛用于具有端口捕捉功能的單片機(jī)中。與傳統(tǒng)方法比較,它不僅可以簡化丈量和控制電路的硬件結(jié)構(gòu),而且可以方便地建立人機(jī)接口,實現(xiàn)用軟件調(diào)整參數(shù),使控制更精確、實時、可靠。經(jīng)過實驗,該方法應(yīng)用于溫度控制系統(tǒng)中獲得了預(yù)期的精確PWM調(diào)節(jié)波形。該方法同樣可以用于其他單片機(jī)控制系統(tǒng)中。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- AMTS 2025展位預(yù)訂正式開啟——體驗科技驅(qū)動的未來汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽能和儲能解決方案
- 功率器件熱設(shè)計基礎(chǔ)(六)——瞬態(tài)熱測量
- 貿(mào)澤開售Nordic Semiconductor nRF9151-DK開發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級分流器以及匹配的評估板
- 功率器件熱設(shè)計基礎(chǔ)(八)——利用瞬態(tài)熱阻計算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
生產(chǎn)測試
聲表諧振器
聲傳感器
濕度傳感器
石英機(jī)械表
石英石危害
時間繼電器
時鐘IC
世強(qiáng)電訊
示波器
視頻IC
視頻監(jiān)控
收發(fā)器
手機(jī)開發(fā)
受話器
數(shù)字家庭
數(shù)字家庭
數(shù)字鎖相環(huán)
雙向可控硅
水泥電阻
絲印設(shè)備
伺服電機(jī)
速度傳感器
鎖相環(huán)
胎壓監(jiān)測
太陽能
太陽能電池
泰科源
鉭電容
碳膜電位器