廣東省汕尾市質(zhì)量計(jì)量監(jiān)督檢測所 文海瓊 卓朝松
本文設(shè)計(jì)的藍(lán)牙數(shù)據(jù)傳輸智能溫控風(fēng)扇系統(tǒng)是由2塊STC15F2K60S2單片機(jī)分別作為主控制器、從控制器,采用體溫傳感模塊作為溫度采集器件,HC-05主從一體藍(lán)牙串口模塊發(fā)送接收風(fēng)扇檔位信息,通過系統(tǒng)預(yù)設(shè)溫度與系統(tǒng)檢測到的體溫的比對,完成風(fēng)扇電機(jī)轉(zhuǎn)速的自動調(diào)節(jié)以及自動啟停,并通過三極管控制風(fēng)扇電機(jī)的運(yùn)轉(zhuǎn)。并將風(fēng)扇檔位、預(yù)設(shè)的溫度、檢測到的體溫同時(shí)顯示在LCD1602上。
利用體溫傳感模塊采集人體溫度并輸出電壓數(shù)據(jù)給主控制器(STC15F2K60S2)進(jìn)行A/D轉(zhuǎn)化及計(jì)算,在LCD1602上顯示當(dāng)前人體溫度值、預(yù)設(shè)溫度限值及風(fēng)扇檔位[1]。其中預(yù)設(shè)溫度限值和檢測到的當(dāng)前人體溫度都可精確到小數(shù)點(diǎn)后兩位。通過主角色藍(lán)牙發(fā)送檔位給從角色藍(lán)牙,直流風(fēng)扇電機(jī)的轉(zhuǎn)速通過控制器(STC15F2K60S2)根據(jù)檔位采用PWM脈寬調(diào)制方式來變動[2]。系統(tǒng)預(yù)設(shè)溫度限值通過三個(gè)按鍵改變,第一個(gè)移動改變限值對應(yīng)的位置,第二個(gè)提高預(yù)設(shè)限值,第三個(gè)降低預(yù)設(shè)限值。系統(tǒng)結(jié)構(gòu)方框如圖1所示:
圖1 系統(tǒng)構(gòu)成方框圖
本設(shè)計(jì)要用藍(lán)牙的無線短距離傳輸智能的完成風(fēng)扇電機(jī)的溫度控制,通過采用溫度變化分辨率較高且性能穩(wěn)定的換擋停機(jī)控制部件,實(shí)現(xiàn)風(fēng)扇電機(jī)根據(jù)人體溫度的變化自動改變轉(zhuǎn)速及啟停。
溫度傳感器采用體溫傳感模塊,該模塊體積小,與主控制器連接只需一個(gè)采集口,加上電源正、負(fù)兩個(gè)腳共三個(gè)腳就能工作。人體只要觸摸到其探頭,該模塊就能采集數(shù)據(jù),數(shù)據(jù)經(jīng)過主控制器A/D轉(zhuǎn)化及計(jì)算后能精確到小數(shù)點(diǎn)后兩位。
控制器采用兩塊STC15F2K60S2單片機(jī)分別作為主控制器、從控制器,通過軟件編程的方法進(jìn)行體溫?cái)?shù)據(jù)轉(zhuǎn)化、計(jì)算和比較,同時(shí)通過主角色藍(lán)牙在其串口輸出檔位信號。STC15F2K60S2單片機(jī)內(nèi)含2048字節(jié)的隨機(jī)數(shù)據(jù)存儲器RAM,性能高,工作電壓低,不需外部晶振,單片價(jià)格實(shí)惠,適用于本文的設(shè)計(jì)系統(tǒng)[3]。
本設(shè)計(jì)采用LCD1602液晶顯示屏顯示溫度、設(shè)置限值、檔位。該液晶顯示屏能夠顯示16x02即32個(gè)字符,功耗極低,顯示的數(shù)據(jù)明確醒目,顯示程序的編寫也相對簡單,不僅可以顯示數(shù)字而且還能顯示字符甚至圖形,同時(shí)其顯示字符美觀。
本設(shè)計(jì)采用單片機(jī)軟件編程來實(shí)現(xiàn)PWM(脈沖寬度調(diào)制)的調(diào)速方法。最常用的就是矩形波PWM信號,在控制電機(jī)的轉(zhuǎn)速時(shí),通過調(diào)節(jié)PWM波的占空比實(shí)現(xiàn)調(diào)速,占空比越大,轉(zhuǎn)速就越快。通過采用軟件延時(shí)方法,實(shí)現(xiàn)高、低電平延時(shí)時(shí)間與I/O口電平循環(huán)變動得到PWM信號。
無線傳輸器采用兩塊HC-O5主從一體藍(lán)牙模塊作為無線傳輸?shù)钠骷?。該模塊可設(shè)置主從模式,進(jìn)行主、從角色間的連接及發(fā)送接收。HC-O5主從一體藍(lán)牙模塊操作簡單,功耗低,通信距離10米以內(nèi),適合本設(shè)計(jì)[4]。
圖2 主控制器程序流程圖
程序設(shè)計(jì)有主控制器、從控制器兩部分:
1.主控制器程序流程圖(如圖2所示)
2.從控制器程序流程圖(如圖3所示)
圖3 從控制器程序流程圖
根據(jù)本設(shè)計(jì)編寫的系統(tǒng)程序:程序的按鍵接口采用主控制器的P2.5、P2.4、P2.3口,LCD1602顯示數(shù)據(jù)口采用P0口,RS端接P4.5口,RW端接P2.7口,E端接P2.6口,從而完成按鍵功能及LCD1602的顯示。通過編譯未出錯(cuò),進(jìn)而把接口改為仿真調(diào)試的接口,LCD1602能正常顯示預(yù)設(shè)溫度上下限值、檔位及程序給定的溫度。按鍵功能也實(shí)現(xiàn)了,當(dāng)按下設(shè)置鍵時(shí),光標(biāo)閃爍,再按下加、減鍵時(shí)也能對光標(biāo)閃爍中的數(shù)進(jìn)行加一、減一,再按下設(shè)置鍵,光標(biāo)右移(光標(biāo)移動的位置有8個(gè)),對溫度的上下限進(jìn)行修改。
由于體溫傳感模塊的集成化,調(diào)式極為簡便。其高精度、低功耗、小體積的特性為實(shí)現(xiàn)控制電機(jī)的高穩(wěn)定和高精度提供了可能。采用主控制器P1.4口為模擬輸入口,由于需要對輸入的模擬信號進(jìn)行AD轉(zhuǎn)化和處理才能顯示體溫,因此需要增加體溫轉(zhuǎn)化程序。通過軟件程序設(shè)計(jì)完成對人體溫度的持續(xù)檢測,LCD1602會顯示到溫度的百分位部分。將該模塊接入電路,LCD1602會顯示一溫度,但這并不是環(huán)境溫度,本設(shè)計(jì)中該模塊只能檢測人體溫度。待人將手指捏?。ɑ蛉梭w其他部位接觸)該模塊的探頭后,LCD1602能顯示當(dāng)前檢測到的人體溫度。
本設(shè)計(jì)采用兩個(gè)三極管驅(qū)動風(fēng)扇直流電機(jī)。軟件設(shè)置了P0.0口輸出不同的PWM波形給兩個(gè)三極管來驅(qū)動風(fēng)扇電機(jī)的轉(zhuǎn)動。軟件設(shè)定根據(jù)不同溫度輸出不同的PWM波得到不同的占空比來控制風(fēng)扇電機(jī),占空比越大檔位越高。程序?qū)崿F(xiàn)了P0.0口的PWM波形輸出,當(dāng)人體溫度低于下限溫度時(shí),風(fēng)扇自動停止轉(zhuǎn)動(0檔);當(dāng)人體溫度高于下限并低于中限溫度時(shí),風(fēng)扇低速轉(zhuǎn)動(1檔)或是自動開始轉(zhuǎn)動;當(dāng)人體溫度高于中限并低于上限時(shí),風(fēng)扇中速轉(zhuǎn)動(2檔);當(dāng)人體溫度高于上限時(shí),風(fēng)扇全速轉(zhuǎn)動(3檔)。
本設(shè)計(jì)系統(tǒng)的風(fēng)扇電機(jī)的轉(zhuǎn)速可進(jìn)行四級調(diào)速,根據(jù)系統(tǒng)預(yù)設(shè)的上下溫度限值與體溫傳感模塊檢測的溫度的比較,完成轉(zhuǎn)速變換。在程序中改變從控制器接收的檔位信息,風(fēng)扇電機(jī)能實(shí)現(xiàn)對應(yīng)檔位的調(diào)速。
主控制器將現(xiàn)得出的檔位與上一次比較,若檔位發(fā)生變化,則通過主角色藍(lán)牙把變化的檔位發(fā)送給從控制器,從角色藍(lán)牙接收主角色藍(lán)牙發(fā)出的檔位信息,然后傳給從控制器,當(dāng)有檔位給從控制器時(shí),從控制器將輸出與檔位對應(yīng)的PWM波。在主控制器側(cè)產(chǎn)生檔位(可通過LCD1602的顯示得知),然后用串口助手連接從角色藍(lán)牙,可得到一致的檔位信息,再將從角色藍(lán)牙接入從控制器電路,風(fēng)扇電機(jī)也可實(shí)現(xiàn)對應(yīng)的轉(zhuǎn)速[5]。
系統(tǒng)按鍵部分實(shí)現(xiàn)了以下功能:按下設(shè)置鍵即接主控制器P2.5口的按鍵,進(jìn)行溫度上下限值的設(shè)置(進(jìn)行LCD光標(biāo)移動并閃爍);按加鍵即P2.4口的按鍵,實(shí)現(xiàn)了光標(biāo)閃爍的值加一;按減鍵即P2.3口的按鍵實(shí)現(xiàn)相應(yīng)值的減一。若按鍵時(shí)間過長,光標(biāo)不是移動一位,而是增加二位,主要原因是按鍵的去抖動延時(shí)時(shí)間過長,可將對應(yīng)的按鍵去抖動延時(shí)時(shí)間適量增加作為改進(jìn)方法。
本設(shè)計(jì)實(shí)現(xiàn)了LCD 1602可顯示溫度上下限值、檔位及人體溫度,溫度上下限值能根據(jù)不同的需求通過按鍵進(jìn)行調(diào)整,且LCD1602的顯示效果很好,很穩(wěn)定。
將體溫傳感模塊的AD口通過方形排母間接接在主控制器的P1.4口。方形排母在主控制器的右側(cè)四口即為體溫傳感模塊的AD、GND、DC、VCC口,可將模塊直接插在該排母上。系統(tǒng)調(diào)試中為驗(yàn)證模塊是否能在主控制器板上工作,將人的手指捏?。ɑ蛏眢w其他部位)該模塊的探頭,即可發(fā)現(xiàn)LCD1602顯示的數(shù)值也隨著變化,待穩(wěn)定后即為檢測到的人體體溫,由此驗(yàn)證了該模塊能在系統(tǒng)板上正常工作。由于該模塊只有4個(gè)引腳,因此在調(diào)試過程中因注意其各個(gè)引腳的對應(yīng)位置,以免將其接反導(dǎo)致模塊不能工作甚至燒毀模塊。
由于調(diào)速電路的設(shè)計(jì)中主要在于軟件設(shè)計(jì),所以外圍的驅(qū)動電路只是簡單的將傳輸來的PWM信號放大進(jìn)而驅(qū)動風(fēng)扇電機(jī)轉(zhuǎn)動。當(dāng)人體溫度高于系統(tǒng)預(yù)設(shè)溫度下限值時(shí),電機(jī)開始轉(zhuǎn)動,由于人體的溫度較恒定,不會發(fā)生太大的變化,因此風(fēng)扇電機(jī)的檔位也不會發(fā)生過于頻繁的變化。風(fēng)扇的轉(zhuǎn)速會隨著檔位的切換而變化。將手指(身體其他部位)離開體溫傳感模塊的探頭時(shí),發(fā)現(xiàn)檢測的溫度先增大然后減小直到穩(wěn)定,原因是該模塊本身電路的設(shè)計(jì),不過這變化的時(shí)間很短,并不影響該系統(tǒng)的性能[6]。
本設(shè)計(jì)可實(shí)現(xiàn)單片機(jī)系統(tǒng)檢測人體溫度的變化,根據(jù)體溫變化,通過無線藍(lán)牙傳輸檔位信號來控制風(fēng)扇直流電機(jī)的啟停和調(diào)速。通過單片機(jī)輸出不同的占空比,從而產(chǎn)生不同的轉(zhuǎn)速;還可通過按鍵預(yù)設(shè)不同的溫度上下限值,再根據(jù)設(shè)置的溫度限值與檢測到的人體溫度的比較調(diào)節(jié)檔位來控制電機(jī)轉(zhuǎn)速。當(dāng)體溫低于預(yù)設(shè)溫度下限時(shí),電機(jī)停止轉(zhuǎn)動;當(dāng)體溫高于預(yù)設(shè)溫度下限時(shí),單片機(jī)P0.0口輸出不同占空比的PWM信號,從而調(diào)控風(fēng)扇的轉(zhuǎn)速。系統(tǒng)還能動態(tài)的顯示當(dāng)前人體溫度、設(shè)置溫度限值及檔位。
系統(tǒng)總體上由主控制器側(cè)、從控制器側(cè)兩大部分組成。主控制器側(cè)由五部分組成,既主控制器(單片機(jī))、LCD1602顯示電路、體溫檢測模塊體溫采集電路、獨(dú)立按鍵電路、主角色藍(lán)牙連接電路;從控制器側(cè)由三部分組成,即從角色藍(lán)牙連接電路、從控制器(單片機(jī))、風(fēng)扇電機(jī)調(diào)速電路。人體溫度檢測模塊中的體溫采集電路是整個(gè)設(shè)計(jì)系統(tǒng)的首要部分。首先要檢測到體溫,才能用主控制器與溫度限值比較得出檔位,從控制器通過檔位信號來控制直流風(fēng)扇電機(jī)的轉(zhuǎn)速;接著是主、從角色藍(lán)牙連接電路,該部分使用主從角色藍(lán)牙間的通信。主控制器的檔位信號通過主角色藍(lán)牙發(fā)送給從角色藍(lán)牙,進(jìn)而傳給從控制器;再次是風(fēng)扇電機(jī)驅(qū)動電路,這部分通過外圍電路將從控制器輸出的PWM波放大輸出,不同的PWM波得到不同的電機(jī)轉(zhuǎn)速。電路設(shè)計(jì)采用兩個(gè)三極管完成較好的控制效果;最后LCD1602的動態(tài)顯示電路實(shí)現(xiàn)了設(shè)置溫度限值、人體溫度及風(fēng)扇電機(jī)檔位的顯示,還有獨(dú)立按鍵可根據(jù)不同的需求實(shí)現(xiàn)溫度限值的調(diào)整。
設(shè)計(jì)的本系統(tǒng)以單片機(jī)為控制元件,根據(jù)體溫傳感模塊檢測到的人體溫度與設(shè)置溫度限值的比較得出檔位,通過藍(lán)牙間的無線傳輸來傳輸檔位,在一定距離內(nèi)實(shí)現(xiàn)了風(fēng)扇轉(zhuǎn)速的調(diào)節(jié)。本系統(tǒng)的設(shè)計(jì)可推廣到家庭的風(fēng)扇電機(jī)控制系統(tǒng)中,實(shí)現(xiàn)風(fēng)扇轉(zhuǎn)速的的智能控制調(diào)節(jié),亦可實(shí)現(xiàn)人體溫度的監(jiān)測(特別是小孩及老人群體)。
[1]張迎新,等.單片機(jī)初級教程[M].北京:北京航空航天大學(xué)出版社(第二版),2006,8.
[2]胡乾斌.單片機(jī)原理與應(yīng)用[M].華中科技大學(xué)出版社(第二版),2006.
[3]何利民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003.
[4]魏立峰,王寶興.單片機(jī)原理及應(yīng)用技術(shù)[M].北京大學(xué)出版社(第一版),2006.
[5]楊黎.基于C語言單片機(jī)應(yīng)用技術(shù)與Proteus仿真[M].長沙:中南大學(xué)出版社,2012,8.
[6]謝自美.電子線路設(shè)計(jì).實(shí)驗(yàn).測試[M].華中科技大學(xué)出版社(第一版),2000.