關鍵詞:AD7416;雞舍溫度控制器;測量;保存;報警
中圖分類號: TP277 文獻標識碼:A 文章編號:1674-0432(2011)-04-0278-2
0 引言
隨著科學技術的飛速發展,現代化養雞對溫度控制要求也越來越高。而傳統的測溫電路,其精度比較低,外圍電路也比較復雜,要求工人工作主動性比較高,智能性較差,同時需要進行溫度的校準、補償,并且體積較大,使用不方便,在很大程度上影響了現代化養雞現場溫度控制的實際需要。為滿足現代化養雞的需要,設計出數字溫度測量、保存、控制溫度系統已經是很迫切的問題之一。
1 總體方案設計
溫度檢測系統有其共同的特點:環境復雜、布線分散、現場離監控室較遠等。若采用一般溫度傳感器采集信號,則需要設計信號調理電路、A/D轉換及相應的接口電路,才能把傳感器輸出模擬信號轉換成數字信號送到計算機去處理。然而,由于雞舍環境比較復雜,各種因素會造成檢測系統較大的偏差;信號傳輸距離遠及各種干擾影響,會使檢測系統的穩定性和可靠性下降。那么如何解決現代化養雞舍的這些問題,就成為了本系統設計的難點和重點。
1.1 方案選擇
設計方案一:利用DS18B20和單片機完成實時溫度檢測系統的設計。
DS18B20是美國DALLAS公司生產的一線式數字式溫度計芯片,它具有結構簡單,不需外接元件,采用一根I/O數據線既可供電又可傳輸數據、并可由用戶設置溫度報警界限等特點,可廣泛用于食品庫、冷庫、糧庫等需要控制溫度的地方。但是在惡劣的環境下其受到的影響較大,出現檢測精度不高,容易受到干擾的毛病。
設計方案二:利用AD7416和單片機完成實時溫度檢測系統的設計。
在溫度測量系統中,傳統的測溫方法是將模擬信號遠距離采樣后進行AD轉換,而為了獲得較高的測溫精度,就必須采取措施解決由長線傳輸,多點測量切換及放大電路零點漂移等造成的誤差補償問題。采用數字溫度芯片AD7416進行溫度測量,輸出信號全數字化,便于單片機處理及控制,省去傳統的測溫方法的很多外圍電路。切該芯片的物理化學性質很穩定,能用作工業測溫元件。AD7416的最大特點之一,就是采用了I2C總線進行數據傳輸,由數字溫度測量芯片AD7416和AT89C51構成的溫度測量裝置,直接輸出數字信號。這樣,測溫系統的結構就比較簡單,輕松組建傳感器網絡。
綜上所述,選擇設計方案二。
2 溫度控制器系統硬件設計與實現
2.1 AD7416的概述及應用
AD7416是美國模擬器件公司(ADI)出品的單機溫度監控系統集成電路,其內部包括溫度傳感器和10位模數轉換器,可將感應溫度轉換為0.25℃,量化間隔的數字信號。用數字溫度傳感器AD7416設計各種控制系統,體積小、功耗低、編程簡單操作方便。芯片帶有自動比較、可編程控制輸出端OTI,另外,AD7416功耗低,可以編程控制工作與休眠狀態的切換,在低功耗系統設計中也有廣泛應用。
該設計用到的溫堪檢測芯片為 AD7416。AD7416是美國模擬器件公司(ADI)出品的單機溫度監控系統集成電路,其內部包含有帶隙溫度傳感器和10位模數傳感器,具有8引腳SO-8和RM-8封裝形式。測溫分辨率可達0.25℃可以進行高/低溫度門限的設置,具有l2C總線接口等特點,是LM75的升級替代產品。
AD7416 可進行該多級聯8片芯片,組成多回路溫度檢測系統。測量溫度范圍為-55℃~+125℃?,F場溫度直接以數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量,如:環境控制、設備過程控制、測溫類消費電子產品等。
2.2 AD7416接口應用
系統中AD7416部分硬件原理圖如圖1所示,A2、A1、A0接低電平,在八位地址中,高四位為1001表示選中7416,次三位為A2、A1、A0表示的地址,最低位表示讀寫,所以應用中AD7416 的寫地址為10010010B,讀地址為10010011B。本例中僅使用AD7416進行測量溫度,OTI懸空,沒有利用。串行時鐘、數據總線對應連接處理器的時鐘、數據總線端口。
2.3 主控電路設計
本系統選用STC89C51,可以代替AT89C51,功能更強,速度更快,壽命更長,價格更低。外型:40個引腳,雙列直插DIP-40。STC89C51可以完成ISP在線編程功能,而AT89C51則不能。STC推出的系列51單片機芯片是全面兼容其他51單片機的,而51單片機是主流大軍,每一個高等院校、普通學校、網站、業余單片機培訓都是以51單片機為入門教材的,所以,教材最多,例子最多。STC89C51內部有EEPROM,可以在程序中修改,斷電不丟失。還增加了兩級中斷優先級,等等。
2.4 報警硬件電路設計
任何系統在設計時,都必須考慮到系統不能按照人們預期的模式工作時,怎樣才能提醒操作人員。通常情況下設計者會考慮使用蜂鳴器或者發光二極管,該設計采用發光二極管來提示操作人員,系統采集到的實時溫度已超出所設定的高低溫門限值系統報警電路圖。
當系統正常工作時,LED3被點亮,說明AD716采集到的實時溫度在高低門限值之間。
當溫度采集芯片AD7416采集到的實時溫度超出程序所設定的高溫門限時,LEDI被點亮,蜂鳴器響起,提醒雞舍工作人員超出設定溫度,需要開啟風機。
當溫度采集芯片AD7416采集到的實時度超出程序所設的低門限值時,LED2被點亮,蜂鳴器響起,提醒雞舍工作人員超出設定溫度,需要給爐子加煤提高雞舍內溫度。
3 溫度控制器系統軟件設計與實現
單片機的程序設計有其自身的特點.。在單片機系統中,硬件與軟件緊密結合,由于硬件電路的設計不具有通用性,所以必須根據具體的硬件電路來設計對應的軟件,硬件設計的優劣直接影響到軟件設計的難易,軟件設計的優劣又直接影響到硬件的發揮。在很多時候,軟件可以替代硬件的功能,當然,需要付出額外占用CPU時間的代價。
軟件程序的設計是根據硬件電路圈的連接和各個元器件的功能進行設計。編寫軟件時,可以根據各個程序的功能將軟件細分為各個功能模塊,再通過主程序的調用來實現整個軟件系統。該設計按整體功能可分成多個不同的模塊,有主程序、定時器中斷服務子程序、溫度采樣子程序、顯示子程序等模塊。然后將各個模塊裝配聯調,組成完整的軟件。
3.1 主程序部分
該軟件設計的主要思想是首先把溫度傳感器采集出來的模擬信號轉換為數字信號,然后再將該數信號送往8位7段LED 進行顯示。根據硬件電路圖的連接和各個元器件的功能進行系統流程圖的設計,首先我們要解決的是系統主流程圖的設計,下面就對系統主程序進行詳細介紹。
單片機上電復位后,首先進行系統初始化,如對定時器T0、數字溫度芯片AD741進行初始化。初始化完成后,調用顯示子程序進行顯示;調用鍵盤掃描子程序判斷是否有按鍵按下;判斷10秒定時標志位是否置位,未置位則繼續顯示當前溫度值;置位則調用溫度采樣子程序進行溫段采集和數據處理,同時將10秒定時標志位清零。
STC89S51芯片內含有兩個可編程定時器/計數器,分別稱為定時器/計數器 0和定時器/計數器1。它們都是16位加法計數器結構,分別由THo(地址8CH)和TLo (8AH)及THI(8DH)和TLI(8DH)兩個8位計數器組成。這四個計數器屬專業計數器之列。
定時功能是通過計數器的計數來實現的,定時器的計數脈沖來自單片機的內部,即每個機器周期產生一個計數脈沖,也就是每個機器周期定時器加1,而一個機器周期等于12個振蕩脈沖周期。所以,定時器的計數頻率為晶振頻率的1/12。以l2MHz為例,計數頻率為lMHz, 即每微秒計數器加1。
程序如下:
void t0_int() interrupt 1 using 1
{ TH0 = def_th0;
TL0 = def_tl0;
t1ms_cnt1++;
dis_cnt++;
readdata_time++;
………………………….
3.3 用戶使用
根據雞舍溫度的環境需要,用戶可以通過控制器的按鍵對一些參數進行調節,如采樣時間,高低溫報警溫度等。雞舍溫度控制器通過設置好的參數實現現場采集溫度,保存溫度實現了對雞舍溫度的監測,控制。
4 結束語
本課題研究的根本思想是硬件電路的搭建和軟件的編程思想,由理論來指導實踐.并從實踐中完善理論。本次設計以數字溫度芯片AD7416和單片機STC89C51構成數字溫度測量系統,以數字溫度芯片的高集成化來簡化系統的復雜性;以單片機較強的處理問題的能力來優化系統的快速性,從而使得其應用領域也在迅速擴大。
通過對系統的深入認識后,可以知道溫度測量裝置性能的優劣 要取決于采用的傳感器元件和處理電路的性能。過去多采用單片的溫度傳感器,例如Pt100、AD590,這些芯片不僅體積大,而且輸出的信號都是模擬信號,必須要經過A/D轉換后才可以被處理器識別。而且沒有數字通信和網絡功能。這使得溫度測量系統的硬件結構比較復雜。而AD7416智能數字溫度傳感器稱積小、數字化、精度高、接線簡單,可以在多種溫度測量場合代替傳統的溫度傳感器,因此采用數字溫度傳感器AD7416和處理芯片STC89S51具有良好的技術指標,從而實現對雞舍溫度的采樣、處理及控制。
