專利名稱:基于fpga的自整定pid控制器的制作方法
技術領域:
本實用新型涉及工業現場控制領域,更具體地說是一種采用FPGA實現且具有自 整定功能的智能PID控制器。
背景技術:
目前,在工業控制過程中,80 %以上工業控制回路仍然應用著PID控制,許多高級 控制都是以PID控制為基礎。在PID控制中,控制效果的好壞完全取決于PID參數的整定與 優化。實際系統具有許多不確定性因素,例如參數變化,被忽略的非線性,負載擾動,各種檢 測噪聲等。特別是常規調節器的控制參數具有固定形式,且PID控制器參數的整定和優化 主要靠現場工程技術人員手工整定,整定的好壞很大程度上依賴操作人員的經驗和水平, 加之實際系統千差萬別,控制對象日益復雜,使PID參數的整定具有相當大的難度,且要耗 費大量的人力物力。這些都可能嚴重影響系統的平穩性和控制精度。對于被控對象穩態和 動態品質都是十分不利的。
實用新型內容本實用新型是針對現有PID控制器參數整定存在的缺陷,提供一種基于FPGA的自 整定PID控制器。利用現場可編程邏輯器件FPGA來設置主控制器,選擇合適的外圍器件, 利用FPGA豐富的I/O 口、內部邏輯、連線資源和并行計算能力,結合自適應遺傳算法對PID 控制器參數進行整定。本實用新型解決技術問題采用如下技術方案本實用新型基于FPGA的自整定PID控制器的結構特點是由FPGA控制A/D轉換器采集系統設定值與被控對象輸出的誤差信號,所述誤差信 號一路接入FPGA內部的數字PID控制器,并在所述數字PID控制器中經過比例、積分和微 分操作產生被控對象的數字控制信號,所述數字控制信號經D/A轉換器向被控對象輸出模 擬控制信號;所述誤差信號的另一路接入FPGA中自適應遺傳算法AGA模塊,在所述FPGA中 采用自適應遺傳算法對PID控制器參數進行自整定,并生成所述A/D轉換器和D/A轉換器 的驅動時序。本實用新型基于FPGA的自整定PID控制器的結構特點也在于所述FPGA外接可使系統投入PID控制器參數整定的參數整定起動開關,并外接用 于設定A/D轉換器和D/A轉換器的時鐘頻率的六位撥碼開關。所述FPGA采用EP1C3T144C8,以LT1086實現系統外部5V電源到所述EP1C3T144C8 的10端的3. 3V電壓的電源轉換,采用LT1587_1. 5實現3. 3V到EP1C3T144C8內核1. 5V電 壓的電源轉換;所述FPGA外接JTAG和AS兩種配置模式,采用20MHZ有源晶振提供系統時鐘。所述A/D轉換器采用TLC5510,所述TLC5510的八位數字量輸出連接到所述FPGA 的八個10端,所述A/D轉換器的使能信號連接到所述FPGA的第59腳,并且設置為低電平有效;所述A/D轉換器的轉換時鐘CLK連接到所述FPGA的第72腳。所述D/A轉換器采用THS5651,所述THS5651的數字輸入端口直接連接到所述 FPGA的10 口,所述THS5651的時鐘引腳連接到所述FPGA的第51腳;所述THS5651采用二 進制輸入格式,其輸出信號通過運放THS4001構成的電流電壓變換電路將輸出的電流信號 轉變為用于控制被控對象的電壓信號,輸出電壓范圍為-5V到+5V。本實用新型是由FPGA控制A/D采集系統設定值與被控對象輸出的誤差信號,將采 集到的誤差信號送入FPGA內部的數字PID控制器,數字PID控制器對誤差信號進行比例、 積分、微分操作,產生被控對象的數字控制信號,經D/A變換后輸出模擬信號便可直接作用 于被控對象,進而調節被控對象的輸出。誤差信號送給數字PID控制器同時,也輸入到自適 應遺傳算法,自適應遺傳算法通過誤差絕對值時間積分評價函數,對每一組PID控制器參 數進行評價,保留較優的,對于適應度較差PID控制器參數個體的不斷進行遺傳操作,直至 找到相對最優的PID控制器參數。整定過程中LED顯示整定工作狀態,整定結束后輸出最 優PID控制器參數。可編程邏輯器件FPGA具有配置靈活,集成度高,尤其是具有出色的并行計算能 力。自適應遺傳算法是一種模擬生物進化機制的隨機全局優化搜索方法,具有很強的全局 優化能力及魯棒性。本實用新型中采用FPGA結合自適應遺傳算法對PID控制參數進行調 節,將大大提高PID控制器參數的整定效率,提高系統運行的可靠性。與已有技術相比,本實用新型有益效果體現在1、本實用新型采用FPGA結合自適應遺傳算法實現的PID控制器使PID參數自動 達到優化,采用一鍵式參數整定,節約了大量人力和物力及時間。2、本實用新型整個設計過程中由于充分發揮了 FPGA的并行計算能力及流水線技 術的應用,大大提高算法的運行速度,整定時間短,響應速度快。3、本實用新型具有高可靠性,控制系統簡單,系統控制部分的簡單設置進一步帶 來了系統的高可靠性,這也主要是因為可編程邏輯器件FPGA的使用,替代一些數字邏輯電 路的使用,減少電路的元件數量,相比于過多的分離器件技術具有數倍的穩定性。4、本實用新型為一個通用的PID控制器,易于維護、體積小、適應度高。對于不同 的控制對象,可選擇不同的采樣時鐘頻率進行控制。由于系統簡單,極大地方便了維護,降 低維護成本。
圖1為本實用新型原理框圖。圖2為本實用新型自適應遺傳算法FPGA實現結構框圖。圖3自適應遺傳算法FPGA實現狀態機。圖4為本實用新型FPGA電源電路。圖5為本實用新型FPGA配置與時鐘電路。圖6為本實用新型控制系統主電路。以下通過具體實施方式
,結合附圖對本實用新型作進一步說明。
具體實施方式
圖1為采用自適應遺傳算法進行PID控制器參數自整定的系統原理框圖,整個系 統以FPGA為控制核心,結合A/D轉換器、D/A轉換器等構成智能PID控制器。在圖1中的 控制系統中,輸入值和被控對象的輸出值相減得到誤差信號error作為A/D轉換器的輸入; A/D轉換器輸出的數字信號同時送入數字PID控制器和自適應遺傳算法AGA模塊,經過AGA 迭代運算以后得到較優的控制器參數kp、ki和kd作用于PID控制器。誤差信號經比例、積 分和微分運算后輸出到DAC。DAC輸出的模擬信號就是被控對象的輸入信號。電源模塊由 于向FPGA提供3. 3V和1. 5V的系統電壓,其中3. 3V為FPGA的10 口電壓,1. 5V為FPGA的 內核電壓。下載配置模塊用于實現FPGA的程序代碼下載配置。LED顯示模塊用于顯示系統 工作狀態,按鍵用于系統時鐘設置、復位功能。圖2為自適應遺傳算法FPGA實現結構框圖,自適應遺傳算法在FPGA中實現由初 始化模塊、選擇模塊、交叉變異模塊、存儲模塊、多路選擇器模塊、隨機數模塊、雙口 RAM存 儲單元和控制模塊等構成。圖3為自適應遺傳算法FPGA實現狀態機,狀態idle和stop是一個復位和一個結 束狀態,而狀態stl、狀態st2、狀態st3和狀態st4是四個工作狀態,分別是初始化群體狀 態、選擇狀態、交叉變異狀態和存儲狀態,各狀態的工作過程如下狀態idle 系統的異步復位信號reset只要變為低電平,狀態機就會立即跳轉到 idle,在該狀態下各模塊開始對一些信號進行初始化,包括遺傳代數、計數器的初值、隨機 數初值的裝載、以及一些控制信號的初值設置等等,這個過程我們統稱為復位。復位結束后 自動轉入狀態stl。狀態stl 該狀態系統工作在初始化群體階段。進入狀態stl后,控制模塊立刻將 信號startl置“1”,啟動初始化群體操作。在FPGA內部時鐘的作用下,每次生成一個新個 體,同時控制模塊使多路選擇器輸出的個體數據data、地址信號adl來自于初始化模塊。新 個體產生后便通過2選1選擇器B作用于PID控制器上,與此同時,初始化模塊通過2選1 選擇器C使能適應度計算啟動信號start,進行個體的適應度計算,計算結束后便產生一個 結束信號over,通知初始化模塊適應度計算結束。然后初始化模塊產生一個RAM的寫使能 信號wrl,wrl通過2選1選擇器A作用于RAMI、RAM2的寫控制端,使RAMI、RAM2處于寫狀 態。此時多路選擇器地址輸出信號只有adl時有效的,adl同時作用于RAM1、RAM2。在FPGA 內部時鐘的作用下同時將新個體及其適應度值分別存入RAMI和RAM2中,完成一次新個體 的存儲操作。此時初始化模塊內部的個體計數器累加一,同時判斷是否完成群體初始化操 作,若沒完成則繼續,反之產生一個結束信號overl,通知控制模塊初始化操作結束,狀態機 轉入狀態st2,同時將信號startl置“0”,關閉初始化模塊。狀態st2 該狀態系統工作在選擇階段。進入狀態st2后,控制模塊立刻將信號 start2置“1”,啟動選擇操作。選擇模塊每次隨機從RAMI和RAM2中選出兩個不同個體及 其適應度值,選擇模塊依據其適應度值的大小作出選擇,這樣就生成了一個新的個體,重復 一次選擇過程,這樣就累積了兩個新的個體。然后產生一個結束信號over2,通知控制模塊 選擇操作結束,狀態機轉入狀態st3,同時將信號start2置“0”,關閉選擇模塊。狀態st3 該狀態下系統工作在交叉、變異階段。進入狀態st3后,控制模塊立刻 將信號start3置“1”,啟動交叉、變異操作。交叉變異模塊先對選擇后生成的兩個個體進行
5交叉操作,然后進行變異操作,通過此模塊最終生成了兩個真正的新一代的個體。最后產生 一個結束信號over3,通知控制模塊交叉、變異操作結束,狀態機轉入狀態st4,同時將信號 start3置“0”,關閉交叉變異模塊。狀態st4 該狀態下系統對生成的新個體進行存儲。進入狀態st4后,控制模塊立 刻將信號start4置“1”,啟動個體存儲操作,同時控制模塊使多路選擇器輸出的個體數據 data、地址信號adl來自于存儲模塊。新個體產生后便通過2選1選擇器B作用于PID控 制器上,與此同時,存儲模塊通過2選1選擇器C使能適應度計算啟動信號start,進行個體 的適應度計算。計算結束后便產生一個結束信號over,通知存儲模塊適應度計算結束。此 時,存儲模塊便產生一個RAM的寫使能信號wr2,wr2通過2選1選擇器A作用于RAM1、RAM2 的寫控制端,使RAMI、RAM2處于寫狀態。在FPGA內部時鐘的作用下,同時將新個體及其適 應度值分別存入RAMI和RAM2中,完成一次新個體的存儲操作。按同樣的方式再存儲另外 一個新個體。存儲完兩個個體后,存儲模塊產生一個結束信號over4,通知控制模塊存儲操 作結束。在存儲的過程中對生成的新個體計數,當其達到群體規模時,遺傳迭代次數加一。 然后判斷是否達到迭代要求,遺傳操作若沒有達到迭代要求狀態機轉入狀態st2,繼續進行 遺傳運算,否則轉入狀態stop。狀態stop 該狀態表示遺傳運算已經結束。進入狀態stop后,停止一切工作,輸 出最優個體Best data,并使其通過2選1選擇器B作用于PID控制器。狀態stop已經不 存在下一狀態,也就是說狀態機在此情況下處于“死機”狀態,只有當系統異步復位信號reset 有效后,狀態機才會跳入idle狀態。由于是異步復位,所以不必在stop狀態下對reset判斷。圖4所示為FPGA電源電路,電源為系統提供能量,其輸出電壓的穩定與否直接 決定了系統穩定性。本實施例中,FPGA采用Altera公司cyclone系列的EP1C3T144C8芯 片,它有3000個LE邏輯資源,另外還有13塊M4K RAM (共6. 5Kbyte),一個PLL (數字鎖相 環),144個引腳,其中有108個用戶1/0,最高頻率可達200MHZ。系統由外部提供5V電源, EP1C3T144C8的10的電壓是3. 3V,采用LT1086實現5V到3. 3V的電源轉換,LT1086可輸 出3A的電流;內核的電壓是1. 5V,采用LT1587_1. 5實現3. 3V到1. 5V的電源轉換,為提高 電源的穩定性,在各個芯片的輸入輸出加上一些濾波電容,另外有5V的電源指示燈D1,表 示電源是否正常。圖5所示為FPGA配置與時鐘電路,FPGA是基于sram型的可編程邏輯器件,不像基 于rom型可編程器件CPLD,通過JTAG就可以直接把代碼固化在芯片內部。FPGA也可以通 過JTAG下載代碼到片子里面運行,但是FPGA下載到片子里面代碼是存放在ram里,所以斷 電后這些代碼馬上就丟失了。這樣,FPGA就需要非易失性存儲器來存放代碼,每次上電后自 動把代碼從配置芯片中讀出自行配置,然后運行。本實施例選用ALTERA公司配套的AS模 式(主動下載模式)的配置存儲器EPCS1,成本比較低,并且很容易配置。調試時流程一般 是修改設計,編譯然后通過JTAG下載到FPGA內部運行,并進行代碼驗證,直到代碼正確無 誤,最后才通過AS模式把代碼固化到配置存儲器里面。圖5中J1為標準10針的JTAG下 載口,J2為標準10針的AS下載口,U2為FPGA配置芯片EPCS1。FPGA系統復位分為軟件復位和硬件復位,圖5所示電路中,K1為硬件復位按鍵,低 電平有效,硬件復位接到FPGA的nconfig引腳(14腳)上,按下此鍵,FPGA的代碼重新從 EPCS1中配置。K2為軟件復位按鍵,低電平有效,軟件復位接到FPGA的全局時鐘引腳(93腳)上,它是在編寫VHDL代碼的時候的reset引腳,用來對內部的寄存器,狀態機,計數器 和控制信號進行初始化到一個確定狀態。EP1C3T144C8 一共有4個全局時鐘,分別是16、17、92、93引腳,任何一個都可作為 內部PLL的輸入引腳,只有這四個全局時鐘才能作為PLL輸入,其它10是不可以的,全局時 鐘相對于其它10輸入的時鐘具有更大驅動能力和最小延時。系統采用93引腳接到外部有 源20MHZ晶振上,外部晶振提供的時鐘可通過內部PLL進行倍頻,或通過分頻器進行分頻, 這樣可得到各種頻率的時鐘信號,以滿足各種情況需要。圖6所示為智能PID控制系統主電路,它由A/D轉換器、D/A轉換器、LED顯示和撥 碼開關設置電路構成。A/D轉換器采用TLC5510,為高速8位A/D轉換器。TLC5510采用了一種改進的半 閃結構及CMOS工藝,因而大大減少了器件中比較器的數量,而且在高速轉換的同時能夠保 持低功耗。它的最高轉換速率可達每秒20兆次。TLC5510內部還配備有標準的分壓電阻, 可以從+5V的電源獲得2V滿刻度的參考電壓,并且可保證溫度的穩定性。TLC5510的D1-D8 為8位數字量輸出,連接到FPGA的8個10,0E為A/D的使能信號,連接到FPGA的59腳,低 電平有效;CLK為A/D轉換時鐘,連接到FPGA的72腳。當A/D的使能信號為低電平時,A/ D在每個時鐘下降沿采樣,延遲2. 5個時鐘周期后輸出數據,所以FPGA在控制A/D采樣時, 存儲數據時也要做相應的延遲。外部的模擬信號經J3輸入,經耦合電容C20輸入到由高速 運放THS4001構成的信號放大調理電路,THS4001輸出的信號經過由R15和C17構成的低 通濾波器濾波后,輸入到TLC5510的19腳等待A/D轉換,輸入電壓范圍為-5V到+5V。D/A轉換器采用THS5651,THS5651是德州儀器公司制造的先進的高速混合信號 C0MS工藝。THS5651是一個10位分辨率的數字模擬轉換器(DAC)。10位DAC的成員CommsDAC 系列高速低功耗C0MS數字模擬轉換器。THS5651支持直二進制和二進制補碼輸入字格式, 能夠實現靈活的接口與數字信號處理器。THS5651提供滿量程差動輸出電流為20mA和大于 300K的輸出阻抗,同時支持單端和差分應用。THS5651與FPGA連接如圖4所示,THS5651的 數字輸入端口直接連接到FPGA的10 口,時鐘引腳連接到FPGA的51腳。THS5651采用二進 制輸入格式,輸出經過高速運放THS4001構成的電流電壓變換電路,將輸出的電流信號轉 變為電壓信號控制被控對象,輸出電壓范圍為-5V到+5V。圖6所示6位撥碼開關SW1用來設置A/D轉換器和D/A轉換器的時鐘頻率,6位 對應時鐘頻率分別為10KHZ、100KHZ、500KHZ、1MHZ、10MHZ、20MHZ。撥碼開關一端通過電阻 上拉連接到FPGA的10 口,另外一端接地,六位撥碼開關使用時只有一位是短接的,其它的 懸空。FPGA實時掃描六位撥碼開關,哪一個接到低電平,則采用相應A/D、D/A的時鐘頻率。 圖6所示開關K1為FPGA外接一個參數整定起動開關,當被控系統參數或結構發生變化時, 按動一次參數整定啟動開關,系統自動進行PID控制器參數整定。LED采用4位一體7段碼LED數碼管,圖4中LED數碼管DS1的段碼和位選信號分 別連接到FPGA的10 口,FPGA采用動態掃描方式進行數碼顯示。本實用新型是利用自適應遺傳算法的隨機搜索的全局優化能力,通過對尋優參數 進行編碼,并用選擇、交叉、變異作為工具引導搜索過程向著更高效的方向發展,最終搜索 到較優PID控制器參數。自適應遺傳算法優化PID控制器參數,將kp、ki、kd三個參數組合在一起進行聯合編碼作為一個個體,遺傳操作開始前系統隨機產生64個個體。為了評價每個個體,采用系 統誤差絕對值時間積分(ITAE)性能指標作為參數選擇的評價函數。自適應遺傳算每次隨 機選擇兩個個體,通過適應度計算選擇出較優個體,并以一定的概率對其進行交叉、變異操 作產生新個體。遺傳操作反復迭代進行,適應度高個體不斷替換適應度低的個體,當個體的 適應度不再有明顯變化時,遺傳操作停止,輸出最優個體。
權利要求一種基于FPGA的自整定PID控制器,其特征是由FPGA控制A/D轉換器采集系統設定值與被控對象輸出的誤差信號,所述誤差信號一路接入FPGA內部的數字PID控制器,并在所述數字PID控制器中經過比例、積分和微分操作產生被控對象的數字控制信號,所述數字控制信號經D/A轉換器向被控對象輸出模擬控制信號;所述誤差信號的另一路接入FPGA中自適應遺傳算法AGA模塊,在所述FPGA中采用自適應遺傳算法對PID控制器參數進行自整定,并生成所述A/D轉換器和D/A轉換器的驅動時序。
2.根據權利要求1所述的基于FPGA的自整定PID控制器,其特征是所述FPGA外接可 使系統投入PID控制器參數整定的參數整定起動開關,并外接用于設定A/D轉換器和D/A 轉換器的時鐘頻率的六位撥碼開關。
3.根據權利要求1所述基于FPGA的自整定PID控制器,其特征是所述FPGA采用 EP1C3T144C8,以LT1086實現系統外部5V電源到所述EP1C3T144C8的10端的3. 3V電壓的 電源轉換,采用LT15871. 5實現3. 3V到EP1C3T144C8內核1. 5V電壓的電源轉換;所述FPGA 外接JTAG和AS兩種配置模式,采用20MHZ有源晶振提供系統時鐘。
4.根據權利要求3所述的基于FPGA的自整定PID控制器,其特征是所述A/D轉換器采 用TLC5510,所述TLC5510的八位數字量輸出連接到所述FPGA的八個10端,所述A/D轉換 器的使能信號連接到所述FPGA的第59腳,并且設置為低電平有效;所述A/D轉換器的轉換 時鐘CLK連接到所述FPGA的第72腳。
5.根據權利要求3所述的基于FPGA的自整定PID控制器,其特征是所述D/A轉換器采 用THS5651,所述THS5651的數字輸入端口直接連接到所述FPGA的10 口,所述THS5651的 時鐘引腳連接到所述FPGA的第51腳;所述THS5651采用二進制輸入格式,其輸出信號通過 運放THS4001構成的電流電壓變換電路將輸出的電流信號轉變為用于控制被控對象的電 壓信號,輸出電壓范圍為-5V到+5V。
專利摘要本實用新型公開了一種基于FPGA的自整定PID控制器,其特征是由FPGA控制A/D轉換器采集系統設定值與被控對象輸出的誤差信號,所述誤差信號一路接入FPGA內部的數字PID控制器,并在所述數字PID控制器中經過比例、積分和微分操作產生被控對象的數字控制信號,所述數字控制信號經D/A轉換器向被控對象輸出模擬控制信號;所述誤差信號的另一路接入FPGA中自適應遺傳算法AGA模塊,在所述FPGA中采用自適應遺傳算法對PID控制器參數進行自整定,并生成所述A/D轉換器和D/A轉換器的驅動時序。本實用新型具備自適應、自組織的能力、能自動整定PID控制器的參數,同時具備傳統PID控制器結構簡單、魯棒性強、可靠性高的特點。
文檔編號G05B11/42GK201725180SQ20102020426
公開日2011年1月26日 申請日期2010年5月24日 優先權日2010年5月24日
發明者凌六一, 唐超禮, 曲立國, 胡海波, 黃友銳 申請人:安徽理工大學