基于FPGA的溫度控制器設計
摘要 介紹了一種基于FPGA的溫度控制系統設計。可編程器件FPGA和硬件描述語言VHDL的出現使得數字電路的設計周期縮短、難度減小。系統采用FPGA作為核心控制器件進行編程,設計采用模塊化思路分別實現溫度檢測、鍵輸入、溫度顯示和控制模塊,再加以整合實現整個系統,達到了溫度控制的目的。
關鍵詞 溫度控制;FPGA;VHDL
隨著人們生活水平的不斷提高,溫度控制系統被廣泛應用。對于溫度控制器,可以通過繼電器、PLC、單片機以及專用工控機等方法實現,繼電器具有零電壓導通、零電流關斷、噪音小、耐腐蝕、抗干擾、壽命長、體積小,以微小的控制信號直接驅動大電流負載等優點。但也存在通態壓降,需要散熱措施,有輸出漏電流,交直流不能通用,觸點組數少、成本高等缺點。PLC主要應用于電力工業控制領域,或整條流水線的控制;相對單片機的功耗大,但性能較穩定;單片機適用實時工業控制,相對微機價格較低,可編程性和可擴展性較強;專用工控機配置硬盤容量小、數據安全性低且存儲選擇性小。
由于體積、成本、操作等因素的限制,對于這些控制方法功能修改和調試都需要硬件電路的支持,在一定程度上增加了功能修改及系統調試的困難。
電子技術的發展,FPGA(Field Programmable GateArray)可編程技術的出現給現代工業控制的測控領域帶來了一次新的“技術革命”,它具有數百萬的邏輯門,可用于實現復雜的功能。
FPGA作為溫度控制器的主控部分可以使系統的器件數目減少,具有設計靈活、現場可編程、調試簡單和體積小等特點,具有更高的性價比。
1 溫度采集器的原理
實現溫度采集有多種方法,例如用傳統的二位模擬控制方法選用模擬電路,用電位器設定固定值,經采樣放大的信號將反饋的溫度值與給定的溫度值比較后,根據比較結果控制當前溫度顯示,以確定加熱或者不加熱。其特點是電路簡單、易于實現。但是系統所得結果的精度不高且調節動作頻繁、系統不穩定,受環統的控制及對溫度的顯示,人機交換性能差。而且選用模擬電路將反饋的溫度值與給定的溫度值比較決定是否加熱,從輸入采樣到輸出控制的各種誤差產生因素較多,精度難以達到要求。另一種方法是采用EDA對系統進行智能化控制,采用FPGA芯片為核心控制器,使用溫度傳感器ADS90采集溫度變化信號,并通過FPGA芯片處理后去控制溫度使其達到穩定。該方法具有編程靈活、控制簡單的優點,使系統能簡單實現溫度的控制及顯示。文中采用FPGA實現溫度采集,其結構圖如圖1所示,FPGA具有運行速度快,內部集成鎖相環且能將外部晶振倍頻到更高頻率,其管腳多,易實現大規模系統,FPGA內部程序可并行運行,有處理更復雜功能的能力。
溫度傳感器模塊采用溫度傳感器ADS90。ADS90具有體積小、質量輕、線性度好、性能穩定的優點。其測量范圍在-50~+150℃,滿刻度范圍誤差為±0.01℃,其性能可滿足此系統的設計要求。另外ADS90為溫度/電流傳感器,對于提高系統抗干擾能力有較大幫助。
加熱控制部分采用繼電器作為控制,使用繼電器易實現對電路的控制,在正常條件下,工作可靠。繼電器無需外加電耦,自身即可實現電氣隔離。該類型電路無法精確實現電熱絲功率控制,電熱絲只能工作在最大功率或零功率,對控制精度將造成影響。但可以多路加熱絲功率控制,由FPGA芯片對溫差的處理實現分級功率控制,提高系統動態性能。
采用兩位LED七段數碼管分別顯示十位、個位,數碼管具有低能耗、低損耗、低壓、壽命長、耐老化、對外界環境要求低等優點,另外數碼管采用BED編碼顯示數字,編程容易,資源占用少。
2 系統硬件設計
該硬件系統中包含的功能模塊有FPGA芯片、溫度傳感器、電源、ADC0809、七段數碼管、繼電器和加熱器。
2.1 溫度傳感器
溫度傳感器分為熱電阻溫度傳感器、熱電偶溫度傳感器、輻射溫度計和光纖溫度傳感器等。在設計中采用熱電偶溫度傳感器ADS90,其功能單一、測溫誤差小、價格低、響應速度快、傳輸距離遠、體積小、微功耗,適合遠距離測溫、控溫,不需要進行非線性校準。
AD590溫度傳感器的感測能力是溫度每升高1 K就增加1 μA的電流,該電流流入10 kΩ電阻后,將產生0.01 K(0.01 V)的電壓。而0℃(273 K)時,數尺電壓值時273μA,經過I\V轉換后,將產生2.73 V的電壓。如果測到的電壓是Xvs時,則可由(X-273)\0.01得到要測的溫度。溫度傳感器ADS90的輸出經過放大器后,將電壓引入ADC0809的Vin(+)的管腳。
2.2 A/D轉換器
ADC0809是CMOS的8位模/數轉換器,采用逐次逼近原理進行A/D轉換,芯片內有模擬多路轉換開關和A/D轉換兩大部分,可對8路0~5 V的輸入模擬電壓信號分時進行轉換。具體控制狀態如下:
當CS和WR同時為高電平時,ADC0809開始轉換,當轉換完成后,在INT腳輸出高電平,等待讀數據;
當CS和RD同時為高電平時,通過數據總線D[7…0]從ADC0809讀出數據。
當CS=1、WR=1、RD=0時,由控制器發出的信號要求ADC0809開始進行模/數信號的轉換。
當CS=0、WR=0、RD=0時,ADC0809進行轉換動作,轉換完畢后INT將低電位升至高電位。
當CS=1、WR=0、RD=1時,由控制器發出信號以讀取ADC0809的轉換資料。
當CS=0、WR=0、RD=0時,由控制器讀取數據總線上的數字轉換資料。
fpga相關文章:fpga是什么
電流變送器相關文章:電流變送器原理 電流傳感器相關文章:電流傳感器原理 晶振相關文章:晶振原理 鎖相環相關文章:鎖相環原理 溫濕度控制器相關文章:溫濕度控制器原理 熱電偶相關文章:熱電偶原理
評論