羸彩彩票

深圳市組創微電子有限公司
銷售部:158 1687 4032采購部:0755-8299 4126行政部:0755-8299 4126
咨詢電話
0755-8299 4141

IoT智慧生活

客戶成功故事與項目成功案例

智能開關硬件電路程序設計


智能家居是以住宅為平臺,利用綜合布線技術,網絡通信技術與自動控制技術相結合發展的一種新興技術產物。而智能開關是智能家居的一種體現形式。早期的智能開關只能通過其預設的程序執行操作,無法對設備進行遠程控制且體現智能家居的智能化。之后出現的智能家居解決方案是將設備通過雙絞線與網絡實現連接,由于有線連接存在著傳輸距離短以及布線困難的問題,其在智能家居的設計中已被逐漸淘汰。隨著無線技術的發展,其遠距離,低功耗,低成本的優勢逐漸體現。故現代智能家居多采用無線連接技術。Wi-Fi是一種允許電子設備連接到一個無線局域網的技術,通常使用2.4GHz射頻頻段進行數據傳輸。使用2.4GHz頻段具有成本低,通用性強,發射電路結構簡單等優勢,故被智能家居的設計所廣泛采用。

一、STC15系列單片機與ESP8266芯片概述

STC15系列單片機是宏晶科技生產的一系列兼容8051內核的低成本,低功耗,高速單片微型計算機。在STC15系列單片機中,STC15F2K60S2的應用較為廣泛。其內置60K的大容量Flash儲存器和2K的RAM。與傳統8051內核單片機不同,STC15F2K60S2自帶兩個全雙工的UART串口,并且在片內內置了一個8通道的10bit模數轉換器,可以省去外接的A/D轉換芯片,空余出數據總線供單片機I/O接口使用。除此之外其還內置了三個16位的定時器,高精度的晶體振蕩器,1K的EEPROM供用戶使用(通過IAP技術讀寫內部Flash儲存器實現),內置的EEPROM可供掉電保存數據使用。

ESP8266是由ESPRESSIF公司生產的一款低功耗,高集成度的物聯網Wi-Fi芯片。其內置了一個時鐘頻率160MHz的32位高速微處理器,標準數字外設接口、天線開關、射頻模塊、功率放大器、低噪放大器、過濾器和電源管理模塊等。得益于其芯片的高集成度,ESP8266芯片可以在外圍只有7個元件的情況下工作。

二、智能開關的設計與實現

整個系統根據其功能可分為控制模塊,采集模塊和通信模塊。具體結構如圖1所示。

圖 1 智能開關內部總體結構

2.1控制模塊

控制模塊由IN4007型二極管,PC817光耦,S8050NPN型三極管和5V繼電器組成。由于單片機I/O接口輸出電流小,無法直接驅動繼電器,故需光耦元件間接驅動,同時單片機引腳與繼電器線圈之間通過光耦元件實現光電隔離,避免了強電電路和弱電電路之間的相互干擾,有效提高了系統的可靠性和穩定性。由于繼電器線圈在斷開時會產生較高的反電動勢,為保護光耦元件不被損壞,需要在繼電器線圈兩端并聯一個續流二極管,為了確保保護效果,在此選用開關速度較快的IN4007二極管作為續流二極管。由于驅動繼電器需要較大的電流,較大的驅動電流可能會損壞光耦器件,故需在光耦輸出的下一級連接一個S8050三極管用于放大光耦的控制信號。

2.2通信模塊

單片機與上位機之間的通信在該設計中通過ESP8266物聯網WiFi芯片實現。ESP8266芯片同時支持TCP與UDP協議,且支持Client與AP兩種模式,可實現上位機與芯片間的局域網通信或直接通信。AT指令分析短信息的解碼和編碼是軟件編程的核心。AT命令集是調制解調器通信接口的工業標準,是調制解調器可以識別并執行的命令。由于芯片支持基于字符串的AT指令,故將STC15單片機的RxD2,TxD2引腳與ESP8266-ESP-01模塊的TxD,RxD引腳相接。

正常工作時,芯片模組的供電端Vcc連接3.3V直流電源,GND端接地,同時,芯片正常工作時應將CH_PD端的電平拉高。由于模塊串行口初始波特率為115200bps,可以在與單片機連接前通過相應的AT指令語句AT+CIOBAUD=<波特率>,<數據位>,<停止位>,<奇偶校驗位>,<流控位>設置為自定義的波特率,設置完成后需將單片機串行口也設置為相同波特率。上電完成的同時需要將ESP8266芯片初始化,AT+CWMODE=<工作方式>指令用于確定芯片的工作方式,方式1為Client模式,方式2為AP模式,在此選用方式1。設置完成后單片機向ESP8266發送無線網絡的相關信息,通過AT指令:AT+CWJAP=<SSID>,<Password>設置無線網絡的SSID與密碼,設置完成后,通過單片機對返回的字符串進行比較,若ESP8266芯片返回”WIFICONNECTED”和”WIFI GOT IP”字符串,則說明網絡連接成功,否則連接失敗進行重新連接。設備的IP地址由局域網內DHCP服務器自動分配。成功連接無線網絡后需要對上位機TCP服務器的IP地址以及端口號進行配置,通過AT指令:AT+CIPSTART=<Type>,<IP Address>,<Port>可以配置,其中Type中可選擇采用UDP或者TCP協議,由于UDP是一種無連接的傳輸層協議,在數據傳輸過程中不及TCP協議可靠,在此選用TCP協議作為傳輸協議。設置完成后若芯片返回字符串”CONNECT OK”則表明單片機與上位機即成功建立了基于無線局域網的通信。

2.3采集模塊

由于智能開關的負載有限,若長期超載工作則會引起設備過熱引發火災或者損壞設備,故需要對智能開關進行過載保護。電流通過導線時會產生磁場,利用線性霍爾元件可以間接測量出導線中通過的電流。在此采用霍爾元件檢測電流,將回路中電流值轉換為電壓值模擬信號輸送給模數轉換器處理,STC15F2K60S2單片機內部集成了10bit的模數轉換器,故無需外接額外的A/D轉換IC即可完成轉換。電流上限閾值由上位機傳輸到單片機。當系統運行時每隔一定周期比較設定值與霍爾傳感器的采集值,若測定值大于設定值則斷開繼電器切斷電源。考慮到上電系統需保持上次設定參數,每次設置的參數都存入單片機自帶的E2PROM中,在程序初始化中調用E2PROM,讀取斷電前設定的參數。

2.4程序總體設計

由于C語言具有很強的功能性與結構性,可以有效縮短單片機系統的開發周期且易于調試與維護,所以在此選用C語言作為智能開關系統的開發語言。系統上電后先將掉電前儲存在E2PROM中的變量讀入內存,而后進行ESP8266的初始化工作,初始化完成及建立與上位機的TCP連接后向上位機發送就緒指令。當系統接收到來自上位機的指令后將觸發一次串行口中斷,在中斷程序內放入字符串比較函數,單片機可根據不同指令作出不同響應。值得注意的是:與傳統12T周期的51單片機不同,STC15FK60S2的機器周期為1T,故在傳統51內核單片機上運行的延時程序需要加速12倍后在STC15系列單片機上使用。

三、智能開關上位機程序的設計

在此選用Visual Basic.NET作為上位機程序的編程語言。對于軟件開發人員來講,使用VB.NET開發技術相對簡單,入門較快。在上述設計中ESP8266與上位機的通信是基于TCP協議的,故可以在上位機上使用Socket與其建立通信。VB.NET中內置Socket類,當設備接入網絡后,在設備IP地址,端口號和通信協議均已知的條件下即可與設備建立通信。經不斷調試,程序能夠按要求與智能開關通信。

結語

經過不斷的測試,修改電路與程序,基于STC15F2K60S2的智能開關上電后運行正常,能夠與上位機之間通過無線局域網進行通信。經過后期測試,系統的控制模塊,通信模塊與采集模塊均工作正常,實現了系統的設計目標。使用時無需額外布線,只需將開關連接交流電源和無線局域網即可工作。多設備同時工作時只需通過不同的IP地址即可區分不同設備,便于實現系統的集群化分布與統一控制。

以上就是我們深圳市組創微電子有限公司為您介紹的智能開關開發示例。如果您有智能開關控制板方案開發需求,可以放心交給我們。我們代理多種單片機、語音芯片、雙模藍牙IC、wifi芯片。品牌有松翰單片機、應廣單片機、杰理藍牙、安凱藍牙、全志、瑞昱(realtek)。我們的技術服務范圍有:PCB設計、單片機開發、藍牙方案、軟硬件定制開發、APP開發、小程序開發、微信公眾號開發等。還可以承接智能電子產品方案設計、生活電器開發、美容儀器研發、物聯網平臺應用、智能家居控制系統、TWS耳機、藍牙耳機音箱開發、兒童益智玩具方案開發、電子教育產品方案設計等。