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

  郝沛,黃魯

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

  摘要:傳統市電開關需要人為干預,在某些重復定時開關場景下使用不方便,且需要人為判斷通斷的條件。設計了一種智能開關,可以實現設置時間段內開關的自動通斷,并且能夠借助傳感器數據輔助判斷通斷條件。實測結果表明,該系統工作穩定,控制界面簡潔友好。

  關鍵詞市電定時開關時鐘芯片;傳感器;繼電器

0引言

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

1系統簡介

  本系統設計的核心思路是“以弱控強,用戶定制;控時為主,傳感為輔”。硬件上,系統需要實現對傳感器以及外圍模塊的驅動;軟件上,系統需要實現人機交互界面的繪制、時間檢測以及傳感器數據的處理。

  1.1系統功能框圖

001.jpg

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

  1.2系統主要模塊

  1.2.1主控制器STM32

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

  1.2.2定時器DS1302

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

  1.2.3液晶顯示模塊LPH7366

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

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

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

2系統硬件

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

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

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

  (3)人機交互系統:提供人機交互接口,實現數據的反饋以及控制參數的配置;

  (4)時鐘系統:提供實時時鐘數據,供主控系統使用;

  (5)繼電器系統:隔離強弱電系統,并實現3.3 V電平對9 V電平的驅動。

  2.1系統硬件框圖

  系統硬件框圖如圖2所示。

  

002.jpg

003.jpg


  2.2系統電路圖

  2.2.1STM32最小系統電路

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

  2.2.2外圍設備電路

  外設電路包括電源電路、液晶+按鍵電路、實時時鐘電路和繼電器驅動電路。

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

004.jpg

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

  VOUT=1.221×R1-R2R2(1)

  當R1=10 kΩ,R2 =2.7 kΩ時,VOUT=3.301 V。

  (2)時鐘電路

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

  (3)液晶驅動電路

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

  (4)繼電器驅動電路

005.jpg

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

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

  Ib=Ic/β(3)

  Vin=Ib×R4+Vbe(4)

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

3系統軟件

  3.1程序流程圖

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

006.jpg

007.jpg

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

  3.2人機交互界面設計

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

  3.2.1菜單的繪制

  本系統菜單共有兩級,采用鏈表結構設計,其結構如圖8所示。

008.jpg

  鏈表中,每個節點的結構如下:

  typedef struct

  {

  intLocation_Level[3];

  char*Item_Name;

  Menu_Item* Next;

  } Menu_Item;

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

  Item_Name表示當前節點名稱。在顯示時會根據對應節點打印出此字符串。

  Next指向下一節點的指針。

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

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

  3.2.2按鍵的響應

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

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

009.jpg

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

010.jpg

  3.3定時時間的設定

  定時時間設定是在按鍵響應函數中實現的。程序流程圖如圖10所示。

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

  3.4傳感器的數據處理

  考慮到應用場景的不同,系統給出了8位GPIO擴展接口,可用于各種數字傳感器的擴展,如溫濕度傳感器、液位圖11傳感器數據處理流程圖傳感器、光強傳感器等。傳感器數據處理流程圖如圖11所示。

011.jpg

  以光強傳感器為例。設光照強度標志為Light_Flag,定時器的標志為Time_Flag,則傳感器與定時時間標志變量關系表如表1。 表1傳感器與定時時間標志變量表 01Light_Flag環境光照度低于某閾值環境光照度高于某閾值Time_Flag當前時間處于設定時間內當前時間處于設定時間外

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

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

  {打開繼電器;}

  else

  {關閉繼電器;}

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

  4測試效果

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

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

  

012.jpg

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

  

013.jpg

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

5結束語

  本系統界面簡潔,操作方便,可適用于大多數家用電器。經實際測試,系統用于定時照明場景,持續工作兩周未出現異常。

參考文獻

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

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

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


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国内精品久久久久影院不卡 | 日韩一级片 | 亚洲偷 | 狠狠色狠狠色综合久久第一次 | 欧美一级毛片大片免费播放 | 99福利资源久久福利资源 | 国产91精选在线观看网站 | 国产精品偷伦费观看 | 日韩手机看片福利精品 | 成年美女黄网站色视频大全免费 | 国产女厕所 | 美女一级免费毛片 | 怡红院在线观看在线视频 | 精品久久久久久国产91 | 午夜剧场福利社 | 欧美一级片手机在线观看 | 亚洲欧美精品中文字幕 | 亚洲成a人片在线观 | 欧美一级毛片久久精品 | 中国女警察一级毛片视频 | 国产婷婷成人久久av免费高清 | 波多野结衣在线观看一区二区 | 女人让男人桶的小视频 | 真人一级毛片免费完整视 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 狠狠ady精品| 1024手机基地在线看手机 | 正在播放国产精品放孕妇 | 午夜香蕉网 | 亚洲天堂视频在线观看免费 | fc2ppv在线观看| 成人ab片 | 久久久国产一区二区三区丝袜 | 国产成人精品综合在线观看 | 亚洲在线成人 | 免费一级毛片女人图片 | 色偷偷888欧美精品久久久 | 日韩精品不卡 | 国产成人精品999在线观看 | 国产精品欧美一区二区在线看 | 窝窝女人体国产午夜视频 |