一種基于STM32的智能家居系統(tǒng)設(shè)計(jì)
0 引言
科學(xué)技術(shù)的高速發(fā)展大大提高了人們的生活品質(zhì),智能家居作為高品質(zhì)生活的代表產(chǎn)品越來(lái)越受到人們的關(guān)注。智能家居是以居家環(huán)境為平臺(tái),融合了建筑、通信、網(wǎng)絡(luò)、計(jì)算機(jī)、自動(dòng)控制等技術(shù)形成的,集功能性、服務(wù)性、管理性為一體的舒適、安全、便利、環(huán)保的居住環(huán)境,是高新技術(shù)在生活中的典型應(yīng)用之一。
本文基于Cortex—M3架構(gòu)的STM32系列芯片,設(shè)計(jì)開發(fā)了一套智能家居系統(tǒng)。本系統(tǒng)以智能家居控制器為核心,包括智能插座、多功能面板、紅外轉(zhuǎn)發(fā)、電動(dòng)窗簾、窗戶控制模塊、光強(qiáng)度及溫、濕度計(jì)等多種智能家居產(chǎn)品,也可與紅外探測(cè)器、煙感探測(cè)器、門禁控制器、網(wǎng)絡(luò)攝像機(jī)等安防產(chǎn)品組建智能家居的安防系統(tǒng)。智能家居控制器可通過(guò)以太網(wǎng)或Wifi與家庭信息互聯(lián)處理中心通訊;各智能產(chǎn)品通過(guò)RS485總線方式與控制器通訊。對(duì)系統(tǒng)的控制方式包括:上位機(jī)控制、觸屏控制,或利用手機(jī)、iPAD等移動(dòng)互聯(lián)產(chǎn)品進(jìn)行控制。如圖1所示為系統(tǒng)示意圖。
1 智能家居控制系統(tǒng)的整體設(shè)計(jì)
1.1 智能家居控制器
智能家居控制器是智能家居系統(tǒng)的核心處理模塊,是整個(gè)智能家居系統(tǒng)的關(guān)鍵。本設(shè)計(jì)中的智能家居控制器基于STM32芯片設(shè)計(jì),并根據(jù)控制器的功能分為如下幾個(gè)模塊:模擬量采集輸入模塊、開關(guān)量輸出模塊、RS-485通信模塊、ADC轉(zhuǎn)換模塊、以太網(wǎng)接口模塊、JTAG模塊、電源模塊、無(wú)線通信模塊、輸入、輸出LED顯示模塊。其硬件結(jié)構(gòu)框圖如圖2所示。
1.2 智能家居產(chǎn)品
1.2.1 智能插座
智能插座以STM32系列芯片為核心,內(nèi)含ADE7753電能芯片、液晶屏、繼電器等,可計(jì)量顯示對(duì)應(yīng)家用電器的電量參數(shù),并可設(shè)置何時(shí)啟動(dòng)該家用電器的電源,可合理分配家中用電負(fù)荷,實(shí)現(xiàn)智能電網(wǎng)功能,可通過(guò)485總線與控制器通訊,也可獨(dú)立工作。
1.2. 2 多功能面板
多功能面板以STM32系列芯片為核心,包含4路繼電器輸出,可同時(shí)控制4路負(fù)載(燈、排氣扇等),可通過(guò)485總線與控制器通訊,也可獨(dú)立工作。
1. 2.3 紅外多功能轉(zhuǎn)發(fā)器
紅外轉(zhuǎn)發(fā)器是以STM32系列芯片為核心??蓪W(xué)習(xí)、存貯、接收和轉(zhuǎn)發(fā)電視機(jī)、空調(diào)及其他電器的遙控器紅外信號(hào),可通過(guò)485總線與控制器通訊,也可獨(dú)立工作。
1.2. 4 觸摸屏
本設(shè)計(jì)采用的彩色觸摸屏是一套以嵌入式低功耗CPU為核心(主頻400MHz)的高性能嵌入式一體化觸摸屏。該產(chǎn)品設(shè)計(jì)采用了7英寸高亮度TFT液晶顯示屏(分辨率800×480),四線電阻式觸摸屏,高檔塑料結(jié)構(gòu),工業(yè)級(jí)低功耗,CPU400MHz,64M內(nèi)存,64M閃存,1*RS232(隔離接口),1*RS485(隔離接口),1*USB接口(一主一從),24VDC電源輸入,功耗小于7W。同時(shí)還預(yù)裝了嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)組態(tài)軟件??赏ㄟ^(guò)485與智能家居控制器通訊,可實(shí)現(xiàn)遙控、遙信、遙調(diào)及情景模式的設(shè)定。
2 智能家居系統(tǒng)的硬件平臺(tái)設(shè)計(jì)
智能家居控制器主要涉及到的硬件部分包括STM32F103VET系列芯片、8路達(dá)林頓驅(qū)動(dòng)ULN2803、8路雙向光耦隔離TLP280-4、2路高速光耦隔離6N137、5路RS485 SN65LBC184、以太網(wǎng)ENC28J60、FLASH存儲(chǔ)器SST25VF016B。
2. 1 STM32F103VET系列芯片
STM32F103VET系列芯片使用高性能的ARMCortex-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)512k字節(jié)的閃存和64K字節(jié)的SRAM)帶512k字節(jié)閃存的微控制器。包含3個(gè)12位的ADC、4個(gè)通用16位定時(shí)器和2個(gè)PWM定時(shí)器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:多達(dá)2個(gè)I2C接口、3個(gè)SPI接口、2個(gè)I2S接口、1個(gè)SDIO接口、5個(gè)USART接口、一個(gè)USB接口和一個(gè)CAN接口。USB、CAN、11個(gè)定時(shí)器、3個(gè)ADC、13個(gè)通信接口。本設(shè)計(jì)中對(duì)STM32F103VET芯片的管腳做了功能劃分,如圖3所示。
2.2 8路達(dá)林頓連接晶體管陣列ULN2803
8路NPN達(dá)林頓連接晶體管陣列適用于低邏輯電平數(shù)字電路(如TTL、CMOS或PMOS/NMOS)和較高的電流/電壓要求之間的接口,廣泛應(yīng)用于計(jì)算機(jī)、工業(yè)用和消費(fèi)類產(chǎn)品中的燈、繼電器、打印錘或其它類似負(fù)載中。所有器件具有集電極開路輸出和續(xù)流箱位二極管,用于抑制躍變。ULN2803的設(shè)計(jì)與標(biāo)準(zhǔn)TTL系列兼容,采取AP=DIP18,AFW=SOL18封裝方式,在本設(shè)計(jì)中ULN2803用于8路繼電器輸出的驅(qū)動(dòng)電路。
2.3 雙向光耦隔離TLP280-4和高速光耦隔離6N137
TLP280-4是一塊超小且超薄的耦合器,適用于貼片安裝,常用于PCMCIA傳真調(diào)制解調(diào)器、可編程控制器電路中。6N137光耦合器是一款用于單通道的高速光耦合器,其內(nèi)部電路由一個(gè)850 nm波長(zhǎng)AlGaAs LED和一個(gè)集成檢測(cè)器組成,其檢測(cè)器由一個(gè)光敏二極管、高增益線性運(yùn)放及一個(gè)肖特基鉗位的集電極開路的三極管組成。6N137具有溫度、電流和電壓補(bǔ)償功能,廣泛用于高速數(shù)字開關(guān)、馬達(dá)控制系統(tǒng)和A/D轉(zhuǎn)換等電路中。本設(shè)計(jì)中采用TLP280-4構(gòu)成控制器的8路光耦隔離輸入端電路,采用6N137構(gòu)成控制器的2路高速光耦隔離輸入端電路。
2.4 RS485接口通信芯片SN65LBC184
本設(shè)計(jì)中前端智能設(shè)備和探測(cè)器之間通過(guò)SN65LBC184進(jìn)行半雙工方式通信。
SN65LBC184工作原理電路如圖4所示。由DIR5控制通信方向,當(dāng)DIR5端為高電平時(shí)控制器為接收狀態(tài),反之,控制器則為發(fā)送狀態(tài)。
2.5 以太網(wǎng)模塊ENC28J60
本設(shè)計(jì)中各個(gè)控制器間可通過(guò)以太網(wǎng)口實(shí)現(xiàn)與家庭信息互聯(lián)處理中心的通信。
2.6 FLASH存儲(chǔ)器SST25VF016B
在本設(shè)計(jì)中利用FLASH存儲(chǔ)器SST25VF016B存儲(chǔ)各設(shè)備的IP地址。
2. 7 ADE7553單相電能計(jì)量芯片
ADE7553單相電能計(jì)量芯片具有高精度、低功耗的特點(diǎn)。有功電能計(jì)量誤差小于0.1%,具有SPI串口通訊方式和DI\DT傳感器接口,使用5V直流電源供電。該芯片內(nèi)部有很多寄存器,在設(shè)計(jì)中只需通過(guò)對(duì)其寄存器進(jìn)行讀寫操作即可。
2.8 系統(tǒng)供電電路
控制器可提供雙路12V/0.5A的電源輸出,供與之相連的智能產(chǎn)品或模塊使用。電路如圖5所示。
3 智能家居系統(tǒng)的軟件設(shè)計(jì)
整個(gè)智能家居系統(tǒng)的軟件設(shè)計(jì)主要包括三部分:智能家居上位機(jī)管理軟件、智能家居產(chǎn)品(控制器、智能插座、多功能面板等)、觸摸屏。其中,智能家居上位機(jī)管理軟件是基于Lab VIEW開發(fā)環(huán)境開發(fā)的應(yīng)用軟件,是系統(tǒng)的集中管理手段和工具。該軟件通過(guò)以太網(wǎng)協(xié)議和智能家居控制器底層控制協(xié)議在應(yīng)用層面的融合,可實(shí)現(xiàn)對(duì)家居中安防設(shè)備、電氣設(shè)備的控制,溫度、燈光等參量的調(diào)節(jié),以及場(chǎng)景設(shè)置、定時(shí)、遠(yuǎn)程監(jiān)控等功能。如圖6所示為上位機(jī)管理軟件界面和客廳燈光程序框圖。
智能家居產(chǎn)品的軟件設(shè)計(jì)基于STM32單片機(jī),采用C語(yǔ)言編寫完成。包含控制器程序和多個(gè)設(shè)備的驅(qū)動(dòng)程序。智能模塊和控制器間通過(guò)RS485接口進(jìn)行通訊,可以直接使用標(biāo)準(zhǔn)的串口驅(qū)動(dòng)程序。設(shè)計(jì)驅(qū)動(dòng)程序的大部分工作就是根據(jù)硬件結(jié)構(gòu)來(lái)“填寫”框架中的函數(shù)。主要的函數(shù)包括open()、read()、write()、ioctl()、release()、module_init()和module_exit()等。
觸摸屏通過(guò)RS485與智能家居控制器通訊,通過(guò)預(yù)裝的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)組態(tài)軟件,實(shí)現(xiàn)對(duì)家居設(shè)備的控制和情境模式的設(shè)定。如圖7所示為觸摸屏的界面。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)了一個(gè)基于STM32的智能家居系統(tǒng),包括控制器、智能電度表、智能插座、多功能面板等多個(gè)智能家居模塊。同時(shí),配合紅外探測(cè)器、煙感探測(cè)器、門禁控制器、網(wǎng)絡(luò)攝像機(jī)等安防產(chǎn)品可組建成完善的智能家居系統(tǒng)。本系統(tǒng)具有控制方式多樣靈活、模塊功能可擴(kuò)展性強(qiáng)、設(shè)備操作簡(jiǎn)單易行等優(yōu)點(diǎn),適合家庭、教學(xué)、實(shí)驗(yàn)開發(fā)等多個(gè)領(lǐng)域。