利用單片機定時器實現信號采樣和PWM控製
發布時間:2021-05-18 責任編輯:lina
【導讀】PWM控製方式廣泛應用於各種控製係統中,但對脈衝寬度的調節一般采用硬件來實現。如使用PWM控製器或在係統中增加PWM電路[1]等,則本錢高、響應速度慢,而且PWM控製器與係統之間存在兼容題目。另外,控製係統中的信號采樣通常是由A/D轉換器來完成,因此檢測精度要求較高時,調理電路複雜,而且因A/D的位數高,從而使設計的係統本錢居高不下。
PWM控製方式廣泛應用於各種控製係統中,但對脈衝寬度的調節一般采用硬件來實現。如使用PWM控製器或在係統中增加PWM電路[1]等,則本錢高、響應速度慢,而且PWM控製器與係統之間存在兼容題目。另外,控製係統中的信號采樣通常是由A/D轉換器來完成,因此檢測精度要求較高時,調理電路複雜,而且因A/D的位數高,從而使設計的係統本錢居高不下。
本文以應用於溫度控製係統為例,先容利用MOTOROLA公司生產的新型單片機MSP430F413內的定時器Time_A設計可以用時間量進行溫度采樣以及實現PWM調節的方法。為了可在使用少量外圍電路的情況下實現控製係統的高精度丈量和控製,一方麵用時間量采樣,在省往1片A/D的情況下得到12位的高精度;另一方麵在定時中斷內完全用軟件實現PWM調節,以易於進行數據的通訊和顯示。該係統在中斷內可以解決波形產生的實時在線計算和計算精度題目,可精確、實時地計算設定頻率下的脈衝寬度。
1 單片機MSP430F413及定時器
MSP430係列的單片機F413在(zai)超(chao)低(di)功(gong)耗(hao)和(he)功(gong)能(neng)集(ji)成(cheng)上(shang)都(dou)有(you)一(yi)定(ding)的(de)特(te)色(se),可(ke)大(da)大(da)減(jian)小(xiao)外(wai)圍(wei)電(dian)路(lu)的(de)複(fu)雜(za)性(xing),它(ta)的(de)實(shi)時(shi)處(chu)理(li)能(neng)力(li)及(ji)各(ge)種(zhong)外(wai)圍(wei)模(mo)塊(kuai)使(shi)其(qi)可(ke)應(ying)用(yong)在(zai)多(duo)個(ge)低(di)功(gong)耗(hao)領(ling)域(yu)[2]。MSP430F413中通用16位定時器Timer_A有如下主要功能模塊。
(1)一個可連續遞增計數至預定值並返回0的計數器。
(2)軟件可選擇時鍾源。
(3)5個捕捉/比較寄存器,每個有獨立的捕捉事件。
(4)5個輸出模塊,支持脈寬調製的需要。
定時器控製寄存器TACTL的各位可控製Timer_A的配置,並定義16位定時器的基本操縱,可選擇原始頻率或分頻後的輸進時鍾源及4種工作模式。另外還有清除功能和溢出中斷控製位。5個捕捉/比較寄存器CCRx的操縱相同,它們通過各自的控製寄存器CCTLx進行配置。
2 時間量采樣及PWM控製的實現原理
以應用於溫度控製係統為例,先容用定時器實現信號采樣和PWM控製的方法。該溫度控製係統包括單片機、溫度丈量電路、負載驅動電路及電源控製、低電壓檢測和顯示電路等其他外圍部分。
單片機MSP430F413中用於丈量和控製溫度的主要I/O口有:
P1.0:輸出50Hz方波,用於產生三角波。
P1.2:驅動溫度控製執行元件,2kHz方波PWM輸出。
P2.0:脈寬捕捉。
2.1 單片機端口的中斷設置
溫度控製係統的50Hz方波輸出、PWM輸出和輸進捕捉都是由定時中斷來實現。這3個中斷分別由P0、P1和P2口的外圍模塊引起,屬於外部可屏蔽中斷。初始化時,對這3個I/O口進行中斷設置,並對Time_A控製寄存器TACTL設置,包括輸進信號2分頻、選用輔助時鍾ACLK等。當定義完捕捉/比較寄存器後,重新賦值TACTL,啟動定時器,開始連續遞增計數。
2.2 脈寬捕捉實現溫度值的采樣
溫度丈量電路將溫度值轉換為電壓值,同時單片機產生的50Hzfangbojingdianrongchongfangdiandianlubianhuandedaotongpinlvdesanjiaobo,qidianyazhiqiegesanjiaobo,congerjiangwenduzhizhuanhuanweixiangyingkuandudemaichongsongjindanpianji。boxingbianhuarutu1所示。

通過設置CCTLx中的模式位,可將對應的捕捉/比較寄存器CCRx設定為捕捉模式,用於時間事件的精確定位。假如在選定的輸進引腳上發生選定脈衝的觸發沿,則定時器計數的值將被複製到CCRx中。根據這一原理,選定P2.0為輸進引腳,設置CCTL2為捕捉模式,所測溫度值由模擬量經丈量電路轉換為脈衝後,P2.0捕捉脈衝下降沿,進進中斷T2,得到與溫度值一致的單位時間內的脈衝數,存進CCR2作進一步處理。
這樣,係統就在不使用A/D轉(zhuan)換(huan)器(qi)的(de)情(qing)況(kuang)下(xia)完(wan)成(cheng)了(le)模(mo)數(shu)轉(zhuan)換(huan)。由(you)於(yu)單(dan)片(pian)機(ji)的(de)時(shi)鍾(zhong)精(jing)確(que)度(du)高(gao),而(er)且(qie)時(shi)間(jian)量(liang)是(shi)一(yi)個(ge)相(xiang)對(dui)精(jing)度(du)極(ji)高(gao)的(de)量(liang),但(dan)本(ben)係(xi)統(tong)中(zhong)用(yong)時(shi)間(jian)量(liang)進(jin)行(xing)溫(wen)度(du)采(cai)樣(yang)可(ke)獲(huo)得(de)12位的高精度,同時采用50Hz脈衝,可以大大消除工頻幹擾。這些都為進行精確的溫度控製提供了必要的條件。
2.3 PWM信號天生原理
將捕捉/比較寄存器CCR0和CCR1定義為比較模式,它們的輸出單元OUT0和OUT1分別對應單片機引腳P1.0(TA0)和P1.2(TA1)。進進比較模式後,假如定時器CCRx的計數值即是比較寄存器x中的值,則比較信號EQUx輸出到輸出單元OUTx中,同時根據選定的模式對信號置位、複位或翻轉。其中:設置EQU0將OUT0信號翻轉,信號時鍾與定時器時鍾同步,這樣就可以在P1.0引腳上得到50Hz的方波信號;設置EQU1輸出模式為PWM複位/置位。
設定模式下定時中斷的輸出如圖2所示。根據設定的PWM複位/置位模式,若CCR1計數器溢出,則EQU1將OUT1複位;若CCR0計數器溢出,則EQU0將OUT1置位。利用CCR0和CCR1計數起始點的差值,實現占空比的變化,從而在P1.2上完成PWM輸出。係統對占空比的調節是通過改變CCR1的基數來實現的。定時器時鍾為2MHz、CCR1和CCR0的計數值為1 000時,可獲得2kHz的PWM輸出頻率。負載驅動電路將單片機P1.2引腳輸出的PWM信號放大濾波,用於驅動大功率的執行元件。

3 軟件設計
3.1 係統主程序
在主程序中包括係統初始化、定時器的初始化、溫度采樣值的讀進、負載驅動和顯示等。係統進行溫度值采樣和PWM輸出均在定時中斷內完成,PWM輸出脈衝的占空比則由PID算法得到。係統主程序流程圖如圖3所示。

3.2 PID脈寬調節
係統對脈寬的調製由PID算法實現。根據算法原理,本係統設計了一套完全由軟件實現的PID算法,並且在控製過程中完成參數的自整定。PID調節的控製過程:單片機讀出數字形式的實際溫度Tn,然後和設定溫度Tg相比較,得出差值en=Tn-Tg,根據en的正負和大小,調用PID公式,計算得到與輸出電壓Δun一致的占空比,調節溫度的升降,同時尋找最優條件,改變PID參數。
增量式PID控製算法的輸出量[3]:

PID調節程序直接寫進單片機內,根據得到的值改變計數器CCR1的基數值,從而改變輸出脈衝的占空比,達到調節PWM的目的。
3.3 定時中斷
定時中斷子程序流程如圖4所示。係統采用的晶振頻率為2MHz,T0中斷的作用是得到頻率為50Hz、占空比為90%的方波,用以產生三角波,並檢查1個周期內是否有漏采的數據。T0模溢出翻轉為高電平,輸出比較間隔為18ms。其中,CCR0加了PWM的模,該值即為CCR0和CCR1的差值,用以產生輸出所需的脈衝寬度。

T1中斷內處理的是控製端口的PWM輸出,並檢查1個周期內是否重複采集數據,T1輸出比較產生低電平,輸出比較間隔為20ms。T2中斷捕捉溫度丈量端口的脈寬,得到所測的溫度值。
4 結束語
利用單片機MSP430F413內的定時器Time_A進行溫度采樣以及實現PWM調tiao節jie的de方fang法fa,可ke以yi廣guang泛fan用yong於yu具ju有you端duan口kou捕bu捉zhuo功gong能neng的de單dan片pian機ji中zhong。與yu傳chuan統tong方fang法fa比bi較jiao,它ta不bu僅jin可ke以yi簡jian化hua丈zhang量liang和he控kong製zhi電dian路lu的de硬ying件jian結jie構gou,而er且qie可ke以yi方fang便bian地di建jian立li人ren機ji接jie口kou,實shi現xian用yong軟ruan件jian調tiao整zheng參can數shu,使shi控kong製zhi更geng精jing確que、實時、可靠。經過實驗,該方法應用於溫度控製係統中獲得了預期的精確PWM調節波形。該方法同樣可以用於其他單片機控製係統中。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請電話或者郵箱聯係小編進行侵刪。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
- 電源芯片國產化新選擇:MUN3CAD03-SF助力物聯網終端“芯”升級
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索





