吳 帆 劉偉強(qiáng) 牧淑清 畢中澳
(安徽師范大學(xué)皖江學(xué)院 電子工程系,安徽 蕪湖241008)
當(dāng)今社會(huì),戶外旅游逐漸成為當(dāng)代社會(huì)時(shí)尚的潮流。首先,當(dāng)人們追求良好的室外體驗(yàn)時(shí),若睡眠不足,對(duì)下一步的行程體驗(yàn)會(huì)產(chǎn)生很大的不利影響。其次,面對(duì)經(jīng)濟(jì)增長(zhǎng)速度日益快,人們會(huì)投入更多的時(shí)間和精力來(lái)保護(hù)自己的身體,尤其是對(duì)剛出生嬰兒到免疫能力下降的兒童。
另外,對(duì)于一線抗震人員來(lái)說(shuō),日以繼日地抗震救災(zāi),使他們只能在抗戰(zhàn)中維持1-2 個(gè)小時(shí)的睡眠,而高質(zhì)量的睡覺(jué)則顯得更加重要。面對(duì)這種情況,本設(shè)計(jì)對(duì)溫控睡袋進(jìn)行改良以滿足不同人群的需要。
一般而言,睡袋的基本需求有兩個(gè):首先是人們所能承受的最低溫度,其次是人們身體所能感受到的最適溫度。經(jīng)調(diào)查發(fā)現(xiàn),市場(chǎng)上許多睡袋的最低極限溫度都不能滿足設(shè)想中的要求,可能在零下5℃達(dá)到了人體的極限,而睡袋的最低極限溫度也達(dá)不到人體的需求。因此,本設(shè)計(jì)對(duì)溫控睡袋進(jìn)行改良時(shí)首先要確保用戶的生命健康,同時(shí)使用戶獲得更舒適的休閑環(huán)境。
本設(shè)計(jì)系統(tǒng)原理圖如圖1 所示,將使用DS18B20 溫度采集模塊采集睡袋中當(dāng)前的溫度,通過(guò)溫控系統(tǒng)控制溫度;并在LCD12864 液晶屏上顯示溫度。本設(shè)計(jì)通過(guò)外部電源向睡袋輸送電能,睡袋的底部材料通過(guò)增加一層熱絲完成了加熱的環(huán)節(jié)。在睡袋設(shè)計(jì)過(guò)程中設(shè)置上下限溫度,當(dāng)溫度超過(guò)上下限時(shí),繼電器將會(huì)斷開(kāi)電熱絲不會(huì)加熱確保睡袋內(nèi)的溫度不會(huì)太高,使人能夠在安全舒適的環(huán)境下工作。
圖1 系統(tǒng)原理圖
溫控系統(tǒng)設(shè)計(jì)主要包括at89c51 單片機(jī)、DS18B20 溫度采集模塊、LCD12864 溫度顯示模塊、溫控裝置。at89c51 為主控制器,當(dāng)枕袋內(nèi)的溫度小于設(shè)置的下限時(shí),繼電器開(kāi)始啟動(dòng),電熱絲位于線路上,睡袋內(nèi)溫度開(kāi)始升高,提供熱量。當(dāng)測(cè)得的溫度大于設(shè)定的溫度,繼電器從導(dǎo)通轉(zhuǎn)為截止?fàn)顟B(tài),加熱設(shè)備停止加熱。系統(tǒng)硬件工作流程圖如圖2 所示。
圖2 硬件工作原理圖
2.1.1 溫度讀取模塊
DS18B20 溫度傳感器包含AD 轉(zhuǎn)換器,其通信線路可以與各種單片機(jī)直接進(jìn)行通信,讀取相關(guān)溫度傳感數(shù)據(jù),該電路的主要用于從事各種單片機(jī)軟件應(yīng)用程序的可編程調(diào)試工作。該數(shù)字溫度計(jì)中有9 個(gè)溫度讀數(shù),用來(lái)表示器件的溫度。信息通過(guò)一個(gè)單線接口傳送到傳感器接口或者通過(guò)一個(gè)傳感器的接口傳出,所以從中央處理器到DS18B20 只需要連一條線讀寫(xiě)和完成溫度變化需要的電源可由數(shù)據(jù)線提供,而不需要外部電源。DS18B20 溫度傳感器僅有三條外引線:?jiǎn)尉€數(shù)據(jù)傳輸總線端dq、vdd 外供電源和共用地線gnd。其應(yīng)用領(lǐng)域主要有消費(fèi)產(chǎn)品、溫度計(jì),任何熱敏體系或恒溫控制。
2.1.2 LCD12864 液晶顯示模塊
LCD12864 液晶顯示器是一種字符型的液晶顯示器,它是點(diǎn)陣型的,其形式是m×n 個(gè)顯示單元,如果lcd 顯示器為64行,每一個(gè)列有128 列,每8 個(gè)列對(duì)應(yīng)一字節(jié),即每行16 個(gè)字節(jié),那么總共有64×8=128 個(gè)點(diǎn)。在接受指令之前,微處理器首先必須確定該模塊的內(nèi)部是非忙碌的,bf 在讀取該模塊時(shí)必須為0,此時(shí)bf 才能接受新指令;如果不檢查BF 標(biāo)志。在發(fā)送指令之前,發(fā)送該指令和前一個(gè)指令之間必須要隔一段時(shí)間,即等待前一個(gè)指令實(shí)際執(zhí)行完畢才能執(zhí)行下一個(gè)指令。
圖3 睡袋溫控系統(tǒng)仿真圖
系統(tǒng)應(yīng)用軟件的設(shè)計(jì)主要基于kile5 單片機(jī)的系統(tǒng)開(kāi)發(fā)軟件環(huán)境,使用c51 語(yǔ)言來(lái)自行編寫(xiě)一個(gè)系統(tǒng)應(yīng)用程序,并對(duì)其進(jìn)行軟件翻譯和測(cè)試排除系統(tǒng)錯(cuò)誤,直到不發(fā)生系統(tǒng)錯(cuò)誤。生成的.hex 文件進(jìn)行加載同步至51 單片機(jī)控制芯片,可以清楚看到對(duì)整個(gè)溫控控制系統(tǒng)的一次仿真測(cè)試效果。本設(shè)計(jì)主要的軟件設(shè)計(jì)方法是自動(dòng)完成各種溫度值的讀取、轉(zhuǎn)換、顯示和溫度比較,本系統(tǒng)采用了一種模塊式的軟件設(shè)計(jì)工作理念,包括溫度系統(tǒng)初始值優(yōu)化的子程序、溫度自動(dòng)測(cè)量子程序、LCD12864 液晶顯示處理子程序的軟件設(shè)計(jì)、鍵盤(pán)和掃描處理子程序、中斷延時(shí)服務(wù)處理子程序的軟件設(shè)計(jì)和中斷延時(shí)服務(wù)子程序等等。
采用keil 對(duì)程序進(jìn)行編譯,結(jié)合Proteus 軟件進(jìn)行仿真,仿真電路如圖3、圖4 所示。設(shè)置溫度為上限溫度,當(dāng)前溫度為外界溫度,通過(guò)按鍵可以控制溫度的大小,當(dāng)當(dāng)前溫度大于設(shè)置溫度時(shí),P0.0 口電平會(huì)由高電平變?yōu)榈碗娖剑藭r(shí)外部加熱設(shè)備停止加熱。
圖4 LCD12864 液晶顯示模塊仿真圖
當(dāng)設(shè)定上限溫度從11℃上升到35℃時(shí),其測(cè)試結(jié)果數(shù)據(jù)如表1 所示。
表1 測(cè)量數(shù)據(jù)結(jié)果
測(cè)試結(jié)果表明,當(dāng)加熱溫度上升到設(shè)置的上限溫度時(shí),p0.0端口會(huì)跳變及外部加熱設(shè)備停止加熱。
本文結(jié)合實(shí)際應(yīng)用,詳細(xì)介紹了利用C51 單片機(jī)設(shè)計(jì)一款智能溫控睡袋。通過(guò)仿真不斷優(yōu)化睡袋性能,并使其配置靈活、接口方便,有效的為戶外旅游或工作的人提供一個(gè)安全且舒適的休息環(huán)境。