AVR 單片機(jī)實(shí)現(xiàn)直流電機(jī)PWM 的速度調(diào)整
1 綜 述
直流電動(dòng)機(jī)轉(zhuǎn)速的控制方法可分為2 類,即勵(lì)磁控制法與電樞電壓控制法。勵(lì)磁控制,控制磁通,其控制功率雖然小,但低速時(shí)受到磁飽和的限制,高速時(shí)受到換向火花和換向器結(jié)構(gòu)強(qiáng)度的限制;而且由于勵(lì)磁線圈電感較大,動(dòng)態(tài)響應(yīng)較差。所以常用的控制方法是改變電端電壓調(diào)速的電樞電壓控制法。
設(shè)直流電源電壓為Ud ,將電樞串聯(lián)一個(gè)電阻R ,接到電源Ud ,則電樞兩端的電壓Ua 為Ua = Ud - IaR
顯然,調(diào)節(jié)電阻R 即可改變端電壓,達(dá)到調(diào)速目的。但這種傳統(tǒng)的調(diào)壓調(diào)速方法,其效率低。因此,隨著電力電子技術(shù)的進(jìn)步,發(fā)展了許多新的電樞電壓控制方法。其中, PWM(脈寬調(diào)制) 是常用的一種調(diào)速方法。其基本原理如下圖所示,設(shè)加在電機(jī)電樞兩端的矩形波的幅值電壓為Ud ,則電機(jī)電樞兩端電壓的平均值為:
圖1
PWM 波形圖
Ua =T1 - T2T1 + T2
Ud =(2T1T- 1) Ud = (2α - 1) Ud
α稱為占空比。通過改變?chǔ)恋闹?達(dá)到調(diào)壓的目的。由于0 ≤α≤1 , Ua 值的范圍是- Ud~+ Ud ,因而電機(jī)可以在正、反2 個(gè)方向調(diào)速運(yùn)轉(zhuǎn)。
AVR 單片機(jī)是美國ATMEL 公司生產(chǎn)的增強(qiáng)RISC、內(nèi)載Flash 的高性能8 位單片機(jī),它執(zhí)行速度快,有良好的性能價(jià)格比,因而得到越來越廣泛的應(yīng)用。
AT90S2313 為20 引腳的單片機(jī),它有1 個(gè)全雙工的通用異步接收發(fā)送器,有B 口和D 口2 個(gè)雙向I/ O 口,有2 個(gè)通用定時(shí)器/ 計(jì)數(shù)器,定時(shí)器/ 計(jì)數(shù)器0 ( T/ C0) 為8 位,定時(shí)器/ 計(jì)數(shù)器1 ( T/ C1) 為16 位。B 口( PB0~PB7) 是1 個(gè)8 位的雙向I/ O 口,其中引腳PB3 的第二功能(OC1) 是定時(shí)器/ 計(jì)數(shù)器1 輸出比較匹配(即PWM) 的輸出。定時(shí)器/ 計(jì)數(shù)器1 可以從晶振時(shí)鐘(CK) 、預(yù)定比例晶振時(shí)鐘、或外部引腳中選擇時(shí)鐘源,這可在定時(shí)器/ 計(jì)數(shù)器1 控制寄存器B( TCCR1B) 的低3 位(CS12 ,CS11 ,CS10) 進(jìn)行設(shè)置,如表1 所示。
表1 時(shí)鐘源的選擇
CS12 CS11 CS10 說 明
0 0 0 T/ C1 被停止
0 0 0 CK
0 1 0 CK/ 8
0 1 1 CK/ 64
1 0 0 CK/ 256
1 0 1 CK/ 1024
1 1 0 外部T1 引腳,下降沿
1 1 1 外部T1 引腳,上升沿
定時(shí)器/ 計(jì)數(shù)器1 控制寄存器A
( TCCR1A) 的格式如下:
COM1A1COM1A0保留保留保留保留PWM11 PWM10
在TCCR1A 中可以設(shè)置PWM 為8 位、9位或10 位,如表2 所示。當(dāng)T/ C1 處于PWM模式時(shí),可以通過COM1A1 和COM1A2 位來設(shè)置OC1 (PB3) ,如表3 所示。在PWM 輸出之前,應(yīng)先向定時(shí)器/ 計(jì)數(shù)器1 的16 位寄存器TCNT1H 和TCNT1L 賦計(jì)數(shù)最大值。當(dāng)PWM 為8 位時(shí),應(yīng)賦0x00FF ,此時(shí)PWM 的頻率為所選時(shí)鐘的1/ 510 ;當(dāng)PWM 為9 位時(shí),應(yīng)賦0x01FF ,此時(shí)PWM 的頻率為所選時(shí)鐘的1/1022 ;當(dāng)PWM 為10 位時(shí),應(yīng)賦0x01FF ,此時(shí)PWM 的頻率為所選時(shí)鐘的1/ 2046. 最后,通過對(duì)定時(shí)器/ 計(jì)數(shù)器1 輸出比較寄存器OCR1AH和OCR1AL 賦比較值來輸出PWM ,改變輸出比較寄存器中的比較值,即可改變PWM 的占空比α.
表2 PWM 位數(shù)選擇
PWM11 PWM10 說 明
0 0 禁止PWM
0 1 PWM 為8 位
1 0 PWM 為9 位
1 1 PWM 為10 位
表3 OC1 方式選擇
COM1A1 COM1A0 在OC1 上的作用
0 0 不連接
0 1 不連接
1 0
清比較匹配值,向上計(jì)數(shù),置比較匹配值,向下計(jì)數(shù)。(PWM不翻轉(zhuǎn))
1 1
清比較匹配值,向下計(jì)數(shù),置比較匹配值,向上計(jì)數(shù)。( PWM 翻轉(zhuǎn))
2 硬件電路
硬件電路如圖2 所示。集成電路L298 是一種功率放大芯片,它有2 路完全相同的電路,本文中的電路只用到其中的1 路。工作原理如下:在使能端6 腳為高的情況下,當(dāng)5 腳為高,7腳為低時(shí),電機(jī)向右轉(zhuǎn);當(dāng)5 腳為低,7 腳為高時(shí),電機(jī)向左轉(zhuǎn);當(dāng)5 腳和7 腳的狀態(tài)相同時(shí),電機(jī)快速停止。在6 腳為低的情況下,當(dāng)5 腳和7 腳的狀態(tài)相同時(shí),電機(jī)自由停止。
測(cè)速反饋電路由光碼盤、發(fā)光二極管、光電三極管及施密特觸發(fā)器CD40106 組成。當(dāng)光碼盤上的孔經(jīng)過發(fā)光二極管時(shí),發(fā)光二極管發(fā)出的光使光電三極管導(dǎo)通,A 端輸出低電平,B端輸出高電平。當(dāng)光碼盤上的非孔部分經(jīng)過發(fā)光二極管時(shí),B 端輸出低電平。反饋信號(hào)接到單片機(jī)的8 腳( PD0/ T0) 作為定時(shí)器/ 計(jì)數(shù)器0的外部觸發(fā)信號(hào)。此時(shí)應(yīng)將定時(shí)器/ 計(jì)數(shù)器0控制寄存器TCCR0 的低3 位設(shè)為110 (下降沿有效) 或111 (上升沿有效) 。脈沖發(fā)生電路用于產(chǎn)生計(jì)算速度的時(shí)間基準(zhǔn),它每隔一定時(shí)間產(chǎn)生一個(gè)脈沖,觸發(fā)AT90S2313 單片機(jī)的外部中斷0 ,在外部中斷0 的中斷服務(wù)程序中,計(jì)算出電機(jī)的轉(zhuǎn)速。
3 軟件設(shè)計(jì)
主程序首先從上位機(jī)( PC 機(jī)或單片機(jī)) 獲得控制電機(jī)轉(zhuǎn)速的命令字,命令字包括控制電機(jī)的速度、轉(zhuǎn)向等信息,然后檢查收到的數(shù)據(jù)是否有效,如果無效,則向上位機(jī)發(fā)出“命令錯(cuò)”信息,繼續(xù)等待上位機(jī)發(fā)出命令字;否則,調(diào)用速度控制子程序,然后等待外部中斷0 的產(chǎn)生。
速度控制子程序根據(jù)上位機(jī)發(fā)來的命令字輸出一定占空比的PWM 波形,使電機(jī)朝一定方向按一定速度轉(zhuǎn)動(dòng)。外部中斷0 的中斷服務(wù)子程序根據(jù)計(jì)數(shù)器0 的數(shù)值計(jì)算出電機(jī)的速度,將計(jì)算值與命令字中的速度設(shè)定值進(jìn)行比較,如果計(jì)算值大于設(shè)定值,則通過減小PWM 的占空比來降低電機(jī)轉(zhuǎn)速,否則,應(yīng)增加PWM 的占空比來升高電機(jī)的轉(zhuǎn)速。
圖3 主程序流程圖 圖4 速度控制子程序流程圖 圖5 中斷服務(wù)程序
4 結(jié) 論
AVR 單片機(jī)是一種新型的單片機(jī),有很好的應(yīng)用前景。將其用于直流電機(jī)的PWM 調(diào)整,不僅調(diào)速精度高,響應(yīng)速度快,而且經(jīng)濟(jì)可靠,因而具有極大使用價(jià)值。
參 考 文 獻(xiàn)
[1 ] 宋建國. AVR 單片機(jī)原理及應(yīng)用[M] . 北京:北京航空航天大學(xué)出版社,1998.
[2 ] 張立勛. 機(jī)械電子學(xué)[M] . 哈爾濱:哈爾濱工程大學(xué)出版社,1999.
pwm相關(guān)文章:pwm是什么
pwm相關(guān)文章:pwm原理
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 加速度計(jì)相關(guān)文章:加速度計(jì)原理 晶振相關(guān)文章:晶振原理 脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理 施密特觸發(fā)器相關(guān)文章:施密特觸發(fā)器原理
評(píng)論