基於PICl6F873的數字溫度計設計

admin @ 2014-03-19 , reply:0

概述
基於PICl6F873的數字溫度計設計基於PICl6F873的數字溫度計設計1硬體電路設計由集成溫度感測器AD590和PIC16F873單片機組成的數字溫度計電路,如圖1所示,所測溫度由AD590溫度……
基於PICl6F873的數字溫度計設計

基於PICl6F873的數字溫度計設計

1硬體電路設計

由集成溫度感測器AD590和PIC16F873單片機組成的數字溫度計電路,如圖1所示,所測溫度由AD590溫度感測器檢測,經電壓放大后直接送至單片機輸入口,再將轉換信號送數碼管顯示。



圖 數字式溫度計電路


AD590溫度感測器輸出電流與溫度成線性關係,為1μA/K,它以熱力學溫標零點作為零輸出點,在25℃時的輸出電流為29812μA。它將溫度轉換為相應的電流輸出后,需要有電流電壓轉換電路。一般為提高測量準確度,還需要進行誤差修正調整。而採用硬體電路進行誤差調整的方法是用外部電阻器來實現的,最常用的方法有單點溫度調整和雙點溫度調整。單點溫度調整實質是端點平移的方法,是最簡單的方法。這種方法僅在一點上調整,使得感測器在整個測量範圍上仍有些誤差。因此,在本數字溫度計中我們採用雙點溫度調整。



如圖1所示,雙點溫度調整實質為旋轉和平移擬合法,與單點溫度調整相比,它可以進一步提高AD590溫度感測器的測溫精確度。放大器採用了OP-07單片精密運算放大器,它具有低雜訊、低漂移和高增益的特點,是一種通用性強的運算放大器,電容C4在這裡起濾波的作用。通過R1給AD590感測器提供穩定的電壓,所測溫度由AD590溫度感測器檢測,給電壓放大器提供電壓信號,以供放大。這裡用電位器W1起到調零點的作用,W2起到調增益的作用,通過調整W11和W2,使0℃時輸出電壓定為0V,溫度每升高1℃輸出電壓上升50mV,這樣100%時所對應的輸出電壓即為100%×50mV/℃=5V,這樣就保證了使感測器的輸出電壓範圍滿足PIC16F873內部的ADC輸入信號要求。由手使用10位的ADC,因此其解析度是5mV,精確度為O1℃,測溫範圍為0~100℃。



如圖1所示,電路的另一主要部分為PIC16F873單片機,系統時鐘由4MHz的石英晶體經其內部振蕩器提供,內部ADC的參考電壓分別為VDD和地。測得的模擬溫度值由數據線AN0輸入,由於軟體可以完成解碼,因此不需解碼器,而直接由SDO/RC5輸出串列數據給移位寄存器74LS164(1),74LS164(1)--(4)的并行埠驅動數碼管,74LS164的時鐘脈衝由SCK/RC3提供。74LS164;(1)的A、B接單片機的SDO/RC5,其并行埠驅動百位;R741-S164(2)的A、B接74LS164(1)的Qh,其并行埠驅動十位;74LS164(3)的A、B接74LS164(2)的Qh,其并行埠驅動個位;74LS164(4)的A、B接74LS164(3)的Qh,其并行埠驅動十分位。小數點和“℃”符號分別直接經限流電阻R27、R34接電源。表1給出了五個溫度值所對應的AD590輸出和BCD碼。



2軟體設計



溫度測量原理如下:首先由PIC16F873內部的10位ADC將感測器AD590輸出的與實際溫度相對應的電壓值轉化為10位的二進位碼,然後由二-BCD碼轉換子程序將其轉換成相應的BCD碼,再由解碼子程序將該BCD碼轉換為7段碼,最後由顯示子程序送出串列數據,通過LED顯示。在圖2中給出了該溫度計的流程圖。本程序中延時1秒的作用是每秒鐘採樣、顯示一次所測溫度,這樣既消除了數碼管的閃爍感,也能動態顯示所測溫度。



結束語



本文所介紹的數字式溫度計充分利用了PIC單片機內部的A/D轉換器、FLASH存儲器和串列外圍介面(SPI),並結合軟體完成對溫度的測量與數字顯示,簡單實用。經過簡單改造,可以實現多路溫度測量。



 





[admin via 研發互助社區 ] 基於PICl6F873的數字溫度計設計已經有1799次圍觀

http://cocdig.com/docs/show-post-39640.html