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