基于NiosⅡ的直流電機PID調(diào)速控制系統(tǒng)
0 引言
以往的直流電機調(diào)速系統(tǒng)通常采用單片機或DSP進行控制,而單片機需要使用大量的外圍電路,且系統(tǒng)的可升級性差,如更換控制器,往往要對整個軟硬件進行重新設計,可重用性不高。而采用DSP作為主要控制器,如果碰到處理多任務系統(tǒng)時,一片DSP不能勝任,這時就需要再擴展一片DSP或者FPGA芯片來輔助控制,從而實行雙芯片控制模式。但這樣做,既增加了兩個處理器之間同步和通信的負擔,又使系統(tǒng)實時性變壞,延長系統(tǒng)開發(fā)時間。基于以上此類問題,本文提出了采用Altera公司推出的NiosⅡ軟核來控制直流電機調(diào)速系統(tǒng),它的好處在于Ni-osⅡ?qū)儆谲浐颂幚砥?,可以直接通過軟件形式擴展成雙核乃至多核,無需外加芯片;再者NiosⅡ軟核處理器和所有外圍電路可以集成到一片F(xiàn)PGA芯片上來實現(xiàn)整個直流電機控制系統(tǒng),這樣無疑大大減小了控制器體積和重量,設計人員也可以在短時間內(nèi)完成整個系統(tǒng)的制作,提高了工作效率。
本文利用Altera公司的FPGA芯片EP2C35F672C6作為系統(tǒng)控制器,采用數(shù)字PID算法對直流電機進行PWM閉環(huán)調(diào)速控制。并且利用硬件描述語言(VHDL)自行設計、生成PWM模塊和測速模塊,最后通過實驗驗證了該系統(tǒng)的可行性。
1 系統(tǒng)硬件設計
1.1 系統(tǒng)總體設計方案
選用Altera公司的DE2開發(fā)板作為開發(fā)平臺,采用SOPC技術(shù)通過在FPGA中植入嵌入式系統(tǒng)處理器NiosⅡ作為核心控制電路,利用FPGA中的可編程邏輯資源和IP軟核來構(gòu)成該嵌入式系統(tǒng)處理器的接口功能模塊,借助于Avalon總線,實現(xiàn)對外圍PWM模塊、測速模塊、SDRAM、鍵盤等硬件的控制,F(xiàn)PGA通過Avalon總線對輸入模塊和輸出等模塊進行配置,整體功能框圖如圖1所示。
整個系統(tǒng)的主要工作流程如下:當系統(tǒng)啟動完成各單元初始化后,通過鍵盤輸入期望設定值,同時由光電編碼器采集實測轉(zhuǎn)速傳輸?shù)綔y速模塊,通過NiosⅡ處理器處理電機PID控制算法,并將計算后的數(shù)據(jù)傳輸給自定制的PWM模塊對其進行閉環(huán)控制。最后在NiosⅡIDE上采集到實際輸出數(shù)據(jù),并通過Matlab軟件畫出控制曲線波形圖,最后對實驗結(jié)果進行分析。
1.2 PWM模塊
系統(tǒng)中的自定制PWM模塊是通過寫VHDL代碼,經(jīng)過仿真、編譯、管腳分配,最后生成PWM功能模塊。它在整個系統(tǒng)中的作用是:對實測轉(zhuǎn)速通過計算進行閉環(huán)控制。生成的PWM模塊如圖2所示。
評論