《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA的自動溫度采集控制系統(tǒng)設(shè)計

基于FPGA的自動溫度采集控制系統(tǒng)設(shè)計

2018-09-07
關(guān)鍵詞: FPGA 溫度采集

  隨著當前工業(yè)控制自動化日益普及,對于工作環(huán)境中的溫度控制也越來越重要,。本設(shè)計即是針對某些需要持續(xù)恒溫的特殊環(huán)境而設(shè)計的自動溫度采集控制系統(tǒng),。該系統(tǒng)采用FPGA作為硬件核心部分,,有效地利用FPGA在可編程門陣列方面的優(yōu)點,,最大限度的使硬件電路軟件化,,減少了可視硬件的規(guī)模,,降低了硬件加工,、布線以及元器件采購方面的成本與復雜性,,從而降低了故障排查方面的繁雜性,。使硬件電路簡潔,降低了整體占用的空間,。相對于其他的溫度控制系統(tǒng),,具有小巧,維護維修方便的優(yōu)點,,大大的提高了可維護性,,同時由于采用的元器件都比較常見,整體成本較低,。因此很適用于一些小規(guī)模同時對溫度精度要求不高的場合,。

  1 系統(tǒng)工作原理

  通過傳感器實現(xiàn)對外界環(huán)境溫度的采集,并將采集到的溫度信號傳送給FPGA芯片,,F(xiàn)PGA芯片能夠自主地對采集的溫度信號進行處理,,并能通過LED顯示當前溫度,同時自動將采集到的溫度信號與預設(shè)的溫度進行比較得出正確的比較結(jié)果,,通過I/O端口輸出控制外圍設(shè)備對環(huán)境溫度進行控制,,從而達到實時溫度控制的目的。本設(shè)計中主要有溫度采集模塊,、FPGA芯片模塊,、LED數(shù)字顯示模塊三部分,系統(tǒng)原理框圖如圖1所示,。

1.png

  通過FPGA編程來實現(xiàn)對溫度傳感器的實時溫度數(shù)據(jù)采集,,并且實時地處理采集到的數(shù)據(jù),將采集到的數(shù)據(jù)轉(zhuǎn)換為BCD碼通過8段LED數(shù)碼管顯示出此前的溫度,。與此同時,,采集到的數(shù)據(jù)將會與存儲在芯片里的溫度預設(shè)值比較,并自動產(chǎn)生比較結(jié)果,,控制外圍設(shè)備對被測空間的溫度實施調(diào)節(jié)控制,,從而達到恒溫的目的,溫度傳感器采集出的溫度數(shù)據(jù)通過二進制數(shù)組片選選擇數(shù)據(jù)通過LED顯示,,選擇的數(shù)據(jù)再與標準溫度進行比較,,溫度過高降溫處理、溫度過低則升溫處理。

  2 主要功能模塊的實現(xiàn)

  控制模塊如圖2所示,,其中兩個PNP三極管的作用是在P1輸出控制信號時起到開關(guān)作用,,根據(jù)圖中的三極管接法,當輸出控制信號為低電平時,,三極管通導,,此時P2繼電器中有電流通過,使其3和6引腳接通,。設(shè)計中由于采用的三極管對電流的要求較高,,而又由于繼電器內(nèi)部可以認為相當于是一個電感,因此在繼電器剛剛上電的時刻,,三極管發(fā)射極和集電極電流將會很大,,很容易將三極管燒毀,因此加裝穩(wěn)壓二極管D2,,使繼電器上電工作的時刻,,瞬間電流通過二極管回路而不是通過三極管,就可以有效保護三極管不被燒毀,。

2.png

  外部輸出信號為低電平時,,p2回路導通,引腳6與引腳3有電流,,p3導通開始工作,當溫度過低時,,燈泡點亮;當溫度過高時,,風扇工作。從而實現(xiàn)對溫度的實時控制,。

  3 軟件設(shè)計及仿真結(jié)果

  本設(shè)計中采用FPGA芯片作為核心控制部分,。在本設(shè)計中軟件模塊主要包括溫度傳感器控制及數(shù)據(jù)接收模塊,溫度數(shù)據(jù)處理模塊,,溫度顯示模塊,。

  3.1 溫度數(shù)據(jù)處理模塊

  傳感器數(shù)據(jù)處理模塊tempture的頂層電路圖如圖3所示,它的作用主要是將12位二進制的溫度信號轉(zhuǎn)換為用BCD碼表示的3位十進制數(shù),,輸入的12位溫度信號中其中的高8位二進制代碼轉(zhuǎn)換為2組4位的BCD碼,,例如輸入二進制碼為“00010110”,代表十進制數(shù)為“22”,,輸出 BCD碼為“00100010”對應(yīng)的十進制數(shù)個位,、十位均為“2”和“2”;然后將剩余的低4位二進制代碼轉(zhuǎn)換為4位BCD碼,如輸入二進制碼為 “1110”,,代表10進制數(shù)小數(shù)為“0.875”,,若只取一位小數(shù)位,則取“8”,,其BCD碼可表示為“1000”,。通過三個輸出端口分別輸出十位,、個位和小數(shù)位。

3.png

  對溫度數(shù)據(jù)處理模塊tempture-進行仿真測試,。假定預設(shè)置輸入溫度二進制的代碼為“000101111011”,,則其對應(yīng)十進制數(shù)應(yīng)為:“23.6”。仿真結(jié)果如圖4所示,。

  根據(jù)頂層原理圖,,a[3. 。 0]輸出為溫度數(shù)值的十位數(shù),,b[3..0]輸出為溫度數(shù)值的個位數(shù),,c[3..0]輸出為溫度數(shù)值的小數(shù)位。則仿真圖中,,shi,、fen、ge三位輸出的數(shù)字分別為“2”,、“3”,、“6”,仿真結(jié)果與預測轉(zhuǎn)換結(jié)果一致,。

  3.2 溫度顯示模塊

  設(shè)計采用了4個8段式的LED數(shù)碼管可以動態(tài)顯示溫度的百位,、十位、個位與分位,。下圖為溫度顯示模塊的頂層電路,,由圖可知,模塊由片選模塊,、譯碼轉(zhuǎn)換模塊與計數(shù)器三者組成,。片選模塊主要由一個二進制計數(shù)器和四選一電路組成。

4.png

  當系統(tǒng)工作時,,先將二進制計數(shù)器在clk控制下依次連續(xù)產(chǎn)生4個兩位二進制數(shù)組,,來控制片選模塊選擇性的輸出shi[3..0]、ge[3..0],、fen[3. ,。 0]、bai[3. ,。 0]四路輸入信號中任意的一路,。將選出的這一路輸入信號交給譯碼轉(zhuǎn)換模塊,利用二進制計數(shù)器產(chǎn)生的連續(xù)二進制數(shù)組,,可以控制譯碼器依次輸出對應(yīng)的4位二進制數(shù)組來依次點亮各個LED數(shù)碼管,。最后,可以在LED上顯示出數(shù)字,讀取結(jié)果,。

  對溫度顯示模塊display進行軟件仿真測試,,設(shè)置輸入shi[3..0]、fen[3..0],、ge[3..0]分別是“0100”,、“0011”、“0010”,,則其對應(yīng)10進制數(shù)應(yīng)為“43.2”,。仿真結(jié)果如圖6所示。

5.png

  由仿真示意圖可看出,,片選信號由時鐘信號控制循環(huán)變化,,而對應(yīng)輸出的ledout端也依次輸出shi,fen,,ge,,bai四個端口輸入的數(shù)據(jù),且輸出的是8位LED數(shù)碼管顯示碼,,從圖中可以讀出,,當片選信號為“0111”時,對應(yīng)的輸出信號ledout為“11000000”,,即表示在數(shù)碼管上的顯示為 0,,小數(shù)點不亮,表示百位為0;當片選信號為“1011”時,,對應(yīng)的輸出信號ledout為“10011001”,,在數(shù)碼管上的顯示為4,小數(shù)點不亮,,表示十位為4;當片選信號為“1101”時,對應(yīng)輸出ledout為“10110000”,,在數(shù)碼管上的顯示即為3,,表示個位為3;當片選信號為 “1110”時,對應(yīng)輸出ledout為“00100100”,,在數(shù)碼管上的顯示即為2,,小數(shù)點點亮,表示小數(shù)位為2,。動態(tài)掃描后可知,,數(shù)碼管上顯示的內(nèi)容即為“043.2”。與輸入的數(shù)據(jù)相同,,說明程序編寫正確,,系統(tǒng)運用良好。

  4 測試數(shù)據(jù)

  由表1數(shù)據(jù)顯示,LED數(shù)碼管上顯示的溫度與實際測量的溫度,,從表中可以得出,,兩者近似相等,誤差在0%~0.58%之間,,是可以接受的誤差范圍,。表2是指設(shè)定了所需溫度,記錄溫度變化的過程與實現(xiàn)這一目標所需的時間,。例如第一次中,,我們設(shè)定的溫度為20℃,開始LED上顯示的溫度值為17.5℃,,最后經(jīng)過自動控制系統(tǒng)溫度升高到20.2℃,,這一過程共用時30分鐘。誤差也是存在的,,誤差在1%左右,,也是可以接受的范圍。

6.png

  5 結(jié)束語

  從測試結(jié)果上看,,設(shè)計的主要目的已經(jīng)達到,,系統(tǒng)運行可靠,精度也已達到設(shè)計要求,。但設(shè)計中仍存在一定缺陷,,主要缺陷在于本設(shè)計中所使用的預設(shè)溫度是固化在程序中,一旦系統(tǒng)開始工作,,就不能再更改預設(shè)的溫度,,因此本系統(tǒng)比較適用于不會經(jīng)常變更設(shè)置溫度的場合。變更設(shè)置溫度的場合,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected],。