新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR 單片機實現直流電機PWM 的速度調整

        AVR 單片機實現直流電機PWM 的速度調整

        作者: 時間:2013-12-09 來源:網絡 收藏

        1  綜 述

        直流電動機轉速的控制方法可分為2 類,即勵磁控制法與電樞電壓控制法。勵磁控制,控制磁通,其控制功率雖然小,但低速時受到磁飽和的限制,高速時受到換向火花和換向器結構強度的限制;而且由于勵磁線圈電感較大,動態響應較差。所以常用的控制方法是改變電端電壓調速的電樞電壓控制法。

        設直流電源電壓為Ud ,將電樞串聯一個電阻R ,接到電源Ud ,則電樞兩端的電壓Ua 為Ua = Ud - IaR

        顯然,調節電阻R 即可改變端電壓,達到調速目的。但這種傳統的調壓調速方法,其效率低。因此,隨著電力電子技術的進步,發展了許多新的電樞電壓控制方法。其中, (脈寬調制) 是常用的一種調速方法。其基本原理如下圖所示,設加在電機電樞兩端的矩形波的幅值電壓為Ud ,則電機電樞兩端電壓的平均值為:
        圖1

        AVR 單片機實現直流電機PWM 的速度調整

        波形圖
        Ua =T1 - T2T1 + T2
        Ud =(2T1T- 1) Ud = (2α - 1) Ud
        α稱為占空比。通過改變α的值,達到調壓的目的。由于0 ≤α≤1 , Ua 值的范圍是- Ud~+ Ud ,因而電機可以在正、反2 個方向調速運轉。

        是美國ATMEL 公司生產的增強RISC、內載Flash 的高性能8 位,它執行速度快,有良好的性能價格比,因而得到越來越廣泛的應用。

        AT90S2313 為20 引腳的,它有1 個全雙工的通用異步接收發送器,有B 口和D 口2 個雙向I/ O 口,有2 個通用定時器/ 計數器,定時器/ 計數器0 ( T/ C0) 為8 位,定時器/ 計數器1 ( T/ C1) 為16 位。B 口( PB0~PB7) 是1 個8 位的雙向I/ O 口,其中引腳PB3 的第二功能(OC1) 是定時器/ 計數器1 輸出比較匹配(即) 的輸出。定時器/ 計數器1 可以從晶振時鐘(CK) 、預定比例晶振時鐘、或外部引腳中選擇時鐘源,這可在定時器/ 計數器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 引腳,上升沿
        定時器/ 計數器1 控制寄存器A
        ( TCCR1A) 的格式如下:
        COM1A1COM1A0保留保留保留保留PWM11 PWM10
        在TCCR1A 中可以設置PWM 為8 位、9位或10 位,如表2 所示。當T/ C1 處于PWM模式時,可以通過COM1A1 和COM1A2 位來設置OC1 (PB3) ,如表3 所示。在PWM 輸出之前,應先向定時器/ 計數器1 的16 位寄存器TCNT1H 和TCNT1L 賦計數最大值。當PWM 為8 位時,應賦0x00FF ,此時PWM 的頻率為所選時鐘的1/ 510 ;當PWM 為9 位時,應賦0x01FF ,此時PWM 的頻率為所選時鐘的1/1022 ;當PWM 為10 位時,應賦0x01FF ,此時PWM 的頻率為所選時鐘的1/ 2046. 最后,通過對定時器/ 計數器1 輸出比較寄存器OCR1AH和OCR1AL 賦比較值來輸出PWM ,改變輸出比較寄存器中的比較值,即可改變PWM 的占空比α.
        表2  PWM 位數選擇
        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
        清比較匹配值,向上計數,置比較匹配值,向下計數。(PWM不翻轉)
        1 1
        清比較匹配值,向下計數,置比較匹配值,向上計數。( PWM 翻轉)
        2  硬件電路
        硬件電路如圖2 所示。集成電路L298 是一種功率放大芯片,它有2 路完全相同的電路,本文中的電路只用到其中的1 路。工作原理如下:在使能端6 腳為高的情況下,當5 腳為高,7腳為低時,電機向右轉;當5 腳為低,7 腳為高時,電機向左轉;當5 腳和7 腳的狀態相同時,電機快速停止。在6 腳為低的情況下,當5 腳和7 腳的狀態相同時,電機自由停止。
        測速反饋電路由光碼盤、發光二極管、光電三極管及施密特觸發器CD40106 組成。當光碼盤上的孔經過發光二極管時,發光二極管發出的光使光電三極管導通,A 端輸出低電平,B端輸出高電平。當光碼盤上的非孔部分經過發光二極管時,B 端輸出低電平。反饋信號接到單片機的8 腳( PD0/ T0) 作為定時器/ 計數器0的外部觸發信號。此時應將定時器/ 計數器0控制寄存器TCCR0 的低3 位設為110 (下降沿有效) 或111 (上升沿有效) 。脈沖發生電路用于產生計算速度的時間基準,它每隔一定時間產生一個脈沖,觸發AT90S2313 單片機的外部中斷0 ,在外部中斷0 的中斷服務程序中,計算出電機的轉速。
        AVR 單片機實現直流電機PWM 的速度調整
        3  軟件設計
        主程序首先從上位機( PC 機或單片機) 獲得控制電機轉速的命令字,命令字包括控制電機的速度、轉向等信息,然后檢查收到的數據是否有效,如果無效,則向上位機發出“命令錯”信息,繼續等待上位機發出命令字;否則,調用速度控制子程序,然后等待外部中斷0 的產生。
        速度控制子程序根據上位機發來的命令字輸出一定占空比的PWM 波形,使電機朝一定方向按一定速度轉動。外部中斷0 的中斷服務子程序根據計數器0 的數值計算出電機的速度,將計算值與命令字中的速度設定值進行比較,如果計算值大于設定值,則通過減小PWM 的占空比來降低電機轉速,否則,應增加PWM 的占空比來升高電機的轉速。
        圖3  主程序流程圖     圖4  速度控制子程序流程圖     圖5  中斷服務程序
        AVR 單片機實現直流電機PWM 的速度調整
        4  結 論
        單片機是一種新型的單片機,有很好的應用前景。將其用于的PWM 調整,不僅調速精度高,響應速度快,而且經濟可靠,因而具有極大使用價值。
        參 考 文 獻
        [1 ]  宋建國. 單片機原理及應用[M] . 北京:北京航空航天大學出版社,1998.
        [2 ]  張立勛. 機械電子學[M] . 哈爾濱:哈爾濱工程大學出版社,1999.

        pwm相關文章:pwm是什么


        pwm相關文章:pwm原理


        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        加速度計相關文章:加速度計原理
        晶振相關文章:晶振原理
        脈寬調制相關文章:脈寬調制原理
        施密特觸發器相關文章:施密特觸發器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陵川县| 乌兰县| 凉城县| 邵阳县| 湖北省| 闵行区| 民勤县| 石狮市| 成安县| 徐州市| 林西县| 龙岩市| 中牟县| 新昌县| 金溪县| 安远县| 镇江市| 达日县| 扎鲁特旗| 多伦县| 中宁县| 获嘉县| 凤城市| 宜良县| 安图县| 剑阁县| 汶上县| 交口县| 清远市| 万载县| 曲麻莱县| 泰来县| 南昌市| 连州市| 象州县| 白沙| 富川| 泾川县| 平罗县| 宁强县| 饶阳县|