張東輝 劉春東
(河北建筑工程學(xué)院機(jī)械工程學(xué)院,河北 張家口 075000)
無論在實(shí)際生產(chǎn)還是人們?nèi)粘I钪?,都?jīng)常會(huì)遇到進(jìn)行溫濕度檢測(cè)的場(chǎng)合,比如:研究表明糧倉(cāng)需要維持一定的溫濕度才能確保糧食的品質(zhì),室內(nèi)家居需要維持一定的溫濕度,人們才會(huì)感覺更舒適.由此可見,快速有效的對(duì)溫濕度進(jìn)行監(jiān)測(cè)對(duì)實(shí)際生產(chǎn)生活具有重要意義.因此,本文設(shè)計(jì)并開發(fā)了一款使用方便、價(jià)格合適的室內(nèi)溫濕度檢測(cè)儀.
該檢測(cè)儀要能夠采集實(shí)際環(huán)境的溫度和濕度,并能通過LCD1602液晶顯示屏進(jìn)行實(shí)時(shí)顯示.環(huán)境的溫度和濕度可以通過傳感器DHT11進(jìn)行采集,DHT11是全數(shù)字型溫濕度傳感器,DHT11攝氏溫度測(cè)量范圍:0~50 ℃,攝氏溫度測(cè)量精度:±1~±2 ℃,其濕度測(cè)量范圍在20%RH—95%RH[1],它可以滿足一般環(huán)境溫濕度監(jiān)測(cè)的需求.溫濕度的顯示采用LCD1602,該顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn)[2].DHT11傳感器是單總線器件,其數(shù)據(jù)不能直接送往LCD1602進(jìn)行顯示,需要通過單片機(jī)對(duì)傳感器送來的數(shù)據(jù)進(jìn)行計(jì)算處理,而且LCD1602的顯示也需要單片機(jī)進(jìn)行初始化、顯示控制等.因此,該檢測(cè)儀以單片機(jī)為核心,由于STC89C52RC單片機(jī)具有較高的性價(jià)比,所以采用STC89C52RC單片機(jī)作為溫濕度檢測(cè)儀的主控芯片,供電方式采用USB供電.具體所需要的所有元件見表1所示.
溫濕度檢測(cè)儀由STC89C52RC單片機(jī)及最小系統(tǒng)、溫濕度傳感器電路、顯示電路及供電電路等主要部分組成.溫濕度檢測(cè)采用DHT11傳感器,單片機(jī)在軟件程序控制下讀取DHT11的溫濕度數(shù)據(jù),并且對(duì)數(shù)據(jù)進(jìn)行計(jì)算處理得到實(shí)際溫度和濕度,送往LCD1602液晶屏進(jìn)行顯示.溫濕度檢測(cè)儀的系統(tǒng)整體框圖如圖1所示.
表1 溫濕度檢測(cè)儀所需元件清單
圖1 系統(tǒng)整體框圖
立創(chuàng)EDA是一個(gè)基于云端平臺(tái)的電路設(shè)計(jì)工具,聯(lián)網(wǎng)即用,2019年7月推出離線版,立創(chuàng)EDA的設(shè)計(jì)操作界面簡(jiǎn)潔,操作步驟簡(jiǎn)單[3].圖2為基于立創(chuàng)EDA設(shè)計(jì)的溫濕度檢測(cè)儀的電路原理圖.電路原理圖采用模塊化設(shè)計(jì),包括八個(gè)模塊,分別用M1、M2、…M8表示,采用模塊化設(shè)計(jì)使得電路更簡(jiǎn)潔,其中M1模塊為晶振電路,為單片機(jī)提供工作所需要的時(shí)鐘;M2模塊為復(fù)位電路,當(dāng)單片機(jī)上電瞬間,通過對(duì)電容充電在RST引腳上產(chǎn)生高電平使單片機(jī)復(fù)位,在單片機(jī)啟動(dòng)之后可以通過按鍵K4對(duì)單片機(jī)進(jìn)行復(fù)位;M3模塊為主控芯片單片機(jī),STC89C52RC單片機(jī)共有40根引腳,其中電源引腳2根,分別為VCC和GND;控制引腳4根,使用片內(nèi)ROM,因此EA引腳接高電平;IO引腳共32根,用于單片機(jī)的輸入和輸出;;M4模塊LCD1602顯示模塊,LCD1602的引腳有16根,對(duì)溫濕度信息進(jìn)行顯示;M5為溫濕度傳感器模塊,DHT11有4根引腳,分別是VCC、GND、IO和NC,NC懸空即可,I/O需要外接5k的上拉電阻,M6為供電接口,SW1為電源開關(guān);M7為電源指示燈,接通電源即SW1按下時(shí),LED1點(diǎn)亮,M8為單片機(jī)程序下載接口,通過下載器與J1端子相連,在STC-ISP軟件配合下,將Hex文件燒錄到單片機(jī).
圖2 溫濕度檢測(cè)儀電路原理圖
在已經(jīng)完成電路圖的基礎(chǔ)上,將電路圖轉(zhuǎn)PCB,在轉(zhuǎn)PCB之前需要進(jìn)行原理圖檢查,通過原理圖轉(zhuǎn)PCB會(huì)把元件導(dǎo)入到PCB中,然后調(diào)整元件位置,合理布局,最后進(jìn)行布線,立創(chuàng)EDA可以進(jìn)行手動(dòng)布線,也可以進(jìn)行自動(dòng)布線.該P(yáng)CB采用先自動(dòng)布線再手動(dòng)局部調(diào)整的方式布線,布線完成之后會(huì)出現(xiàn)一個(gè)布線完成對(duì)話框,顯示布線完成如圖3所示,布線失敗數(shù)為0,說明布線成功,自動(dòng)布線之后LCD1602液晶顯示器與單片機(jī)引腳的連線間距過小,可以進(jìn)行手動(dòng)調(diào)整,結(jié)果如圖4所示,接下來對(duì)VCC和GND網(wǎng)絡(luò)進(jìn)行敷銅.
圖3 布線完成對(duì)話框圖 圖4 PCB自動(dòng)布線手動(dòng)調(diào)整
立創(chuàng)EDA軟件支持PCB的2D預(yù)覽與3D模型預(yù)覽,設(shè)計(jì)完成PCB后,可以通過2D預(yù)覽查看PCB圖樣,通過3D模型直觀的觀察所設(shè)計(jì)產(chǎn)品的元件布局及外型,通過觀察其3D模型,可以發(fā)現(xiàn)PCB設(shè)計(jì)中存在的一些問題,比如元器件的布局是否合理等.
Gerber文件是一種符合EIA標(biāo)準(zhǔn)的,有GerberScientific公司定義為用于驅(qū)動(dòng)光繪機(jī)的文件.PCB打樣廠用Gerber文件制作PCB.PCB設(shè)計(jì)好之后生成Gerber文件,即可交由工廠生產(chǎn)PCB電路板,可以在PCB板上加上自己的LOGO或標(biāo)注.
溫濕度檢測(cè)儀中的DHT11和LCD1602液晶顯示器是需要一定的時(shí)序才能進(jìn)行讀取溫濕度和顯示的,因此需要根據(jù)各器件的時(shí)序編寫其單片機(jī)程序,采用多文件的編程方式,包括主程序main.c、DHT11_LCD1602.c和頭文件DTH11_LCD1602.h,便于程序調(diào)試尋找錯(cuò)誤和后期移植.在主程序main.c中,通過文件包含將所采用的單片機(jī)的頭文件和自定義頭文件包含進(jìn)來,定義LCD1602的顯示數(shù)組,LCD1602_Init()、LCD_Delay()、DHT11_delay_ms()、DHT11_Receive_All()、LCD1602_Display()為自定義函數(shù)調(diào)用,函數(shù)具體實(shí)現(xiàn)在DHT11_L CD1602.c中.主程序如下:
#include"reg52.h"
#include"DTH11_LCD1602.h"
unchar code LcdData[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
void main()
{
LCD1602_Init(); //初始化LCD
LCD_Delay(10);
while(1)
{
DHT11_delay_ms(1500); //DHT11上電后要等待1S以越過不穩(wěn)定狀態(tài)
DHT11_Receive_All();
LCD1602_Display();
}
}
程序采用C51語言進(jìn)行編寫程序,通過Keil進(jìn)行程序編寫及調(diào)試,然后生成單片機(jī)需要的Hex文件,如圖5所示,Keil編譯顯示0錯(cuò)誤、生成hex文件.
圖5 Keil編譯無錯(cuò)誤界面
首先進(jìn)行實(shí)物焊接,根據(jù)電路原理圖和元器件清單將元器件焊接在PCB電路板上,然后通過下載器和PCB板上的下載電路,將Keil生成的Hex文件下載到單片機(jī)里,觀察顯示結(jié)果.經(jīng)過反復(fù)調(diào)試和修改程序,最終得到正確的顯示效果,如圖6所示.LCD1602第一行顯示濕度,第二行顯示溫度.如果改變環(huán)境的溫濕度,LCD1602顯示也會(huì)隨著發(fā)生改變,進(jìn)行實(shí)時(shí)顯示.
圖6 溫濕度顯示
在調(diào)試過程中遇到兩個(gè)問題,一個(gè)是LCD不顯示,經(jīng)過改變可調(diào)電阻的值,使得液晶屏的亮度發(fā)生變化,從而能夠進(jìn)行顯示;另一個(gè)問題是只顯示第一行,通過調(diào)整程序當(dāng)中LCD1602的初始化過程,完美解決了在調(diào)試過程中出現(xiàn)的問題.
經(jīng)過方案設(shè)計(jì)、電路原理圖設(shè)計(jì)及PCB打板、焊接、編程等過程,開發(fā)出一款性價(jià)比較高的溫濕度檢測(cè)儀,能夠進(jìn)行常規(guī)的檢測(cè),適用于一般需求,和市面上現(xiàn)有產(chǎn)品相比具有體積小、檢測(cè)方便等有點(diǎn),但成本造價(jià)有些偏高.該檢測(cè)儀仍有以下需要改進(jìn)和完善的地方:(1)元件位置的布置和LCD162配套的可調(diào)電阻的位置如果不被LCD1602遮擋,那么調(diào)整LCD1602的亮度會(huì)方便;(2)單片機(jī)若是橫著擺放,會(huì)節(jié)省一定的空間,可以進(jìn)一步降低PCB的成本,同時(shí)產(chǎn)品體積更小.(3)不便于擴(kuò)展:該檢測(cè)儀沒有預(yù)留出接口,單片機(jī)的IO口還有多個(gè)空閑,在PCB設(shè)計(jì)的時(shí)候沒有引出來,對(duì)于后續(xù)擴(kuò)展帶來不便.
河北建筑工程學(xué)院學(xué)報(bào)2021年4期