国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

市電定時開關(guān)系統(tǒng)設(shè)計

2016-07-02 09:30:37中國科學技術(shù)大學信息科學技術(shù)學院安徽合肥230026
關(guān)鍵詞:電平中斷按鍵

郝 沛,黃 魯(中國科學技術(shù)大學信息科學技術(shù)學院,安徽合肥230026)

應(yīng)用案例

市電定時開關(guān)系統(tǒng)設(shè)計

郝 沛,黃 魯
(中國科學技術(shù)大學信息科學技術(shù)學院,安徽合肥230026)

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

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

O 引言

隨著家用電器的普及,傳統(tǒng)的手動開關(guān)已經(jīng)無法滿足日益復雜的應(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è)計的核心思路是“以弱控強,用戶定制;控時為主,傳感為輔”。硬件上,系統(tǒng)需要實現(xiàn)對傳感器以及外圍模塊的驅(qū)動;軟件上,系統(tǒng)需要實現(xiàn)人機交互界面的繪制、時間檢測以及傳感器數(shù)據(jù)的處理。

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

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

圖1 市電定時開關(guān)系統(tǒng)功能框圖

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

1.2.1 主控制器STN 32

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

1.2.2 定時器DS13O2

DS1302是DALLAS公司設(shè)計的一款低功耗時鐘芯片,具有涓流充電、閏年補償功能。芯片采用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-復位引腳,需在數(shù)據(jù)傳輸時強制拉高,在數(shù)據(jù)傳輸結(jié)束后強制拉低。

1.2.3 液晶顯示模塊LPH7366

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

LPH7366模塊采用四線I/O口與主機通信: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)、人機交互系統(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)人機交互系統(tǒng):提供人機交互接口,實現(xiàn)數(shù)據(jù)的反饋以及控制參數(shù)的配置;

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

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

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

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

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

2.2 系統(tǒng)電路圖

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

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

圖3 STM32最小系統(tǒng)電路框圖

2.2.2 外圍設(shè)備電路

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

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

圖4 開關(guān)電源TPS5430應(yī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ū)動電路

圖5 繼電器驅(qū)動電路

由于繼電器線圈的工作電平為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ū),則:

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

3 系統(tǒng)軟件

3.1 程序流程圖

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

圖6 主程序流程圖

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

圖7 按鍵中斷處理程序流程圖

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

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

3.2.1 菜單的繪制

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

圖8 系統(tǒng)菜單結(jié)構(gòu)圖

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

tyPedef struct

int Location_Leve1[3];

char* Item_Name;

Menu_Item* Next;

}Menu_Item;

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

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

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

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

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

3.2.2 按鍵的響應(yīng)

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

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

圖9 按鍵響應(yīng)示意圖

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

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

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

圖10 定時時間設(shè)定流程圖

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擴展接口,可用于各種數(shù)字傳感器的擴展,如溫濕度傳感器、液位傳感器、光強傳感器等。傳感器數(shù)據(jù)處理流程圖如圖11所示。

以光強傳感器為例。設(shè)光照強度標志為Light_F1ag,定時器的標志為Time_F1ag,則傳感器與定時時間標志變量關(guān)系表如表1。

圖11 傳感器數(shù)據(jù)處理流程圖

表1 傳感器與定時時間標志變量表

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

if((Light_F1ag&&Time_F1ag)==1)

{打開繼電器;}

e1se

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

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

4 測試效果

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

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

圖12 主菜單(左)與時間設(shè)定界面(右)

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

圖13 定時設(shè)置界面(左)與時間顯示界面(右)

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

5 結(jié)束語

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

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

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

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

Design of time-based househo1d e1ectricity switch

Hao Pei,Huang Lu
(Information Science and Techno1ogy,University of Science and Techno1ogy of China,Hefei230026,China)

Traditiona1 househo1d e1ectricity switch is usua11y oPerated by hands.However,it is inconvenient to use in some rePetitive timing switch scenes,and it needs to judge on-off condition by hands.This PaPer introduces the design of an inte11igent switch,which can run automatica11y based on time Preset and can judge the circumstance by sensors.The test resu1ts show that this system is stabi1ity and can be easi1y oPerated. Key words:time-based househo1d e1ectricity switch;c1ock chiP;sensor;re1ay

TP273.5

A

10.19358 /j.issn.1674-7720.2016.09.027

郝沛,黃魯.市電定時開關(guān)系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2016,35(9):93-96,100.

2016-01-14)

郝沛(1989 -),男,碩士,主要研究方向:嵌入式硬件系統(tǒng)設(shè)計與系統(tǒng)驅(qū)動軟件設(shè)計。

猜你喜歡
電平中斷按鍵
基于有限狀態(tài)機的按鍵檢測程序設(shè)計
電子制作(2021年3期)2021-06-16 03:14:26
跟蹤導練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計
電子制作(2016年1期)2016-11-07 08:43:05
NPC五電平Z源逆變器的設(shè)計研究
基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實踐
基于NPC三電平變換器的STATCOM研究
電測與儀表(2015年2期)2015-04-09 11:28:58
一種多電平逆變器及其并網(wǎng)策略
電測與儀表(2014年7期)2014-04-04 12:09:32
按鍵的多種狀態(tài)檢測及消抖處理方法
家電科技(2013年4期)2013-07-09 10:55:08
AT89C51與中斷有關(guān)的寄存器功能表解
彭山县| 彝良县| 翼城县| 长子县| 平远县| 和龙市| 图木舒克市| 红桥区| 泸水县| 遵化市| 钟祥市| 岑溪市| 孟连| 海伦市| 丹江口市| 民乐县| 耿马| 龙里县| 松潘县| 上林县| 寿光市| 吉林省| 克什克腾旗| 青冈县| 清原| 昆明市| 诸暨市| 芒康县| 大宁县| 海阳市| 朝阳区| 孟津县| 惠水县| 宿松县| 德江县| 铜陵市| 三穗县| 洛隆县| 公安县| 讷河市| 乌拉特中旗|