




已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
綜合電子系統(tǒng)設(shè)計(jì)報(bào)告實(shí)驗(yàn)名稱:基于FPGA的溫控系統(tǒng)的設(shè)計(jì)班級(jí): 電子1202 學(xué)號(hào): 姓名: 指導(dǎo)教師: 前言基于FPGA與溫度傳感器DS18B20設(shè)計(jì)實(shí)現(xiàn)了單回路水箱溫度PID控制系統(tǒng)。軟件主要包括PID控制算法及PWM波產(chǎn)生模塊、DS18B20驅(qū)動(dòng)模塊、數(shù)碼管顯示驅(qū)動(dòng)模塊等3個(gè)模塊。仿真結(jié)果驗(yàn)證了設(shè)計(jì)的正確性。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)輸出溫度達(dá)到微小超調(diào)的穩(wěn)定控制要求,體現(xiàn)了該設(shè)計(jì)方法的有效性和實(shí)用性。基于微處理器的溫度控制系統(tǒng)改變了傳統(tǒng)模擬溫度控制系統(tǒng)參數(shù)整定不靈活的問(wèn)題。但是常規(guī)微處理器無(wú)法避免在惡劣環(huán)境下程序跑飛的問(wèn)題。利用FPGA實(shí)現(xiàn)溫度控制系統(tǒng)的設(shè)計(jì),不僅可以提高系統(tǒng)的運(yùn)算速度、減小系統(tǒng)的體積,還可以增強(qiáng)系統(tǒng)的可靠性,具有較強(qiáng)的應(yīng)用前景。本設(shè)計(jì)首先針對(duì)Altera公司的CycloneII系列FPGA芯片,基于QUARTUSII軟件,采用verilogHDL編程設(shè)計(jì)了主要包括PID控制算法及PWM波產(chǎn)生模塊、DS18B20驅(qū)動(dòng)模塊、數(shù)碼管顯示驅(qū)動(dòng)模塊等功能模塊程序。然后用Modelsim軟件仿真驗(yàn)證了各模塊的正確性。最后以水箱為被控對(duì)象,以目前市場(chǎng)上性價(jià)比較高的FPGA芯片EP2C8Q208C8為核心器件,結(jié)合溫度傳感器DS18B20、鍵盤(pán)、數(shù)碼管以及固態(tài)繼電器等器件設(shè)計(jì)實(shí)現(xiàn)了單回路水溫PID控制系統(tǒng)。在控制溫度為3090的實(shí)驗(yàn)條件下,誤差小于1,系統(tǒng)輸出溫度達(dá)到微小超調(diào)的穩(wěn)定控制要求。關(guān)鍵詞:FPGA DS18B20 PID PWM波一、 方案設(shè)計(jì)1、方案設(shè)計(jì)比較溫度傳感器模塊設(shè)計(jì) 方案一:采用熱敏電阻pt100。這種電阻輸出的是模擬量,所以硬件結(jié)構(gòu)較復(fù)雜,需要用到橋式電路將采集到的溫度轉(zhuǎn)化為電壓輸出,而且為了實(shí)現(xiàn)AD轉(zhuǎn)化,還要加放大電路。另外,這種測(cè)溫系統(tǒng)難以實(shí)現(xiàn)多點(diǎn)測(cè)溫,也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。 方案二:采用單總線數(shù)字溫度傳感器DS18B20測(cè)量溫度,直接輸出數(shù)字信號(hào)。便于單片機(jī)處理及控制,節(jié)省硬件電路。且該芯片的物理化學(xué)性很穩(wěn)定,此元件線形性能好,在0100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89C51構(gòu)成的溫度裝置,它直接輸出溫度的數(shù)字信號(hào)到微控制器。每只DS18B20具有一個(gè)獨(dú)有的不可修改的64位序列號(hào),根據(jù)序列號(hào)可訪問(wèn)不同的器件。這樣一條總線上可掛接多個(gè)DS18B20傳感器,實(shí)現(xiàn)多點(diǎn)溫度測(cè)量,輕松的組建傳感網(wǎng)絡(luò)。綜上分析,我們選用第二種方案。2、總體方案設(shè)計(jì)單回路水箱溫度控制系統(tǒng)的結(jié)構(gòu)如圖1所示, 虛線框內(nèi)部分是系統(tǒng)的核心, 用一片F(xiàn)PGA 實(shí)現(xiàn)。其中, clock生成器用于將系統(tǒng)時(shí)鐘分頻及產(chǎn)生定時(shí), 用戶接口接受用戶鍵盤(pán)輸入及驅(qū)動(dòng)LED 顯示。PID控制器用于實(shí)現(xiàn)PID控制算法, PWM 波發(fā)生器用于脈寬調(diào)制, 以控制固態(tài)繼電器的通斷來(lái)達(dá)到控制加熱功率的目的。傳感器接口用于對(duì)溫度傳感器DS18B20進(jìn)行數(shù)據(jù)采樣控制。 二、理論分析與計(jì)算1、溫度轉(zhuǎn)換計(jì)算方法例如當(dāng)DS18B20采集到+125的實(shí)際溫度后,輸出為07D0H,則:實(shí)際溫度=07D0H0.0625=20000.0625=1250C。例如當(dāng)DS18B20采集到-55的實(shí)際溫度后,輸出為FC90H,則應(yīng)先將11位數(shù)據(jù)位取反加1得370H(符號(hào)位不變,也不作為計(jì)算),則:實(shí)際溫度=370H0.0625=8800.0625=550C。2、穩(wěn)定溫度的方法:PID算法調(diào)節(jié)完整的公式如下:u(t) = Kp*e(t) + Kie(t) + Kde(t) e(t-1)+u0在PID的調(diào)試過(guò)程中,我們應(yīng)注意以下步驟:1、 關(guān)閉I和D,也就是設(shè)為0.加大P,使其產(chǎn)生振蕩;2、 減小P,找到臨界振蕩點(diǎn);3、 加大I,使其達(dá)到目標(biāo)值;4、重新上電看超調(diào)、振蕩和穩(wěn)定時(shí)間是否吻合要求;5、 針對(duì)超調(diào)和振蕩的情況適當(dāng)?shù)脑黾右恍┪⒎猪?xiàng);6、 注意所有調(diào)試均應(yīng)在最大爭(zhēng)載的情況下調(diào)試,這樣才能保證調(diào)試完的結(jié)果可以在全工作范圍內(nèi)均有效;PID控制器參數(shù)整定:采用是臨界比例法。利用該方法進(jìn)行 PID控制器參數(shù)整定步驟如下:(1)首先預(yù)選擇一個(gè)足夠短采樣周期讓系統(tǒng)工作;(2)僅加入比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時(shí)比例放大系數(shù)和臨界振蕩周期;(3)一定控制度下公式計(jì)算到PID控制器參數(shù)。二、 硬件設(shè)計(jì)(一)、鍵盤(pán)輸入(二)、溫度顯示部分用七段數(shù)碼管顯示, 兩個(gè)用來(lái)顯示鍵盤(pán)設(shè)定的溫度值, 兩個(gè)用來(lái)顯示測(cè)得的溫度值。因個(gè)數(shù)碼管占用的工口資源較多, 所以配用帶驅(qū)動(dòng)和鎖存功能的一十進(jìn)制譯碼器如圖所示為一個(gè)數(shù)碼管與的連接。編程時(shí)設(shè)定值的顯示與測(cè)得值的顯示為兩個(gè)不同的模塊。(三)、設(shè)定值的顯示部分當(dāng)按鍵按下一定時(shí)間表明按下有效, 因?yàn)橹伙@示兩位數(shù)字, 所以按一次鍵, 顯示移位, 按下三次, 則最前面的被代替, 依次類推。程序流程如圖:(四)、溫度控制溫度控制直接比較設(shè)定值和測(cè)得值的編碼, 若設(shè)定值大于測(cè)得值, 則控制升溫器件開(kāi)始工作反之, 讓降溫器件工作??梢酝ㄟ^(guò)的輸出控制繼電器或者光電器件從而控制需要強(qiáng)電才能工作的升溫和降溫設(shè)備。四、軟件設(shè)計(jì)(一)、程序設(shè)計(jì)思路:本系統(tǒng)的主要功能是實(shí)現(xiàn)對(duì)環(huán)境內(nèi)部溫度的采集,根據(jù)采集溫度來(lái)調(diào)整加熱電路工作占空比,使得環(huán)境內(nèi)部溫度達(dá)到設(shè)定的溫度值。在溫度控制算法上采用的是是PID(比例-積分-微分)算法,它是一種閉環(huán)輸出控制模型,在后面會(huì)具介紹??偝绦虻闹饕袔讉€(gè)部分組成,顯示程序,鍵盤(pán)掃描程序,溫度讀取程序,pid計(jì)算程序,中斷程序。程序框圖如下:PID是ProportionalIntegralDerivativel控制是比例、積分、微分控制的簡(jiǎn)稱,PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計(jì)算出控制量進(jìn)行控制的。在模擬控制系統(tǒng)中,控制器中最常用的控制規(guī)律是PID控制。PID控制器是一種線性控制器,它根據(jù)給定值與實(shí)際輸出值構(gòu)成控制偏差。PID控制規(guī)律寫(xiě)成傳遞函數(shù)的形式為:式中,PK為比例系數(shù);iK為積分系數(shù);dK為微分系數(shù);ipiKKT=為積分時(shí)間常數(shù);pddKKT為微分時(shí)間常數(shù);簡(jiǎn)單來(lái)說(shuō),PID控制各校正環(huán)節(jié)的作用如下:比例控制比例控制是PID中最簡(jiǎn)單的控制方式。比例部分?jǐn)?shù)學(xué)表達(dá)式為:其控制器的輸出與輸入誤差信號(hào)成比例關(guān)系。比例控制作用強(qiáng)弱取決于比例系數(shù)Kp,Kp越大,控制過(guò)程消耗的時(shí)間越短,最終結(jié)果的穩(wěn)態(tài)誤差也越?。坏獽p變大,超調(diào)量也越大,系統(tǒng)控制過(guò)程易產(chǎn)生振蕩,這會(huì)使動(dòng)態(tài)性能變差,很可能導(dǎo)致閉環(huán)系統(tǒng)不穩(wěn)定。積分控制在積分控制中,控制器的輸出與輸入誤差信號(hào)的積分成正比關(guān)系。積分部分?jǐn)?shù)學(xué)表達(dá)式為: 對(duì)于一個(gè)自動(dòng)控制系統(tǒng),在進(jìn)入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個(gè)控制系統(tǒng)是有穩(wěn)態(tài)誤差的簡(jiǎn)稱有差系統(tǒng)。為了最大程度減小穩(wěn)態(tài)誤差,在控制器中必須引入積分項(xiàng)。積分項(xiàng)對(duì)誤差取決于時(shí)間的積分,隨著時(shí)間的增加,積分項(xiàng)會(huì)增大。這樣,即便誤差很小,積分項(xiàng)也會(huì)隨著時(shí)間的增加而加大,它推動(dòng)控制器的輸出增大使穩(wěn)態(tài)誤差進(jìn)一步減小,直到等于零。因此,比例+積分(PI)控制器,可以使系統(tǒng)在進(jìn)入穩(wěn)態(tài)后無(wú)穩(wěn)態(tài)誤差。微分控制如果控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系,那么就叫做微分控制。微分部分?jǐn)?shù)學(xué)表達(dá)式為:一般自動(dòng)控制系統(tǒng)在消除誤差、自動(dòng)調(diào)節(jié)過(guò)程中,系統(tǒng)可能會(huì)出現(xiàn)振蕩甚至失穩(wěn)。其原因系統(tǒng)是存在有較大慣性環(huán)節(jié)或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是讓抑制誤差的作用超前工作,就是在系統(tǒng)誤差快要接近于零時(shí),抑制誤差就應(yīng)該是零。這就是說(shuō),在控制器中僅光入比例項(xiàng)往往是不夠的,比例項(xiàng)的作用僅是放大誤差的幅值,而目前需要增加的是微分項(xiàng),它能預(yù)測(cè)誤差變化的趨勢(shì),這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重超調(diào)。微分控制得出偏差的變化趨勢(shì),微分控制作用可加快系統(tǒng)響應(yīng),減小超調(diào)量,減小振蕩,系統(tǒng)更穩(wěn)定性,但使系統(tǒng)抗干擾的能力變差。微分部分的作用強(qiáng)弱由微分時(shí)間Td決定。Td的值大,則它抑制e(t)變化的能力強(qiáng),Td的值小,e(t)則它阻止變化的能力弱。PID離散化最終的算式如式所示離散變換得:(二)、各個(gè)部分的設(shè)計(jì)1、 PID控制器的設(shè)計(jì)常規(guī)PID控制器結(jié)構(gòu)清晰、參數(shù)調(diào)節(jié)方便、魯棒性強(qiáng), 并且算法簡(jiǎn)單高效, 在工業(yè)現(xiàn)場(chǎng)是應(yīng)用最廣泛的控制器。模擬PID控制表達(dá)式如下:其中, kp 為比例增益, Ti 為積分時(shí)間常數(shù), Td 為微分時(shí)間常數(shù), e( t ) = r( t) - y ( t)為偏差, u ( t)為控制量。位置型數(shù)字PID控制算法如式:其中, T 為采樣周期, k 為采樣序號(hào)。增量型數(shù)字PID 控制算法如式:所以用FPGA 實(shí)現(xiàn)式( 4)時(shí), 需要進(jìn)行減法運(yùn)算和乘法運(yùn)算。乘法器用A ltera提供的可定制位寬的宏功能模塊LPM_MULT實(shí)現(xiàn)。LPM _MULT具有流水線輸出功能, 可以提高乘法運(yùn)算的速度。對(duì)減法運(yùn)算, 根據(jù)被減數(shù)- 減數(shù)=被減數(shù)+ ( - 減數(shù)) , 將減法運(yùn)算變成符號(hào)數(shù)的加法運(yùn)算。符號(hào)數(shù)以補(bǔ)碼形式表示, 最高位為符號(hào)位, 1表示負(fù)數(shù), 0表示正數(shù); 其他位為數(shù)值位, 負(fù)數(shù)的數(shù)值位等于它的反碼加1。在用V erilog HDL語(yǔ)言表達(dá)符號(hào)數(shù)時(shí), 需要判斷符號(hào)位來(lái)確定正負(fù)。描述ud = kd e( k ) - 2e( k- 1) + e( k- 2) 的Verilog HDL語(yǔ)言代碼如下:up 和ui 的描述方法依此類推。若采用PID 控制器的其他結(jié)構(gòu)形式, 只需改變up, ui 和ud 的形式。3、PWM 波發(fā)生器的實(shí)現(xiàn)PWM 波發(fā)生器根據(jù)PID控制器的輸出量u ( k ) 確定PWM 波在一個(gè)采樣周期內(nèi)高低電平的定時(shí)值。為了節(jié)省整體設(shè)計(jì)時(shí)間和FPGA 資源, 以1 /1000采樣周期為計(jì)數(shù)時(shí)鐘, 先使高電平計(jì)數(shù)器減法計(jì)數(shù)直到0, 在此期間, PWM端口輸出高電平, 再使低電平計(jì)數(shù)器減法計(jì)數(shù)直到0, 在此期間, PWM 端口輸出低電平。PWM發(fā)生器的部分VerilogHDL源代碼如下: 4、DS18B20接口的實(shí)現(xiàn) DS18B20接口狀態(tài)機(jī)由如圖2 所示的8個(gè)狀態(tài)組成: ( 1 ) RESET1: 對(duì)DS18B20 進(jìn)行初始化, 等待后進(jìn)入JUDGE。( 2 )JUDGE: 檢測(cè)DS18B20 是否存在。若不存在, 返回RESET1; 否則延時(shí)后進(jìn)入SKIP1。( 3) SK IP1: 向DS18B20發(fā)送跳過(guò)ROM 匹配命令, 然后進(jìn)入CONVERT。( 4) CONVERT: 向DS18B20發(fā)送啟動(dòng)溫度轉(zhuǎn)換命令, 等待后進(jìn)入RESET2。( 5 ) RESET2: 對(duì)DS18B20復(fù)位, 等待600 s后進(jìn)入SK IP2。( 6) SK IP2: 向DS18B20發(fā)送跳過(guò)ROM 匹配命令, 然后進(jìn)入GET。( 7) GET: 從DS18B20 中讀取溫度測(cè)量值, 然后進(jìn)入STORE。( 8) STORE: 把所讀取的溫度測(cè)量值放入寄存器中, 返回原始狀態(tài)。其中CONVERT 和GET 兩個(gè)狀態(tài)嵌套使用了狀態(tài)機(jī), 以完成DS18B20嚴(yán)格的寫(xiě)和讀時(shí)序。系統(tǒng)的主要功能是實(shí)現(xiàn)對(duì)環(huán)境內(nèi)部溫度的控制。溫度控制程序的算法直接影響著系統(tǒng)的工作效果,為了得到理想的,最優(yōu)的結(jié)果我在溫度控制算法上采用的是是PID(比例-積分-微分)算法,它是一種最經(jīng)典也是最常用的閉環(huán)輸出的自動(dòng)控制模型,他可以根據(jù)當(dāng)前的溫度差來(lái)調(diào)整輸糾正誤差。5、頂層模塊設(shè)計(jì)采用自上向下的設(shè)計(jì)方法將FPGA 實(shí)現(xiàn)的功能分成DS18B20驅(qū)動(dòng)模塊、PID控制算法及PWM波產(chǎn)生模塊和顯示驅(qū)動(dòng)模塊等3個(gè)功能模塊。DS18B20驅(qū)動(dòng)模塊實(shí)現(xiàn)1s信號(hào)的產(chǎn)生、延時(shí)DS18B20接口狀態(tài)機(jī)。PID控制算法及PWM 波產(chǎn)生模塊實(shí)現(xiàn)采樣時(shí)鐘信號(hào)的產(chǎn)生、初始溫度屏蔽、溫度設(shè)定、PID算法以及PWM波的產(chǎn)生。顯示驅(qū)動(dòng)模塊實(shí)現(xiàn)動(dòng)態(tài)掃描顯示時(shí)鐘信號(hào)的產(chǎn)生、段碼和位碼的譯碼, 以驅(qū)動(dòng)4個(gè)七段數(shù)碼管動(dòng)態(tài)掃描顯示百位、十位、個(gè)位和小數(shù)位數(shù)據(jù)。將這3個(gè)模塊分別用V erilogHDL設(shè)計(jì)成功后, 在頂層模塊中進(jìn)行例化的源代碼為:四、測(cè)試及實(shí)驗(yàn)結(jié)果設(shè)給定值r=60,溫度采樣值tem_data=25,kp=100,ki=0,kd=1,clk=50MHz,rs
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 司法鑒定機(jī)構(gòu)股權(quán)并購(gòu)重組合同
- 私人直升機(jī)航拍素材版權(quán)授權(quán)及收益分成補(bǔ)充協(xié)議
- 智能家居系統(tǒng)售后服務(wù)補(bǔ)充協(xié)議
- 離岸公司注冊(cè)、全球法律事務(wù)處理與合規(guī)支持協(xié)議
- 新能源汽車(chē)產(chǎn)業(yè)鏈股權(quán)合作與產(chǎn)業(yè)創(chuàng)新協(xié)議
- 婚姻不可抗力風(fēng)險(xiǎn)防范與忠誠(chéng)協(xié)議修訂協(xié)議書(shū)
- 2025年比特幣投資項(xiàng)目提案報(bào)告
- 2025年耐火土石類項(xiàng)目申請(qǐng)報(bào)告
- 城市公路建設(shè)進(jìn)度控制措施
- 2025年印染涂料項(xiàng)目申請(qǐng)報(bào)告
- 小學(xué)生德育教育ppt課件
- 《菱形的判定》教學(xué)設(shè)計(jì)(共3頁(yè))
- 配電箱系統(tǒng)圖
- 精選靜電感應(yīng)現(xiàn)象的應(yīng)用練習(xí)題(有答案)
- 電纜井工程量計(jì)算
- 初中音樂(lè)--人聲的分類--(1)pptppt課件
- 育種學(xué) 第6章雜交育種
- 小作坊生產(chǎn)工藝流程圖(共2頁(yè))
- 生態(tài)瓶記錄單
- 鋼芯鋁絞線參數(shù)
- 音王點(diǎn)歌機(jī)800S加歌操作方法
評(píng)論
0/150
提交評(píng)論