摘 要:文章設計了以單片機為核心,直流電動機為執行構件,H橋集成電路L298作為電動機驅動電路的脈寬調制調速系統,并在Proteus軟件中進行了仿真。系統采用PWM對直流電機調速,精度高、范圍大、設計簡單實用、性能可靠,具有一定的應用價值,而使用Proteus仿真軟件也方便教學。
關鍵詞:PWM;單片機;Proteus;仿真
1 引言
脈沖寬度調制是利用數字信號輸出對模擬電路進行控制的一種技術,廣泛應用于功率控制、通信等領域。脈寬調制就是按一定的規則對脈沖的寬度進行調制。PWM的優點其一是從處理器到被控系統信號都是數字形式的,無需進行數模轉換,其二是相較于模擬控制對噪聲抵抗能力的增強,這是將PWM用于通信的主要原因。在機電控制系統中,廣泛采用PWM技術驅動各類模擬器件,如電動機調速、照明調光等。要實現PWM可采用專用的集成電路,也可使用集成PWM功能模塊的單片機,或者采用程序控制單片機定時器及通用IO口來實現。
2 系統工作原理分析
直流電動機是一個模擬器件,而單片機的輸出是數字信號。要實現單片機對直流電動機轉速的控制,可以采用數/模轉換電路進行D/A轉換,也可以采用脈寬調制的方式實現。
本設計以單片機為控制核心并負責脈寬調制任務,按鍵作為系統輸入,改變單片機輸出脈沖的寬度實現對直流電動機速度的調節。脈寬調制的輸出就是不同寬度的脈沖,也就是單片機改變輸出的高低電平的時間。單片機的引腳負載能力極弱,需要功率驅動電路對單片機的輸出信號進行放大后,再驅動直流電動機。
需要注意的是要讓電動機取得不同轉速的效果,必須提高調制頻率,通常調制頻率為1~200kHz,否則實際效果會是轉動一短時間再停止一段時間。
3 硬件電路設計
本設計采用脈寬調制的方式實現用按鍵控制直流電動機的轉速,電動機從靜止到全速運行分為多個檔位。整個系統硬件電路由單片機最小系統、按鍵、直流電動機及其驅動電路組成。
在本設計中選擇AT89S52單片機芯片為系統控制芯片,系統晶振頻率為12MHz。系統采用外部中斷的方式檢測按鍵,控制電動機調速。在脈寬調制中,對高低電平保持時間進行定時的任務交給集成在單片機內部的定時器完成,因此不存在外圍電路的連接。對于PWM輸出只需要單片機的通用IO口實現,選擇PWM的輸出引腳為P2.0。
單片機輸出控制信號不能直接驅動電動機,需要外接如L298等H橋電路等驅動直流電動機,也可以根據需要采用由功率MOS管構成的H橋電路,來驅動高電壓、大電流的直流電動機。
根據硬件電路和元器件的選擇,硬件電路如圖2所示。
4 系統軟件設計
本設計主要實現脈寬調制調速,采用外部中斷的方式檢測換擋按鍵,定時中斷的方式實現脈寬控制,因此主程序只需要完成對外部中斷和定時中斷的初始化設置,主程序的流程圖如圖1(a)所示。
當單片機檢測到按鍵按下時,進入外部中斷0的服務程序,此時應控制換擋。程序中用變量time來表示檔位,范圍從0到10共分為11個檔位,其中0代表電動機停止運行,10代表電動機全速運行,從1到9代表電動機轉速逐漸線性提高的各個檔位。為了消除因按鍵抖動引起的錯誤操作,需要對按鍵進行消抖處理。外部中斷0的服務程序框圖如圖1(b)所示。
本設計選用的脈寬調制方案是先確定PWM信號的頻率為1kHz,即周期為1ms,相比電動機對開關狀態變化的響應時間足夠短,所以能夠近似等效于模擬信號從而控制轉速。電動機轉速的檔位是從0到10分為11擋,對應PWM信號的占空比從0到100%也分為11擋,因此一個周期就分為10個等份,每個等份的時間即單位間隔時間為100μs。
用定時器定時100μs,時間到就會進入定時中斷服務程序,此時對定時中斷次數計數,并根據變量time所指示的轉速檔位去判斷脈沖的寬度是否已達到對應的占空比,輸出對應的高低電平,從而實現脈寬調制。定時中斷服務程序的框圖如圖1(c)所示。
5 Proteus仿真與結果
程序中設定P2.0為PWM負脈沖輸出引腳,將Proteus虛擬儀器模型中的示波器任一通道連接至P2.0引腳,可觀察到PWM波形。
仿真結果,每按下一次按鍵,電動機轉速在0~320rpm之間遞增10%,實現了PWM脈寬調制調速,在虛擬數字示波器中可觀察單片機引腳的脈寬調制輸出波形,PWM信號幅值為5V,周期為1ms,占空比隨按鍵調節。圖3為 PWM負脈沖占空比為50%時,電動機轉速達到162rpm,圖4為PWM負脈沖占空比為80%時,電動機轉速達到257rpm。
參考文獻
[1]劉宸.溫度控制系統中AVR單片機的研究[J].電子制作,2013(04):18,35.
[2]朱永金,成友才.單片機應用技術[M].北京:中國勞動社會保障出版社,2007.