《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計應(yīng)用 > 市電定時開關(guān)系統(tǒng)設(shè)計
市電定時開關(guān)系統(tǒng)設(shè)計
2016年微型機(jī)與應(yīng)用第08期
郝沛,黃魯
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)
摘要: 傳統(tǒng)市電開關(guān)需要人為干預(yù),在某些重復(fù)定時開關(guān)場景下使用不方便,且需要人為判斷通斷的條件。設(shè)計了一種智能開關(guān),可以實現(xiàn)設(shè)置時間段內(nèi)開關(guān)的自動通斷,并且能夠借助傳感器數(shù)據(jù)輔助判斷通斷條件。實測結(jié)果表明,該系統(tǒng)工作穩(wěn)定,控制界面簡潔友好。
Abstract:
Key words :

  郝沛,黃魯

  (中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)

  摘要:傳統(tǒng)市電開關(guān)需要人為干預(yù),在某些重復(fù)定時開關(guān)場景下使用不方便,且需要人為判斷通斷的條件。設(shè)計了一種智能開關(guān),可以實現(xiàn)設(shè)置時間段內(nèi)開關(guān)的自動通斷,并且能夠借助傳感器數(shù)據(jù)輔助判斷通斷條件。實測結(jié)果表明,該系統(tǒng)工作穩(wěn)定,控制界面簡潔友好。

  關(guān)鍵詞市電定時開關(guān)時鐘芯片;傳感器;繼電器

0引言

  隨著家用電器的普及,傳統(tǒng)的手動開關(guān)已經(jīng)無法滿足日益復(fù)雜的應(yīng)用場景。比如定時照明系統(tǒng),人為地去控制照明開關(guān),不但不方便,而且很難精確掌控開啟與停止時間。如果在市電與照明系統(tǒng)之間增加一級控制系統(tǒng),在設(shè)定好開關(guān)時間后,由系統(tǒng)執(zhí)行開關(guān)操作,并且可以根據(jù)環(huán)境光照度來選擇是否照明,則會帶來極大的方便[1]。推而廣之,定時抽水系統(tǒng)、定時充電系統(tǒng)、定時加熱系統(tǒng)都可以采用此種控制方案,從而給市電應(yīng)用場景帶來極大便利。

1系統(tǒng)簡介

  本系統(tǒng)設(shè)計的核心思路是“以弱控強(qiáng),用戶定制;控時為主,傳感為輔”。硬件上,系統(tǒng)需要實現(xiàn)對傳感器以及外圍模塊的驅(qū)動;軟件上,系統(tǒng)需要實現(xiàn)人機(jī)交互界面的繪制、時間檢測以及傳感器數(shù)據(jù)的處理。

  1.1系統(tǒng)功能框圖

001.jpg

  如圖1所示,系統(tǒng)輸入為220 V的市電,通過繼電器后,輸出到被控電器,從而控制被控電器的開關(guān)。繼電器的作用為隔離強(qiáng)弱電,同時控制市電的通斷,其控制信號由控制系統(tǒng)提供。控制系統(tǒng)輸入電壓為9 V,由電源適配器提供。傳感器提供判斷通斷的輔助信號,如光照度、水位、溫濕度等[2]。

  1.2系統(tǒng)主要模塊

  1.2.1主控制器STM32

  STM32是基于ARM Cortex-M3內(nèi)核的32位微處理器,主頻最高為72 MHz。它包含豐富的接口,且其內(nèi)部時鐘頻率可由用戶自主定制,能夠方便地開發(fā)出PWM輸出、頻率捕獲、脈寬捕獲等功能[3]。其GPIO口可自由配置為輸入/輸出模式、中斷模式、復(fù)用模式[4]。

  1.2.2定時器DS1302

  DS1302是DALLAS公司設(shè)計的一款低功耗時鐘芯片,具有涓流充電、閏年補(bǔ)償功能。芯片采用32.768 kHz晶振,且內(nèi)部集成了31 B的用于臨時數(shù)據(jù)存放的RAM寄存器。其采用3線I/O口與控制器通信:SCLK時鐘引腳,由主控芯片提供,用以實現(xiàn)數(shù)據(jù)的同步交互;I/O數(shù)據(jù)輸入/輸出引腳,用以串行數(shù)據(jù)傳輸;RST復(fù)位引腳,需在數(shù)據(jù)傳輸時強(qiáng)制拉高,在數(shù)據(jù)傳輸結(jié)束后強(qiáng)制拉低。

  1.2.3液晶顯示模塊LPH7366

  LPH7366是一款分辨率為84×48的單色液晶顯示模塊,具有功耗低、操作簡便等優(yōu)點,廣泛應(yīng)用于手機(jī)顯示屏、便攜式設(shè)備中,如NOKIA5110的液晶屏。

  LPH7366模塊采用四線I/O口與主機(jī)通信:CE使能引腳,低有效;SCK時鐘引腳;DATA串行數(shù)據(jù)傳輸引腳; CD命令/數(shù)據(jù)選擇引腳(低電平代表傳輸命令,高電平代表傳輸數(shù)據(jù))。

  由于LPH7366沒有集成字庫,所以需要把ASICII字庫嵌入到代碼中去。

2系統(tǒng)硬件

  根據(jù)硬件功能,系統(tǒng)被劃分為以下幾個子系統(tǒng):電源系統(tǒng)、STM32主控系統(tǒng)、人機(jī)交互系統(tǒng)、時鐘系統(tǒng)、繼電器系統(tǒng)。各系統(tǒng)功能如下:

  (1)電源系統(tǒng):為整個定時開關(guān)系統(tǒng)提供工作電平。系統(tǒng)工作電平有兩種:9 V和3.3 V;

  (2)主控系統(tǒng):完成對整個系統(tǒng)的控制以及數(shù)據(jù)的采集處理;

  (3)人機(jī)交互系統(tǒng):提供人機(jī)交互接口,實現(xiàn)數(shù)據(jù)的反饋以及控制參數(shù)的配置;

  (4)時鐘系統(tǒng):提供實時時鐘數(shù)據(jù),供主控系統(tǒng)使用;

  (5)繼電器系統(tǒng):隔離強(qiáng)弱電系統(tǒng),并實現(xiàn)3.3 V電平對9 V電平的驅(qū)動。

  2.1系統(tǒng)硬件框圖

  系統(tǒng)硬件框圖如圖2所示。

  

002.jpg

003.jpg


  2.2系統(tǒng)電路圖

  2.2.1STM32最小系統(tǒng)電路

  STM32能夠工作的最小系統(tǒng)電路包含電源輸入、復(fù)位電路、晶振電路。如圖3所示。

  2.2.2外圍設(shè)備電路

  外設(shè)電路包括電源電路、液晶+按鍵電路、實時時鐘電路和繼電器驅(qū)動電路。

  (1)電源電路,如圖4所示。

004.jpg

  其輸出電壓由以下公式得到:

  VOUT=1.221×R1-R2R2(1)

  當(dāng)R1=10 kΩ,R2 =2.7 kΩ時,VOUT=3.301 V。

  (2)時鐘電路

  時鐘電路采用DS1302方案。芯片有兩組供電電源Vcc1和Vcc2。Vcc2為主電源,Vcc1為備用電源。芯片會以電平較高的一端作為電源輸入,所以,為確保在系統(tǒng)掉電時時鐘芯片能夠正常工作,需要在Vcc1引腳處外加3 V蓄電池。

  (3)液晶驅(qū)動電路

  由于LPH7366液晶模塊的邏輯驅(qū)動電平為3 V,所以可直接將其引腳連接到STM32上。按鍵系統(tǒng)采用自彈式輕觸按鍵,連接到STM32的GPIO上,以中斷方式輸入。

  (4)繼電器驅(qū)動電路

005.jpg

  由于繼電器線圈的工作電平為9 V,而STM32的邏輯電平為3.3 V,所以需要驅(qū)動電路才能夠用STM32的驅(qū)動電平來控制繼電器。此處使用晶體管SS8050作為驅(qū)動電路,且將其設(shè)定為工作在飽和區(qū)內(nèi)。如圖5所示,假設(shè)晶體管BJT1的β=100,Vbe=0.7 V;繼電器線圈電阻Rk=70 Ω,繼電器工作電壓VIN=9 V。設(shè)STM32的PB.9腳輸出到R4上的電壓為Vin,三極管基極電流為Ib,集電極電流為Ic。假設(shè)三極管工作在臨界飽和區(qū),則:

  Ic=VIN/(R3+Rk)(2)

  Ib=Ic/β(3)

  Vin=Ib×R4+Vbe(4)

  可以得到三極管達(dá)到飽和狀態(tài)的最小輸入電壓Vin=0.75 V。即輸入電平超過0.75 V,三極管便會導(dǎo)通,從而繼電器吸合。由于在默認(rèn)條件下繼電器應(yīng)處于斷開狀態(tài),所以在三極管輸入端增加下拉電阻R5=10 kΩ。

3系統(tǒng)軟件

  3.1程序流程圖

  主程序的思路是,實時讀取時鐘芯片DS1302的時間,并顯示在液晶顯示屏上;同時檢測當(dāng)前時間是否進(jìn)入了用戶設(shè)定的繼電器吸合時間。如果進(jìn)入了設(shè)定時間,則吸合繼電器;如果在設(shè)定時間外,則斷開繼電器。主程序流程圖如圖6。 

006.jpg

007.jpg

  本系統(tǒng)中,按鍵的檢測是在中斷程序中實現(xiàn)的。由于在處理某一個中斷函數(shù)時,其他同級或者更低級的中斷是被屏蔽的,所以中斷函數(shù)應(yīng)盡可能簡短。本系統(tǒng)的按鍵中斷函數(shù)僅實現(xiàn)檢測哪個按鍵被按下,而按鍵消息處理函數(shù)是在中斷函數(shù)外實現(xiàn)的。按鍵中斷處理程序流程圖如圖7。

  3.2人機(jī)交互界面設(shè)計

  人機(jī)交互界面是本系統(tǒng)軟件的主要構(gòu)成部分。其完成的功能有:顯示當(dāng)前時間與定時時間段,繪制菜單以配合按鍵進(jìn)行設(shè)置,響應(yīng)按鍵信號并完成對應(yīng)功能。

  3.2.1菜單的繪制

  本系統(tǒng)菜單共有兩級,采用鏈表結(jié)構(gòu)設(shè)計,其結(jié)構(gòu)如圖8所示。

008.jpg

  鏈表中,每個節(jié)點的結(jié)構(gòu)如下:

  typedef struct

  {

  intLocation_Level[3];

  char*Item_Name;

  Menu_Item* Next;

  } Menu_Item;

  其中,Location_Level[3]表示當(dāng)前節(jié)點的位置。Location_Level[0]的值代表此節(jié)點在主菜單的第幾項;Location_Level[1]的值代表此節(jié)點在二級子菜單的第幾項;Location_Level[2]代表此節(jié)點在三級子菜單的第幾項。

  Item_Name表示當(dāng)前節(jié)點名稱。在顯示時會根據(jù)對應(yīng)節(jié)點打印出此字符串。

  Next指向下一節(jié)點的指針。

  比如,圖8中的二級子菜單中的項目“年設(shè)置”,其Location_Level[0]=1,代表其隸屬于主菜單的“設(shè)定時間”項;Location_Level[1]=1,代表其隸屬于二級菜單的“年設(shè)置”項;Location_Level[2]=0,代表其止于二級菜單,沒有進(jìn)入三級菜單。其Item_Name=“年設(shè)置”;Next指向“年設(shè)置”節(jié)點的下一個節(jié)點。

  用鏈表設(shè)計菜單的優(yōu)點在于,無論在菜單的什么位置添加項,都可以直接添加在鏈表的尾部。因為定位當(dāng)前節(jié)點位置靠的是當(dāng)前節(jié)點的Location_Level[3]中的3個變量,在菜單級數(shù)較少時,靠鏈表遍歷就足夠了。

  3.2.2按鍵的響應(yīng)

  按鍵的檢測是在中斷函數(shù)中完成的。中斷處理函數(shù)僅完成按鍵序號的確認(rèn),而按鍵處理函數(shù)是在中斷外實現(xiàn)的。本系統(tǒng)的按鍵有4個,分別為“向前”,“向后”,“確認(rèn)”,“返回”,對應(yīng)標(biāo)識號依次為1、2、3、4。

  按鍵處理的思路是:中斷檢測出當(dāng)前按下的是哪個按鍵,然后根據(jù)當(dāng)前指針指向的節(jié)點來確定要完成的動作。如圖9所示。

009.jpg

  假設(shè)當(dāng)前指針指向菜單項“設(shè)定時間”,則Location_Level[3]={1,0,0},說明當(dāng)前節(jié)點處于主菜單的第一項。如果此時“確認(rèn)”按鍵被按下,那么按鍵處理函數(shù)從表中找到此時位置對應(yīng)動作。假設(shè)此動作為“進(jìn)入二級菜單”,則指針會跳轉(zhuǎn)到Location_Level[3]={1,1,0}的位置,同時在屏幕上刷新出二級菜單。其他3個按鍵的響應(yīng)與此類似。

010.jpg

  3.3定時時間的設(shè)定

  定時時間設(shè)定是在按鍵響應(yīng)函數(shù)中實現(xiàn)的。程序流程圖如圖10所示。

  1.2.2節(jié)介紹過,DS1302時鐘芯片內(nèi)部有31 B的RAM寄存器,可用于存放臨時數(shù)據(jù)。由于市電定時開關(guān)系統(tǒng)需要保證在系統(tǒng)掉電后,配置數(shù)據(jù)不會丟失,從而在再次上電時依舊可用。所以,本系統(tǒng)使用了DS1302的臨時數(shù)據(jù)寄存器作為配置數(shù)據(jù)的保存位置。由于DS1302有備用電源,配置數(shù)據(jù)不會因掉電而丟失。

  3.4傳感器的數(shù)據(jù)處理

  考慮到應(yīng)用場景的不同,系統(tǒng)給出了8位GPIO擴(kuò)展接口,可用于各種數(shù)字傳感器的擴(kuò)展,如溫濕度傳感器、液位圖11傳感器數(shù)據(jù)處理流程圖傳感器、光強(qiáng)傳感器等。傳感器數(shù)據(jù)處理流程圖如圖11所示。

011.jpg

  以光強(qiáng)傳感器為例。設(shè)光照強(qiáng)度標(biāo)志為Light_Flag,定時器的標(biāo)志為Time_Flag,則傳感器與定時時間標(biāo)志變量關(guān)系表如表1。 表1傳感器與定時時間標(biāo)志變量表 01Light_Flag環(huán)境光照度低于某閾值環(huán)境光照度高于某閾值Time_Flag當(dāng)前時間處于設(shè)定時間內(nèi)當(dāng)前時間處于設(shè)定時間外

  如果被控電器為照明電路,要求“在設(shè)定時間段內(nèi),當(dāng)光照度低于某閾值時,照明電路被開啟”,則偽代碼如下:

  if((Light_Flag&& Time_Flag)==1)

  {打開繼電器;}

  else

  {關(guān)閉繼電器;}

  同理,液位傳感器、溫度傳感器等的數(shù)據(jù)都可以采用這種處理思路。

  4測試效果

  測試中使用了3個定時時間段,并觀察繼電器的通斷狀態(tài)。

  如圖12中主菜單界面所示,共有3個選項,可通過屏幕下方的按鍵實現(xiàn)光標(biāo)的上下移動以及選擇、取消等功能;右圖為實時時鐘設(shè)置界面,通過按鍵實現(xiàn)從年到秒的選擇。

  

012.jpg

  圖13左為定時時間設(shè)置界面。共有四個時間段可以配置。當(dāng)配置完畢后,回到主菜單,進(jìn)入“TIME DISPLAY”子菜單,便可看到右圖的效果。可以看到,時間顯示界面除了顯示當(dāng)前時間外,還用不同的箭頭表示出了定時時間段。舉例來說,對于定時時間1(7:40~9:00),對應(yīng)右圖的純黑色箭頭(黑框之內(nèi))所指時間段,可以從時間軸上非常清晰地顯示出來。

  

013.jpg

  當(dāng)前時間如果落在任何一段設(shè)定時間內(nèi),則繼電器吸合,其指示燈亮起。

5結(jié)束語

  本系統(tǒng)界面簡潔,操作方便,可適用于大多數(shù)家用電器。經(jīng)實際測試,系統(tǒng)用于定時照明場景,持續(xù)工作兩周未出現(xiàn)異常。

參考文獻(xiàn)

  [1] 陳致遠(yuǎn),朱葉承,周卓泉,等.一種基于STM32的智能家居控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(9):138140.[2] 張逢雪,王香婷,王通生,等.基于STM32單片機(jī)的無線智能家居控制系統(tǒng)[J].自動化技術(shù)與應(yīng)用,2011,30(8):98101.

  [3] 徐端全.嵌入式系統(tǒng)原理與設(shè)計[M].北京: 北京航空航天大學(xué)出版社,2009.

  [4] 李寧.基于MDK的STM32處理器開發(fā)應(yīng)用[M].北京: 北京航空航天大學(xué)出版社,2008.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 精品国产欧美 | 色就色欧美综合偷拍区a | 一级毛片aaa| 欧美丝袜nylons丝交 | 性欧美黑人巨大videos | 狠狠色噜噜狠狠狠狠五月婷 | 91精品国产自产在线观看高清 | 欧美成人剧情中文字幕 | 亚洲高清视频免费 | 99re九精品视频在线视频 | 成人羞羞视频网站 | 欧美性一级交视频 | 色偷偷偷| 国产成社区在线视频观看 | 国内精品线在线观看 | 亚洲欧美日韩一区 | 一级片在线视频 | 手机在线免费毛片 | 午夜免费福利 | 亚洲国产一区二区三区青草影视 | 两性午夜欧美高清做性 | 美女黄站 | 妞干网在线视频 | 亚洲国产片高清在线观看 | 国产视频一区在线播放 | 国产一卡二卡≡卡四卡无人 | 在线观看亚洲免费视频 | 亚洲免费视频网址 | 国产一区二区三区亚洲欧美 | 成人在线视频播放 | 国产专区在线 | 一个人看的视频免费观看www | 久久综合五月天婷婷伊人 | 欧美天堂在线观看 | 97精品视频在线观看 | 国产国产精品人在线视 | 欧美一级视频在线观看欧美 | 在线播放第一页 | 亚洲男女视频 | 天天摸日日舔 | 男人的天堂色偷偷之色偷偷 |