單片機(jī)開發(fā)
- 首頁 >> 電子技術(shù) >> 單片機(jī)開發(fā)
溫濕度記錄儀單片機(jī)
基于單片機(jī)的溫濕度記錄儀的設(shè)計(jì)
溫度和濕度一直是環(huán)境監(jiān)測領(lǐng)域的兩個最基本、重要的參數(shù),對這兩個參數(shù)進(jìn)行測量、監(jiān)視、記錄的設(shè)備也是各種各樣。本文設(shè)計(jì)了一種基于AVR單片機(jī)的溫濕度記錄儀。該記錄儀使用紅外遙控器對記錄儀進(jìn)行參數(shù)設(shè)置、控制,可以實(shí)時測量環(huán)境溫度和濕度,并且進(jìn)行本地存儲、顯示,測量的歷史數(shù)據(jù)還可以利用單片機(jī)的串行口傳送至上位機(jī),利用上位機(jī)進(jìn)行監(jiān)測。
一、溫濕度記錄儀系統(tǒng)組成及基本原理
該記錄儀實(shí)現(xiàn)以下功能:進(jìn)行溫濕度數(shù)據(jù)的采集、記錄和顯示;利用遙控器進(jìn)行系統(tǒng)初始時間的設(shè)置;自助選擇溫濕度數(shù)據(jù)采集的時間間隔;將本地記錄的歷史數(shù)據(jù)傳送至上位機(jī)PC端;使用遙控器可以控制顯示當(dāng)前實(shí)時的溫濕度數(shù)據(jù)或多屏查看歷史記錄數(shù)據(jù)等。本文設(shè)計(jì)的溫濕度記錄儀用單片機(jī)作為控制核心,由溫濕度采集模塊、時鐘模塊、顯示模塊、紅外發(fā)送接收模塊、串行通信模塊、電源模塊等組成,其結(jié)構(gòu)圖如圖1所示。溫濕度采集模塊采集環(huán)境的溫度和濕度數(shù)據(jù),并將它們轉(zhuǎn)換為數(shù)字量,提供給單片機(jī)進(jìn)行處理。時鐘模塊為整個記錄儀提供精確、詳細(xì)的年、月、日、時、分秒等時間信息,并在系統(tǒng)掉電時能自動啟用后備電源為此模塊供電。顯示模塊進(jìn)行本地實(shí)時溫濕度數(shù)據(jù)的顯示、歷史記錄數(shù)據(jù)的顯示等。紅外接收模塊與紅外遙控器配合,對記錄儀進(jìn)行參數(shù)設(shè)置、參數(shù)修改,記錄儀運(yùn)行過程中對顯示器顯示內(nèi)容進(jìn)行更換等功能。串行通信模塊負(fù)責(zé)將記錄儀上記錄的歷史數(shù)據(jù)傳送至上位PC機(jī)。電源模塊為整個記錄儀供電。
二、溫濕度記錄系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件主要采用高性能AVR單片機(jī)ATmega16,數(shù)字溫濕度傳感器SHT10,時鐘芯片PCF8563,點(diǎn)陣式LCD顯示模塊12864和紅外接收器VS1838等器件。
2.1單片機(jī)ATmega16介紹
高可靠性、功能強(qiáng)、高速、低功耗和低價位等性能,一直是衡量單片機(jī)的重要指標(biāo),也是單片機(jī)占領(lǐng)市場,賴以生存的必要條件。本系統(tǒng)中,采用了高性能,低功耗的8位單片機(jī)ATmega16。
ATmega16功能齊全,外圍接口豐富,具有2個8位、1個16位定時/計(jì)數(shù)器,8路10位AD轉(zhuǎn)換器,4通道PWM,2個可編程的串行USART,共有32個可編程的I/O接口。片內(nèi)具有16KB的系統(tǒng)內(nèi)可編程Flash,1KB的片內(nèi)SRAM,512字節(jié)的EEPROM。具有空閑、ADC噪聲抑制、省電、掉電、待機(jī)等多達(dá)6種休眠模式。因ATmega16使用哈弗結(jié)構(gòu)、全靜態(tài)工作、以字作為指令長度單位、精簡指令集,其大多數(shù)指令在一個時鐘周期內(nèi)完成,故其數(shù)據(jù)吞吐率很高,工作于16MHz時性能高達(dá)16MIPS,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16共有131條指令和32個8位通用寄存器,所有寄存器都直接與算邏單元相連,使得一條指令在一個時鐘周期可以同時訪問兩個寄存器,大大提高代碼效率,可以很好的進(jìn)行數(shù)據(jù)傳送以及溫度采集。
2.2溫濕度采集模塊
溫度、濕度的測量使用集成式數(shù)字溫濕度傳感器SHT10。SHT10將溫度濕度感測、信號變換、AD轉(zhuǎn)換器等功能集成到一個芯片上,提供兩線數(shù)字串行接口SCK和DATA,支持CRC傳輸校驗(yàn),測量精度可編程調(diào)節(jié),提供具有溫度補(bǔ)償?shù)臏囟葴y量值,測量和通信結(jié)束后,自動轉(zhuǎn)入低功耗模式,測量時可將感測頭完全浸入水中。本記錄儀設(shè)計(jì)時溫度使用14b分辨率,量程范圍:
-400C~990C,測量精度:±0.50C,分辨率0.01 0C;濕度使用12b分辨率,量程范圍:0~99%RH,測量精度:±4.5%RH,分辨率0.03%RH。電路設(shè)計(jì)時將SHT10的SCK、DATA引腳分別接ATmega16的PC7、PC6引腳,由ATmega16給SHT10提供時鐘信號,DATA引腳用于兩者進(jìn)行數(shù)據(jù)交換。
2.3時鐘模塊
記錄溫濕度數(shù)據(jù)時,需要精確的時間信息,該信息由時鐘模塊提供。時鐘模塊以飛利浦公司的可編程時鐘/日歷芯片PCF8563為核心,輔以相應(yīng)的外圍電路。PCF8563內(nèi)部具有16個8位寄存器、內(nèi)置32.768KHz的振蕩器、用于給實(shí)時時鐘RTC提供源時鐘的分頻器、定時器、報(bào)警器、掉電檢查和I2C總線接口等部件。16個寄存器中2個用于控制寄存器和狀態(tài)寄存器,7個用于時鐘(秒、分、時、日、星期、月、年)計(jì)數(shù)器,4個用于報(bào)警寄存器(定義分、時、日、星期的報(bào)警條件),剩下3個分別是CLKOUT頻率寄存器、定時器控制寄存器和倒計(jì)數(shù)定時寄存器。這些寄存器通過兩線式I2C總線(時鐘SCL、數(shù)據(jù)SDA)由單片機(jī)進(jìn)行讀寫。PCF8563由于采用I2C總線,其外圍電路設(shè)計(jì)簡單。PCF8563共有8個引腳。本設(shè)計(jì)中OSCI和OSCO接32.768KHz的晶振。SCL引腳接單片機(jī)的PC0口,給I2C總線提供時鐘信號,SDA引腳接單片機(jī)的PC1口,實(shí)現(xiàn)時間、日期等的讀寫。電源引腳Vdd除了接系統(tǒng)電源之外,還連接了3.3V的紐扣電池作為備用電源。當(dāng)系統(tǒng)掉電時,3.3V的后備電源啟用作為PCF8563的供電電源。
2.4紅外接收模塊
溫濕度記錄儀在使用時,會有一些特殊場合,例如記錄儀所放高度、記錄儀放置于密閉空間等地方,使得記錄儀不便于控制,需要進(jìn)行短距離的非接觸式控制。系統(tǒng)選用紅外通信技術(shù)進(jìn)行短距離通訊。紅外通信技術(shù)具有信息容量大、結(jié)構(gòu)簡單、方向性好、功耗低、價格低廉、保密性強(qiáng)等特點(diǎn)。系統(tǒng)使用一體化紅外接收頭VS1838和集成式紅外遙控器配合,對記錄儀的時間設(shè)置,顯示格式等控制信息進(jìn)行傳輸。當(dāng)遙控器不同按鍵被按下后,即有不同的串行二進(jìn)制遙控碼產(chǎn)生,該編碼經(jīng)38KHz的載波信號進(jìn)行二次調(diào)制后,再通過紅外發(fā)射二極管以紅外信號形式發(fā)射出去。VS1838接收頭集成了紅外接收二極管、信號放大器、限幅器、選頻帶通濾波器、積分電路以及比較器等。紅外接收二極管將接收到的信號傳輸至放大器進(jìn)行放大,通過限幅器將信號限制在合適的電壓范圍內(nèi),經(jīng)過帶通濾波器,只保留30~60KHz的信號。該信號經(jīng)解調(diào)、積分電路后傳輸至比較器輸出高低電平,轉(zhuǎn)換為發(fā)射端發(fā)來的二進(jìn)制編碼,通過引腳DQ送至單片機(jī)的PC2引腳,供單片機(jī)使用。
2.5顯示模塊
顯示模塊在本地顯示當(dāng)前的時間、溫度和濕度,顯示系統(tǒng)初始化時的初始設(shè)置時間、溫濕度記錄時間間隔,顯示記錄的歷史數(shù)據(jù)等信息。因顯示的數(shù)據(jù)量較多,本系統(tǒng)采用點(diǎn)陣圖形液晶顯示模塊LCD12864。LCD12864顯示分辨率為128*64,可以顯示8*4行16*16點(diǎn)陣的漢字。12864硬件電路結(jié)構(gòu)以及軟件編程與同類型圖形點(diǎn)陣液晶模塊相比,要簡潔的多而且價格也較低,得到了廣泛的應(yīng)用。系統(tǒng)采用8位并行12864顯示模塊,該模塊與外部的接口共有20個引腳。該模塊與外部連接電路簡單。設(shè)計(jì)時將12864的8根并行三態(tài)數(shù)據(jù)線DB0~DB7接單片機(jī)的PB0~PB7口,用于與單片機(jī)之間進(jìn)行數(shù)據(jù)傳輸。12864的對比度(亮度)調(diào)整引腳V0接可調(diào)電阻,通過調(diào)節(jié)電阻值改過亮度。12864的并行指令/數(shù)據(jù)顯示選擇引腳RS、讀寫控制引腳R/W、并行的使能引腳E分別接單片機(jī)的PD7~PD4,由單片機(jī)給出控制信號。因使用并行接口,故并/串行接口選擇引腳PSB接高電平。復(fù)位端RESET、背光源正端和PSB端共同接電源端VCC。LCD驅(qū)動電壓輸出端Vout經(jīng)過10K的限流電阻接電源端VCC。
2.6通信模塊
通信模塊完成單片機(jī)與PC機(jī)的通信。該記錄儀最多可以連續(xù)存儲最近50條的溫濕度數(shù)據(jù)。而有些使用場合需要將更長時間的數(shù)據(jù)永久保留,使用通信模塊可以將記錄儀里的數(shù)據(jù)送入PC機(jī)進(jìn)行永久存儲。單片機(jī)與PC機(jī)之間采用串行通信,由于PC機(jī)串口電平和單片機(jī)串口電氣規(guī)范不一致,采用MAX232芯片進(jìn)行電平轉(zhuǎn)換。使用ATmega16單片機(jī)的PD0口(RXD)接MAX232的9腳R2OUT,PD1口(TXD)接MAX232的10腳T2INT。MAX232的引腳7、8接PC機(jī)的全雙工串行口。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,該設(shè)備還可以作為物聯(lián)網(wǎng)的終端節(jié)點(diǎn)使用,在系統(tǒng)設(shè)計(jì)時,將PA口引出預(yù)留給Zigbee網(wǎng)絡(luò)使用。
2.7電源模塊
電源模塊給整個記錄儀供電。記錄儀使用交流220V市電作供電電源,記錄儀上的芯片供電電源要求直流5V。因此,電源模塊要完成AC220V到DC5V的轉(zhuǎn)換。原理為220V交流電經(jīng)過全橋整流電路后整流后,進(jìn)行濾波、穩(wěn)壓后,送入7805三端穩(wěn)壓器得到穩(wěn)定的直流電壓5V。
三、溫濕度記錄儀軟件設(shè)計(jì)
系統(tǒng)硬件架構(gòu)完成后,系統(tǒng)軟件所實(shí)現(xiàn)的功能主要是進(jìn)行上電之后的初始化設(shè)置,溫濕度數(shù)據(jù)的實(shí)時采集、記錄、顯示和傳送。單片機(jī)上電或復(fù)位后進(jìn)行系統(tǒng)初始化,完成對單片機(jī)的IO口、內(nèi)部寄存器、串行通訊的波特率等進(jìn)行初始設(shè)置,然后掃描紅外接收器,看遙控器是否有遙控信號傳送過來。若有,分析信號是進(jìn)行記錄儀的設(shè)置信號還是數(shù)據(jù)傳送信號,設(shè)置信號轉(zhuǎn)入設(shè)置記錄儀時間、記錄間隔、顯示模式的設(shè)置,傳送信號控制記錄儀中記錄的歷史數(shù)據(jù)傳送至PC機(jī)。若沒有遙控信號送入單片機(jī),查詢是否是記錄間隔時間到,若是進(jìn)行溫濕度數(shù)據(jù)的采集、記錄和顯示,否則重新查詢是否有遙控信號送來。軟件設(shè)計(jì)采用C語言編程語言,采用模塊化的設(shè)計(jì)方法。根據(jù)流程圖,將程序分為初始化模塊,紅外遙控信號采集模塊,紅外遙控信號處理模塊,溫濕度數(shù)據(jù)采集模塊,采集數(shù)據(jù)轉(zhuǎn)換為存儲數(shù)據(jù)、顯示碼轉(zhuǎn)換模塊,PCF8563設(shè)置、時間信息的讀取、顯示碼轉(zhuǎn)換模塊,溫濕度數(shù)據(jù)記錄模塊和記錄歷史數(shù)據(jù)傳送等模塊。
總結(jié)
本文研究設(shè)計(jì)了一種基于AVR單片機(jī)的溫濕度記錄儀,該記錄儀具有數(shù)據(jù)采集精度高、體積小、攜帶方便、成本低、功耗低、結(jié)構(gòu)簡單、控制簡單方便等特點(diǎn)。該記錄儀也存在一定的不足之處,因歷史數(shù)據(jù)的存儲使用的是單片機(jī)內(nèi)部的EEPROM區(qū),而單片機(jī)的EEPROM區(qū)容量有限,該記錄儀最多只能存儲500條歷史數(shù)據(jù)。若設(shè)置為15分鐘記錄一條數(shù)據(jù),記錄儀本體只能存儲3天的歷史數(shù)據(jù)。單片機(jī)擴(kuò)展大容量的存儲芯片可以增加記錄的歷史數(shù)據(jù)。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于AVR單片機(jī)的溫濕度記錄儀的設(shè)計(jì)技術(shù)。我們有豐富的智能電子產(chǎn)品定制開發(fā)經(jīng)驗(yàn),可以盡快評估開發(fā)周期與IC價格,也可以核算PCBA報(bào)價。我們是松翰單片機(jī)代理商、應(yīng)廣單片機(jī)代理商,出售并開發(fā)sonix與應(yīng)廣的MCU與語音IC方案。我們代理并開發(fā)杰理、安凱、全志、realtek等系列的IC與方案,還開發(fā)BLE藍(lán)牙IC、雙模藍(lán)牙模塊、wifi模塊、物聯(lián)網(wǎng)模塊。我們的擁有硬件設(shè)計(jì)與軟件開發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開發(fā)、軟件定制開發(fā)、APP定制開發(fā)、微信公眾號開發(fā)、語音識別技術(shù)、藍(lán)牙開發(fā)、wifi技術(shù)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開發(fā)、物聯(lián)網(wǎng)應(yīng)用開發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開發(fā)、藍(lán)牙耳機(jī)音箱開發(fā)、兒童玩具方案開發(fā)、電子教育產(chǎn)品研發(fā)。
- 返回頂部