0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

PID控制器VHDL的制作

454398 ? 來源:wv ? 2019-10-15 09:40 ? 次閱讀

步驟1:基本控制理論

PID控制器VHDL的制作

我認為,添加一些基本的控制理論將為想要嘗試實施此代碼的任何人提供一個良好的基礎。

所附的圖是一個單回路控制器

r-是參考。這確定了控制器需要去的地方。

e-是錯誤。這是傳感器上的值與參考值之間的差。例如e = r-(傳感器的d +輸出)。

K-這是控制器??刂破骺梢杂扇齻€項組成。這些項是P,I和D。所有三個項的乘數(shù)分別為Kp,Ki和Kd。這些值確定控制器的響應。

P比例。嚴格的P控制器將具有與電流誤差成比例的輸出。 P控制器易于實現(xiàn)且工作迅速,但永遠不會達到您設置(參考)的值。

I-積分。嚴格積分的控制器將總結先前的誤差,最終將達到所需的參考值。該控制器通常太慢而無法實現(xiàn)。添加P項將減少到達參考點所需的時間。必須考慮對輸入采樣的時間,積分項是相對于時間進行積分的。

D導數(shù)。導數(shù)項的輸出取決于誤差的變化率。該術語通常與P術語或PI術語一起使用。由于這與誤差變化率成正比,因此嘈雜的單音會放大其噪聲,這可能導致系統(tǒng)不穩(wěn)定。還必須考慮時間,因為導數(shù)項也是關于時間的。

U-這是控制信號。該信號是鉆機的輸入。在此項目中,u是輸入到風扇以改變速度的PWM信號。

G-這是被控制的系統(tǒng)。該系統(tǒng)可以在S或Z域中進行數(shù)學建模。該系統(tǒng)可以是n階,但是對于剛開始使用控制的人來說,應該假設是一階系統(tǒng),因為這很容易計算。這是有關在線建模系統(tǒng)的大量信息。根據(jù)傳感器的采樣時間,系統(tǒng)的模型可以是離散的也可以是連續(xù)的。這會對控制器產(chǎn)生巨大影響,因此建議對兩者進行研究。

d-這是添加到系統(tǒng)中的干擾。干擾是外部力量,系統(tǒng)模型無法解決。一個簡單的例子是一架無人駕駛飛機,您希望將其懸停在5米高的陣風處,并將該無人駕駛飛機降落1米,在發(fā)生干擾后,控制器將重新定位該無人駕駛飛機。這被稱為擾動,因為風是不可重復的,因此無法建模。

要調(diào)整控制器,需要命名的規(guī)則太多,但我剛開始使用的一些好規(guī)則是Cohen Coon和齊格·尼科爾斯(Zieger Nichols)。

在沒有精確模型的情況下,對系統(tǒng)建模通常是最重要的部分,因此已設計的控制器將無法根據(jù)需要做出響應。

這里應該有足夠的信息來了解控制器的工作方式以及一些單獨的研究,并且控制器下面的代碼可以結合使用這三個術語來實現(xiàn)。

步驟2:編寫PID代碼

該代碼的基本原理位于由于此代碼不起作用,但采用了以下鏈接,并對其進行了修改,但具有許多正確的原則,這些都是很好的起點。原始PID代碼有幾個錯誤,例如

連續(xù)操作-控制器是繼承的離散控制器,因此必須將控制器設置為僅在有新輸入可用時才計算所有3個項。此模擬的解決方法是檢查自上次以來輸入是否已更改。這僅能模擬代碼正常工作。

采樣時間對積分和微分項沒有影響-控制器也沒有考慮采樣的時間,因此添加了一個稱為時間除法器的值以確保積分和導數(shù)項在正確的時間間隔內(nèi)運行。

錯誤只能是正的-計算錯誤時還存在一個問題,因為錯誤永遠都不能為負,這意味著當反饋信號超過參考值時,控制器將繼續(xù)增加輸出值應該遞減。

3個項的增益值是整數(shù)-根據(jù)我的經(jīng)驗,我經(jīng)常發(fā)現(xiàn)控制器中3個項的值始終是浮點數(shù),這是因為Basys 3沒有必須的浮點數(shù)被賦予一個分子值和一個分母值,將作為解決這個問題的工具。

該代碼附在下面,它是代碼主體和用于模擬代碼的測試平臺。 zip文件夾包含Vivado中已經(jīng)存在的代碼和測試臺,因此可以打開以節(jié)省時間。還有一個代碼的模擬測試,顯示了跟蹤參考的輸出,這證明該代碼可以正常運行。

步驟3:如何為您的系統(tǒng)進行修改

首先,并非所有系統(tǒng)都相同,因此必須分析系統(tǒng)的輸入和輸出。就我而言,裝備的輸出為我提供了一個位置值,它是一個模擬信號,系統(tǒng)的輸入是一個PWM信號。這意味著需要ADC轉(zhuǎn)換。幸運的是,Basys 3具有內(nèi)置ADC,因此這沒問題,因為這是板載ADC的最大范圍,因此紅外傳感器的輸出必須縮小至0V-1V。這是通過使用分壓器電路完成的,該分壓器電路由1k電阻器構成,該電阻器設置為與1k電阻器串聯(lián)的3k電阻器。現(xiàn)在,模擬信號在ADC的范圍內(nèi)。風扇的PWM輸入能夠由Basys 3上的PMOD端口輸出直接驅(qū)動。

步驟4:利用Basys 3上的I/O

Basys 3上有許多I/O,可以在運行代碼時進行更輕松的調(diào)試。 I/O設置如下。

七段顯示-用于顯示基準值和ADC上以伏特為單位的值。七段顯示的前兩位數(shù)字顯示ADC值的小數(shù)點后兩位,因為該值介于0-1V之間。七段顯示器上的數(shù)字三和四以伏特表示參考值,這也顯示小數(shù)點后的前兩位,因為范圍也在0-1V之間。

16個LED-使用LED來顯示輸出的值,以確保輸出飽和并正確更改輸出。

步驟5:IR傳感器輸出上的噪聲

傳感器輸出上有噪聲可以解決此問題,因此放置了一個平均塊,因為這足夠了,需要完成的工作很少。

第6步:總體代碼布局

有一部分代碼尚未討論。此代碼是稱為觸發(fā)器的時鐘分頻器。該代碼位觸發(fā)ADC代碼進行采樣。 ADC代碼最多需要2us的時間才能完成,因此將當前輸入和先前輸入進行平均。求平均值后的1us,控制器將計算P,I和D項。臨時連接圖中顯示了代碼和接口的總體布局。

步驟7:測試

該代碼已部署在Basys 3上,并記錄了以下響應。參考值在2個值之間變化。在隨附的完整項目代碼中就是這種情況。隨附的視頻實時顯示了此響應。由于控制器是為此區(qū)域設計的,因此振蕩在管的上部衰減得更快,但由于系統(tǒng)是非線性的,因此控制器在管的下方無法正常工作。

第8步:修改以改進項目

該項目按預期工作,但如果可以擴展該項目,我將進行一些修改

實施數(shù)字濾波器以完全衰減噪聲

設置ADC代碼,平均代碼和積分代碼以依次觸發(fā)。

使用其他傳感器進行反饋,因為該傳感器的非線性響應在該項目中引起了各種各樣的問題,但更多的是控制方面而不是編碼方面。

步驟9:額外的工作

在整個暑假期間,我為級聯(lián)控制器編寫了代碼,并實現(xiàn)了我為單回路PID控制器推薦的修改方案。

對常規(guī)PID控制器所做的修改

·FIR過濾器模板實施的系數(shù)必須進行更改以實現(xiàn)所需的截止頻率。當前的實現(xiàn)是一個5抽頭的fir濾波器。

·已經(jīng)設置了代碼計時,以便該濾波器將新的樣本傳播通過,并在輸出準備就緒時觸發(fā)積分項,該積分項將被觸發(fā)。

·驅(qū)動程序的主for循環(huán)也已減少,因為for循環(huán)之前花費了7個周期,因此變慢了。降低了控制器的最大運行速度,但是通過減小for循環(huán)t 4狀態(tài),這意味著代碼的主要塊可以在4個時鐘周期內(nèi)運行。

測試

此控制器已按預期進行測試和執(zhí)行,我沒有為此證明拍照,因為該項目的這一部分只是為了保持頭腦活躍。用于測試的代碼以及測試平臺將在此處提供,因此您可以在實現(xiàn)之前測試程序。

為什么要使用級聯(lián)控制器

級聯(lián)控制器控制系統(tǒng)的兩個部分。在這種情況下,級聯(lián)控制器將具有外部回路,該外部回路是具有來自紅外傳感器的反饋的控制器。內(nèi)環(huán)具有來自轉(zhuǎn)速計的脈沖之間的時間形式的反饋,該反饋確定風扇的轉(zhuǎn)速。通過實施控制,可以從系統(tǒng)中獲得更好的響應。

級聯(lián)控制器的工作原理是什么?

控制器外環(huán)會向內(nèi)部環(huán)控制器饋送一個在波利之間的時間值。然后,該控制器將增加或減少占空比,以達到脈沖之間的期望時間。

在鉆機上實施修改。

很遺憾,我無法在我無法訪問的情況下在鉆機上實施這些修改。我測試了修改后的單環(huán)控制器,該控制器可以按預期工作。我尚未測試級聯(lián)控制器。我相信控制器可以正常工作,但可能需要進行一些細微的修改才能按預期工作。

測試

我無法像以前那樣測試控制器難以模擬兩個輸入源。我在級聯(lián)控制器上看到的唯一問題是,當外環(huán)試圖增加提供給內(nèi)環(huán)的設定點時,較大的設定點實際上是風扇的較低RPS,但這可以輕松解決。從設定值信號的最大值(4095-設定值-tacho_result)中取設定值。

第10步:結論

項目開始時我的總體項目功能符合我的預期,因此我對結果感到滿意。感謝您抽出寶貴的時間閱讀我在VHDL中開發(fā)PID控制器的嘗試。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • vhdl
    +關注

    關注

    30

    文章

    816

    瀏覽量

    127952
  • PID控制
    +關注

    關注

    10

    文章

    449

    瀏覽量

    39930
收藏 人收藏

    評論

    相關推薦

    PID調(diào)節(jié)中的d指的是什么控制器

    (Proportional)、積分(Integral)和微分(Derivative),這三個參數(shù)分別對應控制器的三種基本控制作用。 在PID控制器中,D代表微分(Derivative)
    的頭像 發(fā)表于 09-12 14:48 ?144次閱讀

    工業(yè)控制中常用的pid控制器是什么

    PID控制器是一種廣泛應用于工業(yè)控制領域的控制器,其全稱為比例-積分-微分控制器(Proportional-Integral-Derivat
    的頭像 發(fā)表于 06-30 10:41 ?625次閱讀

    PID控制器與PWM控制器的區(qū)別

    在工業(yè)自動化和控制系統(tǒng)設計中,PID控制器(比例-積分-微分控制器)和PWM控制器(脈沖寬度調(diào)制控制器
    的頭像 發(fā)表于 06-05 18:25 ?1778次閱讀

    PID控制器在熱管理系統(tǒng)中的應用

    在現(xiàn)代工業(yè)領域中,熱管理系統(tǒng)扮演著至關重要的角色。從電廠的熱工過程到各類機械設備的溫度控制,熱管理系統(tǒng)的準確性和穩(wěn)定性直接關系到整個系統(tǒng)的運行效率和安全性。PID(比例-積分-微分)控制器作為一種
    的頭像 發(fā)表于 06-05 16:28 ?340次閱讀

    PID控制器在工業(yè)自動化中的應用

    在工業(yè)自動化領域中,控制器的應用至關重要,它直接決定了生產(chǎn)過程的穩(wěn)定性和效率。PID(比例-積分-微分)控制器作為工業(yè)自動化控制的核心組件之一,因其結構簡單、參數(shù)可調(diào)、適用性強等優(yōu)點,
    的頭像 發(fā)表于 06-05 16:24 ?1047次閱讀

    PID控制器與電阻的區(qū)別

    在電子技術和控制系統(tǒng)中,PID控制器和電阻都扮演著重要的角色。然而,它們在功能、工作原理和應用領域等方面存在顯著的差異。本文將從多個角度對PID
    的頭像 發(fā)表于 06-05 16:01 ?724次閱讀

    PID控制器與開關控制器的區(qū)別

    在工業(yè)自動化控制系統(tǒng)中,PID控制器和開關控制器是兩種常見的控制策略。它們各自具有獨特的工作原理、應用場景和優(yōu)缺點。本文旨在詳細探討
    的頭像 發(fā)表于 06-05 15:50 ?422次閱讀

    PID控制器和PLC的區(qū)別

    在工業(yè)自動化和過程控制領域,PID控制器(比例-積分-微分控制器)和PLC(可編程邏輯控制器)是兩個非常重要的組成部分。它們各自擁有獨特的功
    的頭像 發(fā)表于 06-05 15:32 ?1769次閱讀

    PID控制器中P、I、D的含義

    PID(Proportional-Integral-Derivative)控制器,作為工業(yè)自動化領域中最常用的控制算法之一,其廣泛應用于各種控制系統(tǒng)中,如溫度
    的頭像 發(fā)表于 06-05 15:30 ?2565次閱讀

    什么是PID控制器?有哪些作用?

    在現(xiàn)代工業(yè)自動化控制系統(tǒng)中,PID(比例-積分-微分)控制器無疑是最常見且重要的控制算法之一。PID控制
    的頭像 發(fā)表于 06-05 15:30 ?1126次閱讀

    什么是pid控制,其控制作用是什么

    信號進行比例、積分和微分運算,從而實現(xiàn)系統(tǒng)的穩(wěn)定控制和性能優(yōu)化。 PID控制器由三個部分組成:比例控制器(P),積分控制器(I)和微分
    的頭像 發(fā)表于 02-01 14:51 ?1951次閱讀

    什么是pid控制原理 pid各個參數(shù)對系統(tǒng)的影響

    參數(shù)對系統(tǒng)的影響。 一、PID控制原理 PID控制的基本原理是根據(jù)反饋信號來調(diào)整輸出控制量,使得系統(tǒng)的實際輸出與期望輸出盡可能接近。
    的頭像 發(fā)表于 01-22 15:35 ?3972次閱讀

    什么是PID控制器PID控制器積分控制介紹

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法。
    的頭像 發(fā)表于 01-11 18:14 ?1128次閱讀
    什么是<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>?<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>積分<b class='flag-5'>控制</b>介紹

    什么是PID控制器?PID控制器控制器中的積分控制是什么?

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法。 一、PID控制器
    的頭像 發(fā)表于 01-11 08:35 ?1109次閱讀
    什么是<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>?<b class='flag-5'>PID</b><b class='flag-5'>控制器</b><b class='flag-5'>控制器</b>中的積分<b class='flag-5'>控制</b>是什么?

    基于VHDL的洗衣機控制器的設計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的洗衣機控制器的設計.pdf》資料免費下載
    發(fā)表于 11-07 10:28 ?2次下載
    基于<b class='flag-5'>VHDL</b>的洗衣機<b class='flag-5'>控制器</b>的設計