利用單片機(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)行侵刪。
特別推薦
- 兆易創(chuàng)新GD32F30x STL軟件測試庫獲得德國萊茵TüV IEC 61508功能安全認(rèn)證
- 芯科科技第三代無線開發(fā)平臺引領(lǐng)物聯(lián)網(wǎng)發(fā)展
- MSO 4B 示波器為工程師帶來更多臺式功率分析工具
- 艾為電子推出新一代高線性度GNSS低噪聲放大器——AW15745DNR
- 瑞薩發(fā)布四通道主站IC和傳感器信號調(diào)節(jié)器, 以推動不斷增長的IO-Link市場
- e絡(luò)盟現(xiàn)貨供應(yīng) Abracon 新推出的 AOTA 系列微型鑄型電感器
- 加賀富儀艾電子推出支持Wi-Fi 6和藍(lán)牙的無線局域網(wǎng)/藍(lán)牙組合模塊
技術(shù)文章更多>>
- 第7講:SiC單晶襯底加工技術(shù)
- 羅德與施瓦茨中標(biāo)中國移動RedCap以及Cat1bis一致性測試系統(tǒng)項目
- 【“源”察秋毫系列】柔性可穿戴電子設(shè)備材料的導(dǎo)電測試
- 低功耗藍(lán)牙賦能的太陽鏡為摩托車手提供免分心導(dǎo)航體驗
- 讓汽車LED照明無死角,LED驅(qū)動的全面進(jìn)化
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索