新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的高速PID控制器設計與仿真

基于FPGA的高速PID控制器設計與仿真

作者: 時間:2015-02-26 來源:網(wǎng)絡 收藏

  在CNC(電腦數(shù)控)加工、激光切割、自動化磨輥弧焊系統(tǒng)、步進/伺服電機控制及其他由電機控制的機械組裝定位運動控制系統(tǒng)中,控制器應用得非常廣泛。其設計技術成熟,長期以來形成了典型的結構,參數(shù)整定方便,結構更改靈活,能滿足一般控制的要求。

本文引用地址:http://butianyuan.cn/article/270111.htm

  此類運動控制系統(tǒng)的被控量常為速度、角度等模擬量,被控量與設定值之間的誤差值經(jīng)離散化處理后,可由數(shù)字控制器實現(xiàn)的控制算法加以運算,最后再轉換為模擬量反饋給被控對象,這就是控制中常用的近似逼近原理。

  采用這種結構設計的控制系統(tǒng),其性能只能與原連續(xù)控制系統(tǒng)性能接近而不會超過,逼近的精度與被變換的連續(xù)數(shù)學模型大小及采樣周期長短有關 [1]。特別是在高速運動控制的情況下,采樣周期的影響更大,采樣周期相對較長時,逼近程度才較好,但是對PID控制算法的運算速度及回路的調(diào)節(jié)時間等也 提出了更高的要求。

  可編程邏輯器件的邏輯門數(shù)為5000~200萬個,屬于大規(guī)模甚至超大規(guī)模邏輯器件,其工作頻率最高可達250MHz。因此,無論從編程規(guī)模還是工作速度上,完全可以用來實現(xiàn)高速PID控制器。本設計使用Altera公司的Cyclone系列器件EP1C3作為硬件開發(fā)平臺,對運動控制中常用的增量式數(shù)字PID控制算法進行優(yōu)化處理,提高了運算速度和回路的調(diào)節(jié)時間。

  1 增量式數(shù)字PID控制算法的實現(xiàn)

  經(jīng)典PID控制方程為:

  

 

  式中,KP為比例放大系數(shù);K1為積分時間常數(shù);KD為微分時間常數(shù)。數(shù)字PID控制算法的實現(xiàn),必須用數(shù)值逼近的方法。當采樣周期相當短時,用求和代替積分,用差商代替微商,使PID算法離散化,將描述連續(xù)一時間PID算法的微分方程離散化、差分、歸并處理后可得:

  

 

  

 

  從(2)式可以看出,增量式數(shù)字PID算法,只要儲存最近的三個誤差采樣值e(k)、e(k-1)、e(k-2)就足夠了。實現(xiàn)此增量式數(shù)字PID控制算法的結構圖如圖1所示。

  

 

  圖1中虛線框以內(nèi)的結構是三個具有移位功能的乘法器,可以使用Altera公司提供的經(jīng)過嚴格測試和優(yōu)化處理的宏功能模塊 LPM_MULT(M0~M2)實現(xiàn)。LPM_MULT是一個可定制位寬的加法/乘法器,在此,定制誤差輸入值e(k)的位寬為8bit,另一常量乘數(shù) q0、q1、q2為整定后的PID控制器的控制參數(shù),位寬為6bit,乘法器輸出結果位寬為14bit。QuartusII中的原理圖如圖2所示。

  

 

  LPM_MULT宏功能模塊還可以定制運算結果輸出時等待同步脈沖(clock)的個數(shù),這就是LPM_MULT的流水線輸出功能。圖2中指定 lpm_mult0、lpm_multl、:lpm_mult2的等待時間依次為1、2、3個同步脈沖,這種設計自然地實現(xiàn)了移位相乘操作;同時利用乘法 器的流水線功能,提高了乘法運算的速度。優(yōu)化后的功能仿真波形如圖3所示。

  

 

  由圖2、圖3可見,在第K個流水線推進時鐘信號clk的上跳沿,lpm_mult0輸出當前時刻下的乘積運算結果 steplout,lpm_multl輸出K一1時刻下的乘積結果step2out,lpm_mult2輸出K-2時刻下的乘積結果step3out,并 行加法運算部件parallel_add的輸出值為result=steplout+step2out+step3out。

  2 通用模/數(shù)、數(shù)/模轉換器的設計與仿真

  為了不失系統(tǒng)的通用性和可擴展性,參照ADI公司8bit、半閃爍型A/D轉換器AD7822的時序圖,設計了通用A/D轉換部件 typical_ADC實現(xiàn)系統(tǒng)的模/數(shù)轉換仿真功能。typical_adc部件是一個理想化的A/D轉換芯片,主要由一個8位地址計數(shù)器和一個存放正 弦數(shù)據(jù)的ROM構成,它模擬正弦信號的采樣、量化過程,采樣周期只與系統(tǒng)的工作時鐘有關[2]。

  相對于模/數(shù)轉換而言,數(shù)/模轉換的控制信號要少一些,時序要求更簡單。參照TI公司14位D/A轉換芯片DAC8806的功能表,設計了一個 通用D/A轉換部件typical_dac實現(xiàn)系統(tǒng)的數(shù)/模轉換仿真功能。為了形式化地表示系統(tǒng)的D/A轉換過程,typical_dac只是對PID算 法的輸出量△u(k)做了一個奇偶校驗運算,VHDL語言描述如下:

  ARCHITECTURE behav OF typical_dac IS

  BEGIN-當轉換控制信號wr為低電平時輸出各位異或值,否則輸出高阻態(tài)

  uout<=(datain(0)XOR datain(1)XOR datain(2)XOR datain(3)XOR datain(4)XOR datain(5)XORdatain(6) XOR datain(7)X0R datain(8)XOR datain(9):XOR datain(10)XOR datain(11)XOR datain(12)XOR datain (13)XOR`1`)WHEN wr=`0`ELSE`z`;END behav;;

pid控制相關文章:pid控制原理


fpga相關文章:fpga是什么


伺服電機相關文章:伺服電機工作原理


pid控制器相關文章:pid控制器原理



上一頁 1 2 下一頁

關鍵詞: FPGA PID

評論


相關推薦

技術專區(qū)

關閉