《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 利用單片機(jī)定時(shí)器實(shí)現(xiàn)信號(hào)采樣和PWM控制
利用單片機(jī)定時(shí)器實(shí)現(xiàn)信號(hào)采樣和PWM控制
李 寧 汪 燕
摘要: 一種利用單片機(jī)MSP430F413的定時(shí)器Time_A實(shí)現(xiàn)采樣和脈沖寬度調(diào)節(jié)(PWM)的方法,并應(yīng)用于精密溫度控制系統(tǒng)。該系統(tǒng)采用時(shí)間量采樣的模數(shù)轉(zhuǎn)換方法,并設(shè)計(jì)了完全采用軟件實(shí)現(xiàn)的PID調(diào)節(jié)程序,用PWM方式完成對(duì)精密溫度的控制。
Abstract:
Key words :

  摘  要: 一種利用單片機(jī)MSP430F413的定時(shí)器Time_A實(shí)現(xiàn)采樣和脈沖寬度調(diào)節(jié)(PWM)的方法,并應(yīng)用于精密溫度控制系統(tǒng)。該系統(tǒng)采用時(shí)間量采樣的模數(shù)轉(zhuǎn)換方法,并設(shè)計(jì)了完全采用軟件實(shí)現(xiàn)的PID調(diào)節(jié)程序,用PWM方式完成對(duì)精密溫度的控制。

  關(guān)鍵詞: PWM控制  單片機(jī)  定時(shí)器  MSP430F413

   PWM控制方式廣泛應(yīng)用于各種控制系統(tǒng)中,但對(duì)脈沖寬度的調(diào)節(jié)一般采用硬件來(lái)實(shí)現(xiàn)。如使用PWM控制器或在系統(tǒng)中增加PWM電路[1]等,則成本高、響應(yīng)速度慢,而且PWM控制器與系統(tǒng)之間存在兼容問(wèn)題。另外,控制系統(tǒng)中的信號(hào)采樣通常是由A/D轉(zhuǎn)換器來(lái)完成,因此檢測(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)的高精度測(cè)量和控制,一方面用時(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ì)算精度問(wèn)題,可精確、實(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í)器的基本操作,可選擇原始頻率或分頻后的輸入時(shí)鐘源及4種工作模式。另外還有清除功能和溢出中斷控制位。5個(gè)捕獲/比較寄存器CCRx的操作相同,它們通過(guò)各自的控制寄存器CCTLx進(jìn)行配置。

2 時(shí)間量采樣及PWM控制的實(shí)現(xiàn)原理

  以應(yīng)用于溫度控制系統(tǒng)為例,介紹用定時(shí)器實(shí)現(xiàn)信號(hào)采樣和PWM控制的方法。該溫度控制系統(tǒng)包括單片機(jī)、溫度測(cè)量電路、負(fù)載驅(qū)動(dòng)電路及電源控制、低電壓檢測(cè)和顯示電路等其他外圍部分。

  單片機(jī)MSP430F413中用于測(cè)量和控制溫度的主要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輸出和輸入捕捉都是由定時(shí)中斷來(lái)實(shí)現(xiàn)。這3個(gè)中斷分別由P0、P1和P2口的外圍模塊引起,屬于外部可屏蔽中斷。初始化時(shí),對(duì)這3個(gè)I/O口進(jìn)行中斷設(shè)置,并對(duì)Time_A控制寄存器TACTL設(shè)置,包括輸入信號(hào)2分頻、選用輔助時(shí)鐘ACLK等。當(dāng)定義完捕獲/比較寄存器后,重新賦值TACTL,啟動(dòng)定時(shí)器,開(kāi)始連續(xù)遞增計(jì)數(shù)。

2.2 脈寬捕捉實(shí)現(xiàn)溫度值的采樣

  溫度測(cè)量電路將溫度值轉(zhuǎn)換為電壓值,同時(shí)單片機(jī)產(chǎn)生的50Hz方波經(jīng)電容充放電電路變換得到同頻率的三角波,其電壓值切割三角波,從而將溫度值轉(zhuǎn)換為相應(yīng)寬度的脈沖送入單片機(jī)。波形變化如圖1所示。

 

 

  通過(guò)設(shè)置CCTLx中的模式位,可將對(duì)應(yīng)的捕獲/比較寄存器CCRx設(shè)定為捕獲模式,用于時(shí)間事件的精確定位。如果在選定的輸入引腳上發(fā)生選定脈沖的觸發(fā)沿,則定時(shí)器計(jì)數(shù)的值將被復(fù)制到CCRx中。根據(jù)這一原理,選定P2.0為輸入引腳,設(shè)置CCTL2為捕獲模式,所測(cè)溫度值由模擬量經(jīng)測(cè)量電路轉(zhuǎn)換為脈沖后,P2.0捕捉脈沖下降沿,進(jìn)入中斷T2,得到與溫度值一致的單位時(shí)間內(nèi)的脈沖數(shù),存入CCR2作進(jìn)一步處理。

  這樣,系統(tǒng)就在不使用A/D轉(zhuǎn)換器的情況下完成了模數(shù)轉(zhuǎn)換。因?yàn)閱纹瑱C(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)入比較模式后,如果定時(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é)是通過(guò)改變CCR1的基數(shù)來(lái)實(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í)器的初始化、溫度采樣值的讀入、負(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算法,并且在控制過(guò)程中完成參數(shù)的自整定。PID調(diào)節(jié)的控制過(guò)程:?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è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è)量端口的脈寬,得到所測(cè)的溫度值。

4  結(jié)束語(yǔ)

    利用單片機(jī)MSP430F413內(nèi)的定時(shí)器Time_A進(jìn)行溫度采樣以及實(shí)現(xiàn)PWM調(diào)節(jié)的方法,可以廣泛用于具有端口捕捉功能的單片機(jī)中。與傳統(tǒng)方法比較,它不僅可以簡(jiǎn)化測(cè)量和控制電路的硬件結(jié)構(gòu),而且可以方便地建立人機(jī)接口,實(shí)現(xiàn)用軟件調(diào)整參數(shù),使控制更精確、實(shí)時(shí)、可靠。經(jīng)過(guò)實(shí)驗(yàn),該方法應(yīng)用于溫度控制系統(tǒng)中獲得了預(yù)期的精確PWM調(diào)節(jié)波形。該方法同樣可以用于其他單片機(jī)控制系統(tǒng)中。

參考文獻(xiàn)

1 Rahban T.穩(wěn)定度0.1℃的PWM控制器.電子產(chǎn)品世界,2003;(2)

2 胡大可.MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用.北京:北京航空航天大學(xué)出版社,2001

3 惠長(zhǎng)坤.PID算法在可編程控制器上的軟件實(shí)現(xiàn)方法.華東船舶工業(yè)學(xué)院學(xué)報(bào),1995;9(3)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧洲日产国产网站| 一区二区三区四区国产精品| 欧美激情一区二区三区蜜桃视频| 亚洲一区二区三区涩| 亚洲国产精品一区二区三区| 一区二区三区日韩| 亚洲国产精品va在线看黑人动漫| 国产精品视频久久一区| 欧美女激情福利| 久久综合亚州| av不卡在线| 亚洲免费在线播放| 亚洲高清在线播放| 国产一区99| 国产精品久久午夜夜伦鲁鲁| 欧美日本精品在线| 免费观看一区| 久热精品视频在线观看| 欧美有码在线视频| 欧美一区二区性| 亚洲欧美大片| 亚洲在线黄色| 亚洲色图自拍| 亚洲激情六月丁香| 亚洲第一成人在线| 性色av一区二区三区| 国产一区二区三区免费不卡| 国产精品视频一区二区三区| 欧美黄色精品| 欧美精品日韩| 欧美日韩情趣电影| 欧美另类videos死尸| 欧美电影免费观看大全| 免费在线一区二区| 欧美.www| 欧美成人免费小视频| 裸体素人女欧美日韩| 久久精品国产在热久久| 久久精品91| 久久久久久9| 久久久精品免费视频| 欧美一区视频| 欧美影视一区| 亚洲女女做受ⅹxx高潮| 一本一本久久| 中文一区二区在线观看| 亚洲一区二区三区精品在线观看 | 在线一区二区三区做爰视频网站| 99热免费精品在线观看| 日韩性生活视频| 亚洲午夜久久久| 亚洲欧美在线免费观看| 欧美一区在线视频| 亚洲成人在线视频播放 | 久久精品免费观看| 美女视频黄免费的久久| 欧美高清视频一二三区| 欧美日韩亚洲激情| 国产精品久线观看视频| 国产女主播一区二区三区| 国产偷自视频区视频一区二区| 国产一区二区欧美日韩| 在线观看91久久久久久| 亚洲精品久久嫩草网站秘色| 一本色道婷婷久久欧美| 99国产精品视频免费观看一公开 | 一区福利视频| 亚洲国产综合91精品麻豆| 99精品视频一区| 香蕉久久a毛片| 亚洲人成在线播放网站岛国| 一区二区三区国产在线| 香蕉久久夜色精品国产使用方法 | 久久久一二三| 欧美成人午夜| 欧美视频在线看| 国产一区日韩二区欧美三区| 亚洲高清自拍| 亚洲午夜在线视频| 亚洲二区在线观看| 亚洲一区二区三区精品视频| 欧美中在线观看| 艳女tv在线观看国产一区| 小黄鸭视频精品导航| 另类国产ts人妖高潮视频| 欧美日韩久久| 国产精品夜夜夜| 在线观看亚洲视频啊啊啊啊| avtt综合网| 久久国产精品免费一区| 一区二区三区国产| 久久大香伊蕉在人线观看热2| 欧美xx69| 国产三区二区一区久久| 亚洲另类自拍| 久久国产欧美日韩精品| 亚洲伊人第一页| 免费精品99久久国产综合精品| 欧美日韩国产在线播放网站| 国产精品私拍pans大尺度在线| 狠狠色2019综合网| 99精品热6080yy久久| 亚洲午夜免费福利视频| 亚洲黄色成人网| 欧美在线free| 欧美日韩免费观看一区| 韩日在线一区| 日韩一级精品视频在线观看| 亚洲午夜免费视频| 亚洲国产经典视频| 欧美亚洲在线观看| 欧美日韩高清在线| 尤物精品在线| 午夜精品福利视频| 亚洲一本大道在线| 欧美激情精品久久久六区热门| 国产亚洲欧美日韩日本| 艳女tv在线观看国产一区| 最新成人av在线| 久久精品一本| 国产精品久久久对白| 亚洲激情女人| 亚洲高清色综合| 久久成人精品一区二区三区| 欧美日韩一区高清| 亚洲精品激情| 亚洲人体影院| 免费观看在线综合| 狠狠久久婷婷| 欧美在线观看一二区| 欧美一区免费视频| 国产精品免费一区二区三区观看| 亚洲精品免费看| 亚洲精品综合在线| 免费亚洲一区二区| 国产有码在线一区二区视频| 先锋影院在线亚洲| 久久se精品一区精品二区| 国产精品久久久久国产a级| 99精品国产在热久久| 艳女tv在线观看国产一区| 欧美精品v日韩精品v韩国精品v | 亚洲男人的天堂在线| 亚洲欧美电影在线观看| 欧美视频观看一区| 一区二区三区你懂的| 一区二区三区日韩欧美| 欧美激情国产日韩| 国产一区二区三区久久精品| 性欧美18~19sex高清播放| 欧美一区二区三区精品电影| 国产精品亚洲片夜色在线| 亚洲欧美www| 久久国产精品久久w女人spa| 国产午夜精品福利| 欧美在线视频一区二区| 亚洲欧美激情诱惑| 国产欧美精品国产国产专区| 午夜国产不卡在线观看视频| 欧美中文字幕精品| 国产一区二区三区在线观看网站| 亚洲欧美国产77777| 欧美中文字幕不卡| 黄色日韩网站| 亚洲国产精品成人| 欧美电影免费观看| 日韩视频在线一区二区| 亚洲综合国产激情另类一区| 欧美性淫爽ww久久久久无| 亚洲天堂久久| 亚洲欧美国产高清va在线播| 国产美女精品视频免费观看| 中文网丁香综合网| 久久国产精品久久精品国产| 影音先锋久久资源网| 午夜国产精品影院在线观看| 男女激情视频一区| 亚洲巨乳在线| 欧美一区日韩一区| 亚洲电影免费观看高清完整版| 在线一区二区三区做爰视频网站| 国产免费一区二区三区香蕉精| 亚洲欧洲一区二区三区| 国产精品久久久一区麻豆最新章节| 久久精品99国产精品酒店日本| 欧美日韩不卡视频| 欧美一区二视频| 欧美色综合网| 亚洲国产午夜| 国产精品久久久久久久久久直播| 久久国产日韩| 国产精品激情| 亚洲另类黄色| 国产丝袜一区二区| 宅男在线国产精品| 激情国产一区| 亚洲欧美日韩视频二区| 亚洲国产日日夜夜| 久久久久久婷| 亚洲午夜精品久久久久久app|