第1章 緒 論
1.1 研究該課題的背景和意義隨著科技的快速發展,生活檔次在不斷的提高,就不滿足與物質上的需求了,而轉型開始對于生活品質的追求,生活中人體舒適度優良便成了幸福指數之一。而家是人們除工作以外呆的最久的地方,良好的室內氣象條件,比如說室內溫濕度,是能否讓人感到舒適的重要指標之一。溫度過高或者太低、環境過于潮濕或者干燥,都會讓人體感到不適,它間接干擾著人們生活的舒適度與否以及情緒高低。所以就非常需要對室內溫濕度進行監測,方便更好的調控。
傳統的室內溫濕度監測是靠人工手動完成,利用水銀溫度計和濕度計等老舊測量儀器來進行檢測。然而這種方法特別耗費人力而且測量誤差大。同時這種方式也并不能實現溫濕度的實時測量。因此大家需要集成性更高,而且精度高,誤差小的檢測工具來替代傳統的手工方式。
由于現代電子技術的快速發展、新材料也與日懼新,由于人們開始追求數據信號采集的準確性和時效性,因此傳感器和單片機這幾種材料在新時代的需求下凸顯出來。人們把單片機,溫濕度傳感器,顯示器整合在一起,外加必要的輔助電路組成一個全新的溫濕度檢測裝置。因為單片機在系統控制方面有很高的精準性和穩定性,在如今的生活生產里面應用范圍十分寬廣,所以它的作用特別大,在本次課題設計中結合單片機和傳感器的應用,也是對家庭溫濕度檢測裝置開創了一個改革性的顛覆。它有效的達到了人們追求的可靠性,精準性,時效性和便捷性。
1.2 研究該課題的主要內容本次的課題設計主要內容是設計一個基于51單片機的家庭溫濕度檢測裝置。要求該裝置集成性高,操作簡單方便,檢測準確高效,并且方便普通人知曉當下的室內溫濕度。同時要求該裝置有人工設定功能,能夠自由設定溫濕度的上下限范圍,當室內環境溫濕度超過檢測范圍即能實現報警功能,給人們及時的預防和調節。因此要先基于單片機制定課程方案,再配合溫濕度檢測傳感器、LED顯示屏、蜂鳴報警器外加必要的輔助電路,最后編寫程序導入單片機作出實物。要求是給實體檢測裝置通電,就可以對室內的溫濕度進行檢測。
1.3 研究該課題的工作原理本次設計的硬件模塊主要有四個主要部分。它們分別是單片機,主要是用來負責信號分析處理的主控模塊。然后是傳感器,主要是用來對室內溫濕度進行環境信號的采集。還有顯示器模塊,主要是環境數據的顯示以便給人們一個更加直觀的察覺。最后是蜂鳴報警裝置,該裝置主要是用來鳴醒提示當下的溫濕度是否超常。因此該可以設計的主要原理是:首先肯定是傳感器感應然后采集到室內的溫度和濕度,然后把采集信號發發送至單片機控制中心來分析處理,經過單片機處理后的數據信號由發送到顯示屏顯示。同時會在該裝置接入一個外聯報警裝置,人工設定室內溫濕度上下限,實現溫濕度超常報警的功能,值得注意的是噶裝置需要設計兩種報警方式,溫濕度無論哪一種超過上限會報警,低于下限也會報警。本次課題的研究區域清楚明朗,各個部分之間的鏈接也是相對比較簡單。總而言之,本次設計的主要核心在于能有有效的,準確的,便捷的實現室內當下的溫濕度檢測系統,倘若室內的溫濕度超標,則報警器會發出報警提示,來警示人們需要調節控制溫度。
第2章 系統總體方案設計
2.1 設計思路由之前的課題研究主要內容已經知曉這一次的課題研究主體為單片機。它首先通過調控溫濕度傳感器部分來對溫濕度進行環境信號采集處理,接著再把分析此處理后的信號轉化成為數據移交給顯示屏,從而可以直觀看到當前環境下的溫濕度數據。同時如果測量數據超過了給定的上下限蜂鳴器則會提示報警。本次研究的課題中,為了讓整個裝置核簡潔明了,節約成本并且實用。所以核心控制部分采用STC89C52單片機,它工作條件范圍廣,同時運行分析數據速度也很快。同時遵循著簡潔明了的原理,溫濕度傳感器使用DHT11,它集合了溫濕度同時采集的功能,避免了繁瑣的溫濕度單獨采集,同時它自身也有很好的數模轉化功能,它的連接方式也較為簡單,只需要把它直接與單片機相對應的引腳相連即可。顯示屏部分也是如此,選用顯示器1602,它可以直接與單片機引腳連接,因為他的引腳是插針式的。無形中便簡化了很多繁瑣的步驟,例如不需要人工手動焊接。實物制作部分連接板采用的是市場上常見的萬用樹脂板,因此只需將LCD1602顯示器和傳感器連在單片機上即可。如此方便的插拔式部件思維硬件方便實用,假如部分的零部件損壞,比如說,傳感器失靈,顯示屏損壞,不需要更換裝置,只需要把部分損壞部件更換即可。這樣的設計靈活巧便。無形中延長了裝置的使用壽命。非常合理的利用資源節約成本,也遵循了當代社會下的生產工藝要求。本文的主要部分是對該裝置的硬件部分選用原則進行說明論證,同時為了更方便大家的理解,論文后面對分對程序和燒錄進行了詳細說明。
2.2 硬件的選擇和論證2.2.1 單片機的選擇和論證方案一:選擇AT89C51。AT89C51是一種帶4K字節FLASH存儲器的低電壓、高性能CMOS8位微處理器。它具有很多良好的特征,可以反復擦寫數據循環1000次,而且儲存數據可以保留10年,三級程序存儲器鎖定很好的保護了數據的保密性 ,還具有28×8位內部RAM,32可編程I/O線,兩個16位定時器/計數器,可編程串行通道,低功耗的閑置和掉電模式等功能,是大學期間實驗常用的單片機類型
方案二:選擇STC89C52。這個單片機包含了上述AT系列單片機的所有基礎性能,并且在現有性能上有所提升,因此也有了一些不同。首先第一個不同之處是AT89C51不能夠使用ISP燒錄程序,但STC89C52可以用USB轉串口下載程序,方便使用。第二個不同之處在于STC89C52與AT89C51工作對現有環境要求不同,當電壓低于5V時STC89C52可以正常使用,而AT89C51不能正常運行。
因此 比較以上那個兩種單片機,不難發現。就性能要求而言,任何一個單片機的性能都滿足本設計的需求,但是就實驗的方便性,節約性以及簡潔性而言,學校學習單片機課程期間多數用的是STC系列單片機,因此本次課程設計我選用STC89C52。
2.2.2 傳感器的選擇和論證方案一:使用溫濕度獨立測量方式。
溫度檢測部分采用DS18B20傳感器。濕度檢測部分采用HS1100傳感器。DS18B20為數字式傳感器,使用環境介于-55度和125之間,誤差在-0.5攝氏度或+0.5度。而濕度傳感器HS1100的使用環境介于-60度和140度之間,濕度范圍0到100 %RH
方案二: 使用DHT11溫濕度一體式傳感器
DHT11內部自帶模數轉換,收集到外界信號后首先會進行模數轉化,然后把信號發送給單片機,而且這個傳感器結合了溫濕度檢測于一體,很符合實驗的簡潔性。DHT11中的NTC測溫零件是用來檢測溫度的。電阻式感濕零件用來檢測濕度。而且這個傳感器反應快,精確度非常好。
因此,比較上述兩個方案,方案一中單獨測量精度更好,但是會增加設計成品的體型體積,不符合試驗設計的簡便性原則。上述兩種方案中的傳感器精度均滿足本次試驗需求,因此,性價比高,設計精巧,簡潔會更好,所以本設計使用方案二。
2.2.3 顯示器的選擇和論證方案一:應用液晶顯示屏LCD1602。它能夠顯示2行16列32個字符。它組成于一些5x7或5x11的點陣字符位,每個位點陣字符能夠顯示一個字符,有間隔之間的距離,有每行之間的間隔,起到了字符間距和行間距的影響,所以不能夠很好的顯示圖形。
方案二:應用液晶顯示屏12864。它即可以顯示漢字也可以顯示圖形,里面包含了128個字符和64x256點陣顯示RAM。可直接與CPU相連。
比較上面的兩個方案可得,兩方案都能很好的實現本設計的顯示模塊功能。本著性價比原則,由于市面上的12864液晶屏價格都很昂貴,相比而言液晶屏1602的價格比較低廉,故本次設計選用的是1602液晶屏來實現顯示。
第3章 系統硬件設計
3.1 系統總框圖圖2-1 系統總框圖
這一次的設計總體分為四部分,它們分別為單片機,傳感器,顯示器和報警器。
3.2 主控模塊設計3.2.1 STC89C52芯片的簡介單片機STC89C52生產于STC公司,它是基于MCS-51單片機開發的,再經過一系列的改進。所以此單片機即具備了51系列單片機的兼容性,又比51系列單片機更加的靈活,可靠。也因此STC89C52單片機更多的用于嵌入式控制系統中。
基本功能特性:它的I/O口線位數為32,內存為512字節,具有8k字節Flash,里面還有4KB EEPROM,定時器和計數器為3個16位,包含MAX810復位電路,4個外部中斷,一個7向量4級中斷結構,看門狗定時器,全雙工串行口。除此之外,此單片機還有節電模式功能和掉電保護功能。節電模式下只有RAM、串口、中斷和定時計數器繼續工作,其他地方停止工作。掉電保護則是當系統失去供電時,RAM內的內容不會丟失,而是被保存,其他部分則全部停止工作。持續到復位或者下一個中斷為止。
STC89C52單片機的引腳圖如下圖3-1所示:
圖3-1 STC89C52芯片
管腳說明[1]:
VCC:供電電壓。
GND:接地。
P0口:P0口有8個引腳,其為開放電路。每當P1口在首次寫入1時,P0口就被定義為了高阻抗輸入。它能夠被表示為第八位的數據或地址,這是當P0口用作于外部的程序存儲器的時候。P0口通常作為輸入的原代碼在系統編程的時候,當對程序進行檢查的時候,P0則輸出原碼。
P1口:P1口也有8個引腳,它們是雙向的上拉電阻。當P1口輸入為1的時候,它里面被拉高,這時候為輸入作用。相反的它里面被拉低的時候為輸出,這些取決于內部上拉電阻。
P2口:P2口有8個引腳,且它作為其內部的上拉電阻的一個,它不僅僅能夠作為輸入端也能夠作為輸出端。
P3口:P3口是一個雙向口且內部也有一個上拉電阻,它能夠收到4個TTL門電流。用作輸入的時候寫為1。當它的外部下拉為低的時候,將作為輸出。
P3口的一些特殊功能如下表3-1所示:
管腳備選功能[1]:
表3-1 P3口的第二功能
RST:復位輸入。只有恒定RST腳處于高電平才能夠用作復位器件。
ALE/PROG:當系統在編程的時候,該引腳的作用是發送編程脈沖。振蕩器的頻率為1/6,ALE周期正脈沖信號恒定,能夠用于外部的輸出脈沖或計時目的。當它作用于外部數據存儲器的時候,ALE脈沖被跳過,這個引腳會稍微拉高。此外,當微處理器執行外部狀態ALE,則該集合無效。
/PSEN:此引腳的作用主要是用作外面的程序保存器的選擇通道信號。
3.2.2 主控模塊電路原理圖系統起始為傳感器感應采集環境的溫濕度,然后以數字量發給單片機來分析處理,然后再通過單片機發送到顯示屏來實現溫濕度的顯示,同時要連接一個報警系統,通過給定的上下限,實現過限報警功能。
電路原理圖如下圖3-2所示:
圖3-2 STC89C52模塊電路原理圖
3.3 DHT11傳感器模塊設計3.3.1 DHT11傳感器簡介DHT11為一種具備模數轉換功能的傳感器,采集到信號后會先進行處理,將所得到的信號先進行模數轉換,然后再發給單片機。此傳感器集合了溫度采集和濕度采集,是一款復合型傳感器。它里面的NTC測溫元件負責采集溫度。還有一個負責采集濕度的元件電阻式感濕元件。每一個傳感器在出廠前都要經過非常精確的校驗,確認其精度,并且校準后的標準系數會以程序形式存儲與傳感器內部。每次使用時,傳感器都會先調用此程序,校準傳感器讓傳感器處于精準狀態。正是因為如此,DHT11傳感器具有極高的精度,并且性價比也很高。因此現代的工業生產中,涉及溫濕度檢測控制的設備大多都使用此類傳感器。它越來越多的使用與人們的生產生活中。
DHT11實物如下圖3-3所示:
圖3-3 DHT11溫濕度傳感器實物圖
(1)引腳介紹[3]:
Pin1:接電源
Pin2:單總線,數據為串行
Pin3: 空腳,請懸浮。
Pin4:接地端
(2)接口說明 :
電路圖如下圖3-4所示。
圖3-4 DHT11應用電路圖
(3)數據幀的描述[9]:
DATA的作用是連接傳感器與單片機,并保持它們之間的通訊與數據的同步。具體說明如下:
(1)遵循高位先出原則,一次傳輸40bit。
(2)8bi溫度整數數據+8bit溫度小數數據+數據格式為8bit濕度整數數據+8bit濕度小數數據
(3)正常的情況下VDD 為 5伏,T 為25度,特別的情況則不同,特殊電氣特性具體如下表3-2所示[8]:
表3-2 DHT11的電氣特性
(5)時序描述:
首先單片機發送起始信號后,然后傳感器接收起始信號后會從低功耗模式變成高效率模式,然后起始信號過后,傳感器就會響應,然后發送40位的數據且采集一次信號。反之如果并未接收到信號,則傳感器不會采集溫濕度。
通訊過程如圖3-5所示:
圖3-5 DHT11通訊過程圖
電平在總線空閑時,單片機會等待傳感器的響應,總線一定要大于18ms,確保傳感器能測量到信號。當傳感器收到從單片機發送的信號后,等到開始信號結束后,便發送一個80us的低電平響應信號。單片機啟動信號后,等待20到40us后,讀取傳感器的響應信號。此外,單片機信號啟動后,能夠轉換到輸入模式,或高輸出功率、平均總線通過更高的負載電阻。
圖3-6 DHT11信號接收發送過程圖
當總線是低電平的時候,表示此時傳感器發送了響應信號,其中數據位是1或者0決定于高電平的長短。
傳感器0信號的時如下圖3-7所示:
圖3-7數字0信號的表示方法
數字1信號表示方法如下圖3-8所示
圖3-8數字1信號表示方法
3.3.2 DHT11傳感器模塊電路設計由于DHT11傳感器可以直接與STC89C52單片機相連。首先將傳感器的Pin2口與單片機的P2.0口連接,這為數據口,用來數據的接收與發送。然后再將傳感器的Pin1口與單片機的VDD連接,Pin4口需接地。Pin3懸浮放置即可。
原理電路圖如下圖3-9所示:
圖3-9 DHT11電路原理圖
3.4 LCD1602液晶顯示模塊設計3.4.1 LCD1602液晶顯示屏簡介[7]LDC1602液晶顯示屏能夠實現顯示2行16列。它常用于人們的生產生活中,比如常見的計算機,電子表等都有用到液晶顯示屏,它的使用也越來越普遍。而在單片機應用系統中使用它有以下優點:
(1)此顯示屏為數字式,因而它能夠直接連接單片機的引腳,簡單方便。而且它為插針式,更換簡單,實用性強。
(2)傳統的陰極射線管顯示屏需要要不斷的刷新新亮點來顯示,因此顯示屏會閃爍。而液晶屏則避免了這一缺點,它能夠保持色彩和亮度。
(3)相比于傳統的顯示屏,液晶屏的耗電量更少,實用性更高,有效的利用了資源。
(4)液晶屏的結構簡單,因此重量比傳統的顯示屏輕很多,所以在系統中使用時減少了系統的體積,更加合理的利用了系統空間。
LCD1602液晶顯示屏實物圖如下3-10所示:
圖3-10 液晶屏實物圖
(1)引腳說明[3]:
第1腳:接地。
第2腳:接5V的電壓。
第3腳:用來改變顯示屏上的對比度的端口。對比度最強的時候應是接正電源的時候,最弱的時候端口接地。
第4腳:液晶屏的寄存器口,接高電平或低電平時分別作為為數據寄存器或指令寄存器。
第5腳:讀寫信號線口,接高電平或低電平時分別為讀操作或寫操作。
第6腳:E端口稱之為使能端,液晶模塊想要執行命令的前提是要讓E端由高電平轉變到低電平。
第7腳到14腳:雙向數據線。
第15腳:背光源正極。
第16腳:背光源負極。
(2)LCD1602的RAM地址映射及標準字庫表
液晶模塊內部的存儲器是已經存儲有常用的符號、英文字母的大小寫、阿拉伯數字等60個不同點陣字符圖形。相對的代碼對應著相對的字符。顯示屏內部地址顯示如下圖3-11所示[6]:
圖3-11 1602內部顯示地址
當輸入顯示地址的時候需要最高的地址D7要保持在高電平1,因而正確的寫數據應該是01000000 B(40H)+ 10000000 B(80H)= 11000000 B(C0H)。由于它在顯示的時候光標會自動移到最右邊,不需要進行其它的操作。
3.4.2 LCD1602液晶顯示模塊的電路原理圖液晶屏顯示的原理就是給予不同的地方不同的電壓值,來確定是否顯示,有電的地方就顯示,沒電的地方就不會顯示了。這是是否顯示的原理,而顯示屏也有薄厚之別,其中液晶的厚度薄,非常的輕便,向我們生活中用到的液晶電視,電腦顯示屏,數碼相機的屏幕等等都是運用液晶顯示屏實現的。所以它普遍的應用在人們的生產生活中。
1602顯示模塊圖如下圖3-12所示[11]:
圖3-12 1602顯示模塊
3.5 報警模塊3.5.1 蜂鳴器介紹蜂鳴器的原理就是利用電來發聲,采用集成的電聲結構,通以穩定的直流電源即可。它的使用之處更是普遍,像學校的上下課鈴聲,汽車的喇叭,電子手表的響聲等等。
3.5.2 蜂鳴器的工作原理[5]
圖3-13 蜂鳴器工作原理圖
第4章 系統軟件設計
想要構成總的程序模塊,首先要設計出各個子模塊,建立相應的流程圖。然后基于對課題的了解把各個子模塊連接起來。這樣便構成了總的程序模塊。
系統總流程圖如下圖4-1所示:
圖 4-1 主程序流程圖
4.1 1602液晶顯示模塊設計LCD1602液晶顯示模塊流程圖如下4-2所示。首先單片機發送開始信號到顯示屏,顯示屏先初始化,然后調用顯示屏內部的程序,延時后先設置第一行的顯示位置,然后顯示內容。再然后設置第二行顯示位置,顯示第二行內容。
圖4-2 1602液晶顯示模塊程序流程圖
4.2 傳感器模塊設計DHT11溫濕度傳感器模塊的軟件流程圖如下圖4-3所示。首先單片機發送起始信號后,然后傳感器接收起始信號后會從低功耗模式變成高效率模式,然后起始信號過后,傳感器就會響應,然后發送40位的數據且采集一次信號。反之如果并未接收到信號,則傳感器不會采集溫濕度。
圖 4-3 DHT11傳感器模塊程序流程圖
第5章 系統分析與調試
本設計的程序編寫編譯是在Keil軟件中完成的,Keil軟件編程這塊比較簡單易學。在對軟件簡單的學習之后,再結合C語言,就可以開始編程了。編程好了之后就需要對程序進行燒錄,也就是把所編輯的程序下載保存到實物的單片機里面,這就要使用到STC_ISP_V480程序燒錄軟件。使用前要對軟件進行一些設置。首先在頁面中的MCU Type選項中選擇STC89C52。然后打開一個文件名后綴為.hex的文件,這就是我們之前已經編譯好的程序。最后核對COM選項,選擇正確的端口即可。最后點擊下載。它就自行燒錄了[11]。
Keil C程序運行如圖5-1所示
圖5-1 keil C運行圖
圖5-2 程序燒錄運行圖
通過以上步驟,便初步完成了系統程序的編寫、編譯與燒錄。下面要做的就是試用實物了,也就是演示系統是否可行。首先給系統供電,由于之前程序已經燒錄進了單片機,單片機會自動保存程序,所以供電后就可以看見顯示屏上顯示出了當前環境下的溫度和濕度。顯示屏沒有問題了就要測試傳感器模塊和報警模塊是否正常,可以用手輕捏傳感器,發現溫度逐漸上升,所以傳感器模塊沒有問題。再用按鈕把限值調到當前溫度內,發現蜂鳴器報警,所以報警模塊也正常。通過以上的檢查測試,表明了此設計系統可行,實物運行正常。
系統實物如下圖5-3所示:
圖5-3 系統實物圖
如圖中所示,顯示屏第一行顯示的為溫度數值,15表示為當前環境下所測量到的溫度值,H30-L10表示系統所設定的溫度上下限為10度到30度。顯示屏第二行顯示的為濕度數值,67%表示為當前環境下所測量到的濕度值,H90-L10表示系統所設定的濕度上下限為10%到90%。DHT11傳感器為圖中藍色器件。圖左邊圓形黑色器件為蜂鳴報警器。圖中4個報警指示燈,分別代表溫度過高(左紅燈)、溫度過低(左黃燈)、濕度過高(右紅燈)、濕度過高(右黃燈)。圖中三個按鈕的功能,右按鈕為將顯示器光標移動一個位并且閃爍顯示光標;左按鈕為當前光標所在位置的數值加一;中間按鈕為當前光標所在位置的數值減一[14]。
在家庭中應用此系統實物,便能清晰明了的得到當前家庭內的溫濕度數值。且可以根據所在家庭要求的不同,用按鈕調整溫濕度的區間。當系統報警時,也可以清楚的從報警指示燈中看出結果,是溫度過高過低,還是濕度過高過低。從而更準確的進行處理。
第6章 結論與展望
現如今的工業生產中,機械化生產與自動化生產越來越廣泛。工業機器人越來越多的應用與生產生活中,機器人在生產方面有很多強于人類的地方,比如它可以長時間的,不停的重復一道工序而不感到枯燥;它也可以代替人類去完成一些高難度,高危險的工作。所以現代工業生產中機器人的使用越來越多。而機器人的系統中,最基本的一種硬件就是傳感器,各類的傳感器。它用來感應與測量,再將所得的數據發給系統的主控模塊,一般為單片機,來進而控制機器人的運動,這種技術也就是測控技術。這樣的技術極大的改進了傳統的生產生活方式,讓工藝生產更加的高效。
本畢業設計為基于單片機的家庭溫濕度監測系統。設計中以單片機STC89C52為核心模塊,再結合傳感器與液晶顯示屏,便可以很好的實現對當前環境溫濕度的采集與顯示,再配合報警器便可以過限報警。此系統不僅僅可以用在儲物家庭中,還可以用在房間,實驗室,蔬菜大棚等室內系統中。不僅僅如此,本系統還可以擴展延伸,比如加上升溫降溫系統,加濕除濕系統等等。所以本設計還有良好的延伸擴展能力
參考文獻
[1] 徐新艷.單片機原理、應用與實踐[M]. 北京:高等教育出版社,2005.
[2] 陳明熒.8051單片機課程設計實訓教材[M]. 北京:清華大學出版社,2003.
[3] 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應用[M]. 北京:清華大學出版社,2002.
[4] 王千.實用電子電路大全[M]. 電子工業出版社,2001.
[5] 張毅剛.MCS-51單片機應用設計[M]. 哈爾濱工業大學出版社,2004.
[6] 馮博琴.微型計算機原理與接口技術[M]. 北京:清華大學出版社,2004.
[7] 張淑清,姜萬錄等.單片微型計算機接口技術及應用[M]. 國防工業出版社,2003.
[8] 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應用[M]. 北京:清華大學出版社,2001.
[9] 張毅剛.MCS-51單片機應用設計[M]. 哈爾濱工業大學出版社,2004.
[10] 馮博琴.微型計算機原理與接口技術[M]. 清華大學出版社,2004.
[11] 趙亮,侯國銳.單片機C語言編程與實例[M]. 北京:人民郵電出版社,2003.
[12] 王振紅,李洋,郝承祥.ISD4004語音芯片的工作原理及其在智能控制系統中的應用[J]. 電子器件2002年3月第25卷第1期.
[13] ANALOG DEVICES.The technology of AT89C51[EB/OL].White Paper,Spe.28.2000.
[14] R.L.Geiger,P.E.Allen,N.R.Strader.VLSI.Design Techniques for Analog And Digitial Ciruits,McGraw-Hill Inc.1990.

附 錄
附錄A 外文原文
附錄A 外文翻譯基于 USB 接口的溫濕度測量系統設計
Yuchan Xie
摘要:為了擴大使用范圍,本文介紹一種基于USB接口的溫濕度測量方法,將SHT10作為溫濕度數據采集傳感器,并且以溫度補償相對濕度,通過USB接口芯片CH340T把接收到的數據傳輸至PC進行處理,本文從硬件和軟件兩個方面對系統進行了詳細的介紹,實驗表明,這種方式具有良好的測量效果。
關鍵詞:溫度測量 濕度測量 USB 接口
第一章 介紹
隨著社會的發展,溫度和濕度的測量已經在越來越多的工業和農業現場應用 [1, 2]。例如,在食品中,醫藥中煙草等家庭中,溫度和濕度需要實時監測,特別在半導體生產環境中有嚴格的要求,太熱或太濕會導致其性能變差,因此,溫度和濕度需要嚴格檢查和控制。
傳統方法中測量溫度和濕度需要分開測量,而傳感器間的相容性較差,因此測量過程特別容易受到干擾,而且測量電路過于復雜,所以它已經不能滿足現代科學技術發展的需要 [3]。
目前,溫濕度檢測系統與上位機的通信大多通過RS-232串口連接 [4]。
為了適應接口開發的發展,系統采用USB接口,使它既可以作為讀寫磁盤,也可以作為外設系統與PC機進行通信,從而達到理想的智能溫濕度測試要求,而且系統結構簡單,智能度高,測量精度高。
第二章 設計方案
STC89C52芯片作為系統的核心來控制整個系統,如圖1所示。
圖1 系統結構
SHT10作為測量溫度和濕度傳感器,DS1320生成時間信息,液晶顯示屏 LCD1602顯示溫度和濕度值,而且每5s會有一組溫度和濕度數據存儲AT24C02,并通過USB 接口芯片CH340T傳輸到PC,PC可以通過串口協助接收數據。
第三章 硬件設計
STC89C52外圍電路如圖2所示。
圖2 STC89C52外圍電路
3.1 溫濕度傳感器
SHT10通過兩條線路與STC89C52 通信,STC89C52中的P1.3與SHT10依靠DATA連接傳輸數據,而P1.4與SCK連接以生成時間信號,SHT10中的VDD與電源相接,GND接地,SH10和STC89C52之間的連接如圖3所示。
圖3 SHT10與STC89C52之間的連接
內存芯片AT24C02與主控制芯片連接,如圖4所示;AT2402中的地址行是用來確定芯片硬件地址的,它們是接地在系統中的,主控芯片與P2.1通過數據線連接
圖4 AT24C02與控制針連接
模擬數據通過IIC總線傳輸,SCL與P2.0連接,時間信號由主控制芯片生成,WP是接地,允許正常讀寫操作。
Ch340T和STC89C52的串行通信由兩條數據線連接,其中P3.0與TXD連接,P3.1與RXD連接展示在圖5。
圖5 CH340T與主控制銷連接
第四章 軟件設計
4.1 溫濕度測量
與溫濕度傳感器SHT10相關的主要程序包括:書寫部分、讀寫節數、溫濕度測量、溫濕度值變換、溫度補償等, 如圖6所示。
圖6 溫濕度測量流程圖
·信號取樣: 控制引腳開始傳輸時間如圖6所示。當時間信號 SCK 從低電平變為高電平時,數據線就會變低,在下一次SCK變高后,數據波形就會變成為高電平,已完成度量值初始化后,測量過程在測量指令下達后開始執行,測量指令和測量精度根據測量時間不同而不同,當數據再次變低低時,測量結束,當 "數據準備" 完成,讀出信號,如圖7所示;
圖7開始發送溫度和濕度測量的設計
· SHT10 的溫度測量具有良好的線性度。
溫度t可以直接由方程得到:
T =d1 +d2⋅SOT
其中, SHT10是從SHT10的輸出溫度數據,d1和d2是常數,可以通過查找手冊獲得。
·相對濕度可由以下等式獲得:
RH =C1+C2⋅SORH + C3⋅SORH2
其中,SORH是從SHT10輸出濕度數據,C1,C2,和C3是常數,這可以通過查找手冊獲得
·相對濕度的補償如果測量溫度與25°C之間有很大的差異,則濕度值需要通過溫度來校正。補償公式如下所示:
HTRUE=( T°C -25) ⋅ (t1+t2⋅SORH)+RH
T °C 數據是來自SHT10的溫度,其單位是攝氏度,SORH是輸出濕度數據,RH是相對濕度,t1和t2是常數,同樣可以通過查找手冊獲得。
4.2 數據存儲和讀寫
· 儲存過程: 在AT24C02有7行地址代碼,4行高地址代碼是固定的,都是1010。另外3行低代碼,是A2,A1,A0根據他們的水平區分。當主控芯片在書寫時,其 (R/W)引腳設置為0。7行地址碼是通過數據線SDA發送的。在儲存完成后,開始讀寫。
讀寫過程:讀寫時,pin (R/W) 和7地址代碼中的 "0" 在不確定的數據線SDA中發送。在確認該線路中的代碼是其地址信息后,AT24C02 在網上發出響應信號,然后,將第一個地址發送到AT24C02,接下來等待響應信號,當其引腳 (R/W)響應信號為"1",控制芯片發送設備地址到AT24C02。接收到設備響應后, 表示在線上的數據正在讀取。
數據傳輸:測量系統通過CH340T與PC機進行通信傳輸,在 PC上安裝驅動器程序后,串行端口協助可以接收數據,在測量系統和個人計算機之間采取異步通信,為了保證收發端的協調一致, 傳輸裝置和接收裝置具有相同的數據格式和傳輸速度。
它以字節作為異步通信單元.字符之間的時間間隔是任意的,但每個字符中的位都在固定的時間內傳輸,即同一字符中的之間的距離是最小間隔的整數倍。
第五章 仿真實驗
在溫濕度測量系統中,數據采集使用傳感器SHT10,數據在單片機STC89C52中進行處理。溫度、濕度和時間均顯示在LCD1602,數據存儲在AT24C02,并通過 CH340T傳輸到PC,模擬練習是基于EDA仿真軟件。其結果如圖8所示,在 LCD 中,時間信息顯示在上面的行中,度和濕度參數顯示在下面的行中,每5秒都會有一組溫度和濕度數據將存儲在 AT24C02,并由串口協助接收。實驗表明,各模塊在溫濕度測量儀中工作正常,實現了基本功能,實際測試結果如圖9所示;
圖8 仿真結果
圖9真實測試結果
第六章 結論
溫濕度檢測系統由新型的數字集成溫濕度傳感器SHT10、大容量存儲器芯片 AT24C02、方便可靠的 USB接口組成,通過傳輸到PC,根據這些,可以在任何時候無需人工干預即可獲取和保存溫度和濕度,能在許多場合工作,測試系統結構簡單,數據可靠,使用方便。
©出版社柏林海德2016935
Q. Liang et al. (eds.), 2015國際通信、信號處理和系統會議論文集,電氣工程386,DOI10.1007/978-3-662-49831-6_97
附錄B 硬件原理圖
完整的Word格式文檔51黑下載地址(內含源碼與清晰圖片):