物聯(lián)網(wǎng)
- 首頁 >> 新聞資訊 >> 博客文章 >> 物聯(lián)網(wǎng)
智能開關(guān)硬件電路程序設(shè)計
智能家居是以住宅為平臺,利用綜合布線技術(shù),網(wǎng)絡(luò)通信技術(shù)與自動控制技術(shù)相結(jié)合發(fā)展的一種新興技術(shù)產(chǎn)物。而智能開關(guān)是智能家居的一種體現(xiàn)形式。早期的智能開關(guān)只能通過其預(yù)設(shè)的程序執(zhí)行操作,無法對設(shè)備進(jìn)行遠(yuǎn)程控制且體現(xiàn)智能家居的智能化。之后出現(xiàn)的智能家居解決方案是將設(shè)備通過雙絞線與網(wǎng)絡(luò)實現(xiàn)連接,由于有線連接存在著傳輸距離短以及布線困難的問題,其在智能家居的設(shè)計中已被逐漸淘汰。隨著無線技術(shù)的發(fā)展,其遠(yuǎn)距離,低功耗,低成本的優(yōu)勢逐漸體現(xiàn)。故現(xiàn)代智能家居多采用無線連接技術(shù)。Wi-Fi是一種允許電子設(shè)備連接到一個無線局域網(wǎng)的技術(shù),通常使用2.4GHz射頻頻段進(jìn)行數(shù)據(jù)傳輸。使用2.4GHz頻段具有成本低,通用性強,發(fā)射電路結(jié)構(gòu)簡單等優(yōu)勢,故被智能家居的設(shè)計所廣泛采用。
一、STC15系列單片機與ESP8266芯片概述
STC15系列單片機是宏晶科技生產(chǎn)的一系列兼容8051內(nèi)核的低成本,低功耗,高速單片微型計算機。在STC15系列單片機中,STC15F2K60S2的應(yīng)用較為廣泛。其內(nèi)置60K的大容量Flash儲存器和2K的RAM。與傳統(tǒng)8051內(nèi)核單片機不同,STC15F2K60S2自帶兩個全雙工的UART串口,并且在片內(nèi)內(nèi)置了一個8通道的10bit模數(shù)轉(zhuǎn)換器,可以省去外接的A/D轉(zhuǎn)換芯片,空余出數(shù)據(jù)總線供單片機I/O接口使用。除此之外其還內(nèi)置了三個16位的定時器,高精度的晶體振蕩器,1K的EEPROM供用戶使用(通過IAP技術(shù)讀寫內(nèi)部Flash儲存器實現(xiàn)),內(nèi)置的EEPROM可供掉電保存數(shù)據(jù)使用。
ESP8266是由ESPRESSIF公司生產(chǎn)的一款低功耗,高集成度的物聯(lián)網(wǎng)Wi-Fi芯片。其內(nèi)置了一個時鐘頻率160MHz的32位高速微處理器,標(biāo)準(zhǔn)數(shù)字外設(shè)接口、天線開關(guān)、射頻模塊、功率放大器、低噪放大器、過濾器和電源管理模塊等。得益于其芯片的高集成度,ESP8266芯片可以在外圍只有7個元件的情況下工作。
二、智能開關(guān)的設(shè)計與實現(xiàn)
整個系統(tǒng)根據(jù)其功能可分為控制模塊,采集模塊和通信模塊。具體結(jié)構(gòu)如圖1所示。
2.1控制模塊
控制模塊由IN4007型二極管,PC817光耦,S8050NPN型三極管和5V繼電器組成。由于單片機I/O接口輸出電流小,無法直接驅(qū)動繼電器,故需光耦元件間接驅(qū)動,同時單片機引腳與繼電器線圈之間通過光耦元件實現(xiàn)光電隔離,避免了強電電路和弱電電路之間的相互干擾,有效提高了系統(tǒng)的可靠性和穩(wěn)定性。由于繼電器線圈在斷開時會產(chǎn)生較高的反電動勢,為保護(hù)光耦元件不被損壞,需要在繼電器線圈兩端并聯(lián)一個續(xù)流二極管,為了確保保護(hù)效果,在此選用開關(guān)速度較快的IN4007二極管作為續(xù)流二極管。由于驅(qū)動繼電器需要較大的電流,較大的驅(qū)動電流可能會損壞光耦器件,故需在光耦輸出的下一級連接一個S8050三極管用于放大光耦的控制信號。
2.2通信模塊
單片機與上位機之間的通信在該設(shè)計中通過ESP8266物聯(lián)網(wǎng)WiFi芯片實現(xiàn)。ESP8266芯片同時支持TCP與UDP協(xié)議,且支持Client與AP兩種模式,可實現(xiàn)上位機與芯片間的局域網(wǎng)通信或直接通信。AT指令分析短信息的解碼和編碼是軟件編程的核心。AT命令集是調(diào)制解調(diào)器通信接口的工業(yè)標(biāo)準(zhǔn),是調(diào)制解調(diào)器可以識別并執(zhí)行的命令。由于芯片支持基于字符串的AT指令,故將STC15單片機的RxD2,TxD2引腳與ESP8266-ESP-01模塊的TxD,RxD引腳相接。
正常工作時,芯片模組的供電端Vcc連接3.3V直流電源,GND端接地,同時,芯片正常工作時應(yīng)將CH_PD端的電平拉高。由于模塊串行口初始波特率為115200bps,可以在與單片機連接前通過相應(yīng)的AT指令語句AT+CIOBAUD=<波特率>,<數(shù)據(jù)位>,<停止位>,<奇偶校驗位>,<流控位>設(shè)置為自定義的波特率,設(shè)置完成后需將單片機串行口也設(shè)置為相同波特率。上電完成的同時需要將ESP8266芯片初始化,AT+CWMODE=<工作方式>指令用于確定芯片的工作方式,方式1為Client模式,方式2為AP模式,在此選用方式1。設(shè)置完成后單片機向ESP8266發(fā)送無線網(wǎng)絡(luò)的相關(guān)信息,通過AT指令:AT+CWJAP=<SSID>,<Password>設(shè)置無線網(wǎng)絡(luò)的SSID與密碼,設(shè)置完成后,通過單片機對返回的字符串進(jìn)行比較,若ESP8266芯片返回”WIFICONNECTED”和”WIFI GOT IP”字符串,則說明網(wǎng)絡(luò)連接成功,否則連接失敗進(jìn)行重新連接。設(shè)備的IP地址由局域網(wǎng)內(nèi)DHCP服務(wù)器自動分配。成功連接無線網(wǎng)絡(luò)后需要對上位機TCP服務(wù)器的IP地址以及端口號進(jìn)行配置,通過AT指令:AT+CIPSTART=<Type>,<IP Address>,<Port>可以配置,其中Type中可選擇采用UDP或者TCP協(xié)議,由于UDP是一種無連接的傳輸層協(xié)議,在數(shù)據(jù)傳輸過程中不及TCP協(xié)議可靠,在此選用TCP協(xié)議作為傳輸協(xié)議。設(shè)置完成后若芯片返回字符串”CONNECT OK”則表明單片機與上位機即成功建立了基于無線局域網(wǎng)的通信。
2.3采集模塊
由于智能開關(guān)的負(fù)載有限,若長期超載工作則會引起設(shè)備過熱引發(fā)火災(zāi)或者損壞設(shè)備,故需要對智能開關(guān)進(jìn)行過載保護(hù)。電流通過導(dǎo)線時會產(chǎn)生磁場,利用線性霍爾元件可以間接測量出導(dǎo)線中通過的電流。在此采用霍爾元件檢測電流,將回路中電流值轉(zhuǎn)換為電壓值模擬信號輸送給模數(shù)轉(zhuǎn)換器處理,STC15F2K60S2單片機內(nèi)部集成了10bit的模數(shù)轉(zhuǎn)換器,故無需外接額外的A/D轉(zhuǎn)換IC即可完成轉(zhuǎn)換。電流上限閾值由上位機傳輸?shù)絾纹瑱C。當(dāng)系統(tǒng)運行時每隔一定周期比較設(shè)定值與霍爾傳感器的采集值,若測定值大于設(shè)定值則斷開繼電器切斷電源??紤]到上電系統(tǒng)需保持上次設(shè)定參數(shù),每次設(shè)置的參數(shù)都存入單片機自帶的E2PROM中,在程序初始化中調(diào)用E2PROM,讀取斷電前設(shè)定的參數(shù)。
2.4程序總體設(shè)計
由于C語言具有很強的功能性與結(jié)構(gòu)性,可以有效縮短單片機系統(tǒng)的開發(fā)周期且易于調(diào)試與維護(hù),所以在此選用C語言作為智能開關(guān)系統(tǒng)的開發(fā)語言。系統(tǒng)上電后先將掉電前儲存在E2PROM中的變量讀入內(nèi)存,而后進(jìn)行ESP8266的初始化工作,初始化完成及建立與上位機的TCP連接后向上位機發(fā)送就緒指令。當(dāng)系統(tǒng)接收到來自上位機的指令后將觸發(fā)一次串行口中斷,在中斷程序內(nèi)放入字符串比較函數(shù),單片機可根據(jù)不同指令作出不同響應(yīng)。值得注意的是:與傳統(tǒng)12T周期的51單片機不同,STC15FK60S2的機器周期為1T,故在傳統(tǒng)51內(nèi)核單片機上運行的延時程序需要加速12倍后在STC15系列單片機上使用。
三、智能開關(guān)上位機程序的設(shè)計
在此選用Visual Basic.NET作為上位機程序的編程語言。對于軟件開發(fā)人員來講,使用VB.NET開發(fā)技術(shù)相對簡單,入門較快。在上述設(shè)計中ESP8266與上位機的通信是基于TCP協(xié)議的,故可以在上位機上使用Socket與其建立通信。VB.NET中內(nèi)置Socket類,當(dāng)設(shè)備接入網(wǎng)絡(luò)后,在設(shè)備IP地址,端口號和通信協(xié)議均已知的條件下即可與設(shè)備建立通信。經(jīng)不斷調(diào)試,程序能夠按要求與智能開關(guān)通信。
結(jié)語
經(jīng)過不斷的測試,修改電路與程序,基于STC15F2K60S2的智能開關(guān)上電后運行正常,能夠與上位機之間通過無線局域網(wǎng)進(jìn)行通信。經(jīng)過后期測試,系統(tǒng)的控制模塊,通信模塊與采集模塊均工作正常,實現(xiàn)了系統(tǒng)的設(shè)計目標(biāo)。使用時無需額外布線,只需將開關(guān)連接交流電源和無線局域網(wǎng)即可工作。多設(shè)備同時工作時只需通過不同的IP地址即可區(qū)分不同設(shè)備,便于實現(xiàn)系統(tǒng)的集群化分布與統(tǒng)一控制。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的智能開關(guān)開發(fā)示例。如果您有智能開關(guān)控制板方案開發(fā)需求,可以放心交給我們。我們代理多種單片機、語音芯片、雙模藍(lán)牙IC、wifi芯片。品牌有松翰單片機、應(yīng)廣單片機、杰理藍(lán)牙、安凱藍(lán)牙、全志、瑞昱(realtek)。我們的技術(shù)服務(wù)范圍有:PCB設(shè)計、單片機開發(fā)、藍(lán)牙方案、軟硬件定制開發(fā)、APP開發(fā)、小程序開發(fā)、微信公眾號開發(fā)等。還可以承接智能電子產(chǎn)品方案設(shè)計、生活電器開發(fā)、美容儀器研發(fā)、物聯(lián)網(wǎng)平臺應(yīng)用、智能家居控制系統(tǒng)、TWS耳機、藍(lán)牙耳機音箱開發(fā)、兒童益智玩具方案開發(fā)、電子教育產(chǎn)品方案設(shè)計等。
- 返回頂部