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