新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于NiosⅡ軟核處理器的電機調(diào)速控制系統(tǒng)

基于NiosⅡ軟核處理器的電機調(diào)速控制系統(tǒng)

作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://www.butianyuan.cn/article/201706/349277.htm

  以往的直流系統(tǒng)通常采用單片機或DSP進行控制,而單片機需要使用大量的外圍電路,且系統(tǒng)的可升級性差,如更換控制器,往往要對整個軟硬件進行重新設(shè)計,可重用性不高。而采用DSP作為主要控制器,如果碰到處理多任務系統(tǒng)時,一片DSP不能勝任,這時就需要再擴展一片DSP或者FPGA芯片來輔助控制,從而實行雙芯片控制模式。但這樣做,既增加了兩個處理器之間同步和通信的負擔,又使系統(tǒng)實時性變壞,延長系統(tǒng)開發(fā)時間?;谝陨洗祟悊栴},本文提出了采用Altera公司推出的軟核來控制直流系統(tǒng),它的好處在于Ni-osⅡ?qū)儆谲浐颂幚砥?,可以直接通過軟件形式擴展成雙核乃至多核,無需外加芯片;再者軟核處理器和所有外圍電路可以集成到一片F(xiàn)PGA芯片上來實現(xiàn)整個直流電機控制系統(tǒng),這樣無疑大大減小了控制器體積和重量,設(shè)計人員也可以在短時間內(nèi)完成整個系統(tǒng)的制作,提高了工作效率。

  本文利用Altera公司的FPGA芯片EP2C35F672C6作為系統(tǒng)控制器,采用算法對直流電機進行PWM閉環(huán)調(diào)速控制。并且利用硬件描述語言(VHDL)自行設(shè)計、生成PWM模塊和測速模塊,最后通過實驗驗證了該系統(tǒng)的可行性。

  1 系統(tǒng)硬件設(shè)計

  1.1 系統(tǒng)總體設(shè)計方案

  選用Altera公司的DE2開發(fā)板作為開發(fā)平臺,采用SOPC技術(shù)通過在FPGA中植入嵌入式系統(tǒng)處理器作為核心控制電路,利用FPGA中的可編程邏輯資源和IP軟核來構(gòu)成該嵌入式系統(tǒng)處理器的接口功能模塊,借助于Avalon總線,實現(xiàn)對外圍PWM模塊、測速模塊、SDRAM、鍵盤等硬件的控制,F(xiàn)PGA通過Avalon總線對輸入模塊和輸出等模塊進行配置,整體功能框圖如圖1所示。

整個系統(tǒng)的主要工作流程如下:當系統(tǒng)啟動完成各單元初始化后,通過鍵盤輸入期望設(shè)定值,同時由光電編碼器采集實測轉(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所示。

圖2中:clk為時鐘信號端;sta用來控制直流電機正反轉(zhuǎn);conword為占空比信號;PWM_A表示直流電機處于正轉(zhuǎn)狀態(tài)時的占空比輸出;PWM_B表示直流電機處于反轉(zhuǎn)時的占空比輸出。

  PWM模塊的原理如下:將時鐘源50 MHz的基頻信號64分頻,作為PWM模塊的基頻信號,以256個該基頻脈沖信號作為PWM輸出的一個周期,由NiosⅡ處理器給出的conword的值指定一個PWM周期內(nèi)高電平持續(xù)時間,改變conword的值即刻改變占空比輸出的值。

  1.3 測速模塊

  系統(tǒng)中的測速模塊生成方式如PWM模塊,它在整個系統(tǒng)中的作用如下:主要是利用基頻的周期來計算光柵信號的周期,算出直流電機的轉(zhuǎn)速,其生成的模塊如圖3所示。

圖3中:clk為時鐘信號端;en為使能信號,即表示光柵有效;dout表示光櫥有效時間。

  測速模塊的原理如下:給出已知頻率的基頻,用光柵作為門限,測基頻脈沖的個數(shù),由基頻的周期來計算光柵信號的周期,再算出轉(zhuǎn)速,電機控制算法即根據(jù)測速模塊測出的速度進行算法調(diào)整,達到閉環(huán)控制的效果。

  2 系統(tǒng)軟件設(shè)計

  本次設(shè)計的軟件主要分為兩部分:

  (1)利用QuartusⅡ7.2完成NiosⅡ系統(tǒng)的構(gòu)建:利用SOPC Builder構(gòu)建NiosⅡCPU;使用VHDL編寫各控制模塊。

  (2)利用NiosⅡIDE完成系統(tǒng)控制與控制算法編寫,主要使用C語言進行控制與算法編寫;對直流電機進行成功控制后,在NiosⅡIDE上采集輸出轉(zhuǎn)速的實測數(shù)據(jù),將其導入Matlab畫出控制效果圖,整體軟件框圖如圖4所示。

本次設(shè)計使用SOPC Builder組建的NiosⅡ嵌入式系統(tǒng),如圖5所示。該系統(tǒng)除了配置NiosⅡ最小系統(tǒng)的CPU核NiosII CPU,Avalon總線,使用FPGA資源例化的存儲器之外,還有以下外接設(shè)備的控制單元:

  (1)SDRAM Controller;

  (2)Common Flash InteRFace;

  (3)JTAG UART;

  (4)鎖相環(huán)PLL;

  (5)Interval TImer;

  (6)通用I/O接口,包括PWM模塊接口conw,msta和測速模塊接口speed,按鈕接口button。

對于SOPC Builder組建的NiosⅡ系統(tǒng),可以在QuartusⅡ軟件方便地調(diào)用,在QuartusⅡ中Block Diagram設(shè)計調(diào)用NiosⅡ系統(tǒng)的框圖如圖6所示。給該系統(tǒng)配備工作時鐘,并分配FPGA的I/O管腳,程序經(jīng)綜合,布局,仿真之后,就可將配置文件通過各種配置方法下載到FPGA上。本文使用JTAG+AS方式配置,通過USB Blaster下載電纜線將計算機USB接口與FPGA的JTAG口相連,把配置文件從計算機下載到FPGA中,這樣就完成了系統(tǒng)的軟件設(shè)計。


 3 實驗與數(shù)據(jù)分析

  3.1 測試系統(tǒng)

  測試系統(tǒng)由一個額定電壓為2.5 V的直流有刷電機和Altera公司的DE2開發(fā)板組成。電機相關(guān)技術(shù)指標為:額定電壓為2.5 V,額定功率為O.065 W,額定轉(zhuǎn)速為2 150 r/min,空載轉(zhuǎn)速為2 650 r/min。

  整個測試系統(tǒng)的硬件結(jié)構(gòu)圖如圖1中所示,其工作流程在前文中有詳細介紹。

  3.2 實驗結(jié)果及分析

  將直流電機增量式PID算法以C語言的形式寫入NiosⅡIDE中,調(diào)試后將其采集到的實測數(shù)據(jù)導入Matlab,畫出時間與轉(zhuǎn)速之間的關(guān)系圖形如圖7~圖9所示。

  (1)比例(P)控制

  取采樣周期T=0.1 s,KP=0.5,實驗結(jié)果如圖7所示。

在P控制中,比例環(huán)節(jié)的作用是對偏差作出快速響應,Kp,越大,控制能力越強,但跟過大的Kp會增大超調(diào)量,另外比例環(huán)節(jié)可以減少穩(wěn)態(tài)誤差,但不能完全消除。從圖7中可以看出比例環(huán)節(jié)使得電機的轉(zhuǎn)速從零提升到設(shè)定值的過程比較快,但出現(xiàn)了比較明顯的超調(diào),且存在一定的穩(wěn)態(tài)誤差。

  (2)比例積分(PI)控制取采樣周期T=O.1 s,Kp=0.5,T1=2,實驗結(jié)果如圖8所示。

在PI控制中,積分環(huán)節(jié)的作用的是消除累計下來的偏差(即穩(wěn)態(tài)誤差),在控制過程中,只要有偏差存在,積分環(huán)節(jié)的輸出就不斷增大,直到偏差為零,輸出才可能穩(wěn)定在某一值上。但積分環(huán)節(jié)會降低響應速度,增加超調(diào)量,T1越大,積分作用越弱。從圖8中可以看出,在比例環(huán)節(jié)上加上積分環(huán)節(jié),先前的穩(wěn)態(tài)誤差得到消除,電機轉(zhuǎn)速趨于設(shè)定值,但同時也增加了另一段超調(diào)量。

  (3)比例積分微分(PID)控制取采樣周期T=O.1 s,Kp=O.5,T1=2,TD=O.1,實驗結(jié)果如圖9所示。

在PID控制中,微分作用是根據(jù)偏差的變化趨勢進行控制的,偏差變化得越快,微分環(huán)節(jié)輸出就越大,并且能在偏差值變大前進行修正。微分環(huán)節(jié)有利于減小超調(diào)量,克服振蕩,TD越大,微分作用越大。從圖9中可以看出,加入微分環(huán)節(jié)后,超調(diào)量明顯得到有效抑制。

  從圖7~圖9中可以看出,用PID控制算法控制基于NiosⅡ的直流電機控制效果還是不錯的,有一定的穩(wěn)定性,即便在轉(zhuǎn)速出現(xiàn)跳變時,也能進行良好的跟蹤。PID控制算法已經(jīng)相當成熟,參數(shù)可以通過整定很容易得到,實驗表明,此方案具有一定的可行性。

  4 結(jié)語

  提出一種直流電機的新型控制方式,即利用NiosⅡ軟核和FPGA芯片對其控制。通過實驗驗證,將PID增量式算法應用到此系統(tǒng)中,能進行良好的閉環(huán)控制。在電機控制中如遇更復雜的電機,如無刷電機等,用NiosⅡ軟核進行控制,可以將其擴展為雙核乃至多核,一個CPU用來控制算法,另一個CPU用來控制外圍系統(tǒng),互不干擾,發(fā)揮NiosⅡ處理器的最大優(yōu)勢。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉