利用單片機(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)行侵刪。
特別推薦
- 兆易創(chuàng)新GD32F30x STL軟件測(cè)試庫獲得德國萊茵TüV IEC 61508功能安全認(rèn)證
- 芯科科技第三代無線開發(fā)平臺(tái)引領(lǐng)物聯(lián)網(wǎng)發(fā)展
- MSO 4B 示波器為工程師帶來更多臺(tái)式功率分析工具
- 艾為電子推出新一代高線性度GNSS低噪聲放大器——AW15745DNR
- 瑞薩發(fā)布四通道主站IC和傳感器信號(hào)調(diào)節(jié)器, 以推動(dòng)不斷增長(zhǎng)的IO-Link市場(chǎng)
- e絡(luò)盟現(xiàn)貨供應(yīng) Abracon 新推出的 AOTA 系列微型鑄型電感器
- 加賀富儀艾電子推出支持Wi-Fi 6和藍(lán)牙的無線局域網(wǎng)/藍(lán)牙組合模塊
技術(shù)文章更多>>
- 讓汽車LED照明無死角,LED驅(qū)動(dòng)的全面進(jìn)化
- 開關(guān)模式電源問題分析及其糾正措施:晶體管時(shí)序和自舉電容問題
- 熱電偶的測(cè)溫原理
- 【泰克先進(jìn)半導(dǎo)體實(shí)驗(yàn)室】 遠(yuǎn)山半導(dǎo)體發(fā)布新一代高壓氮化鎵功率器件
- ADALM2000實(shí)驗(yàn):變壓器
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器
電源風(fēng)扇
電源管理
電源管理IC
電源連接器
電源濾波器
電源模塊
電源模塊
電源適配器
電子書
電阻測(cè)試儀
電阻觸控屏
電阻器
電阻作用
調(diào)速開關(guān)
調(diào)諧器
鼎智
動(dòng)力電池
動(dòng)力控制
獨(dú)石電容
端子機(jī)
斷路器
斷路器型號(hào)