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