《基于Arduino UNO的智能插座設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于Arduino UNO的智能插座設(shè)計(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于Arduino UNO的智能插座設(shè)計
智能插座是智能家居的重要組成部分。設(shè)計的智能插座以Arduino UNO為核心,由處理器模塊、以太網(wǎng)通信模塊、Wi-Fi通信模塊、電源模塊、電能傳感模塊、繼電器模塊等組成,可使用手機(jī)APP進(jìn)行遠(yuǎn)程開關(guān)控制,實現(xiàn)即時控制、定時控制、過流過壓控制等功能。
1 概述
智能插座是智能家居的重要組成部分,在完成插座的分配單路或者多路電源的基本功能的基礎(chǔ)上,還具有智能化的特點。
本文設(shè)計了一種以Arduino UNO為核心的智能插座,可以實現(xiàn)通過因特網(wǎng)使用手機(jī)APP對插座進(jìn)行遠(yuǎn)程控制和狀態(tài)監(jiān)測,同時也具備與其它智能家居系統(tǒng)有機(jī)結(jié)
2、合進(jìn)行聯(lián)動的能力。
2 智能插座的硬件系統(tǒng)
智能插座的硬件系統(tǒng)由處理器模塊、以太網(wǎng)通信模塊、Wi-Fi通信模塊、電源模塊、電能傳感模塊、繼電器模塊等組成,如圖1所示。
2.1 處理器模塊
本智能插座使用以Arduino UNO單片機(jī)組件為核心的處理器模塊。處理器采用ATmega328處理器,擁有14路的I/O口,其中6路為mini輸入接口,另外6路用于PWM輸出。Arduino UNO有一個16MHz的晶振和一個用來復(fù)位的按鍵,提供一個電源插孔和一個USB接口,另外還有一個ICSP header。
Arduino UNO 可以通過不同的的傳感器
3、對環(huán)境感知測量,電路板上的微控制器能夠通過編程寫入程序,以二進(jìn)制的形式燒寫到單片機(jī)的微控制器中。基于Arduino 單片機(jī)來設(shè)計的設(shè)備可以只采用Arduino 單片機(jī)一種獨立模塊,當(dāng)然也可以搭配一些其他的在電腦上運行的軟件。
2.2 以太網(wǎng)模塊
以太網(wǎng)模塊采用W5100以太網(wǎng)模塊。此模塊是一款擁有多功能的單片網(wǎng)絡(luò)接口芯片,內(nèi)部集成有 10/100Mbps 以太網(wǎng)控制器。主要應(yīng)用于高集成、高穩(wěn)定、高性能和低成本的嵌入式系統(tǒng)中。使用 W5100 可以實現(xiàn)沒有操作系統(tǒng)的 Internet 連接,可以與 IEEE802.310BASE-T和 802.3u 100BASE-TX兼容。
4、
2.3 Wi-Fi模塊
Wi-Fi模塊是基于Uart接口的符合Wi-Fi無線網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置無線網(wǎng)絡(luò)協(xié)議IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口或TTL電平數(shù)據(jù)到無線網(wǎng)絡(luò)之間的轉(zhuǎn)換。
2.4 繼電器模塊
繼電器是自動化領(lǐng)域最常用到的一種弱電控制強(qiáng)電的電器設(shè)備。本智能插座設(shè)計使用的是信號繼電器,一個三極管來驅(qū)動繼電器。在繼電器電路內(nèi)部線圈兩端添加二極管來吸收線圈斷電情況下所產(chǎn)生的反電勢,以達(dá)到防止干擾的目的。上圖中AB為常開觸點,AC為常閉觸點。
2.5 電源模塊
電源模塊將市電轉(zhuǎn)換為電壓為5V的直
5、流電,為各個系統(tǒng)提供電源。智能插座的電源系統(tǒng)要求對電網(wǎng)質(zhì)量適應(yīng)性強(qiáng)、工作穩(wěn)定、體積小。本次設(shè)計采用的是以7805為核心的電源變換模塊,最大輸出電流為1A。
電源部分還設(shè)計了USB充電功能,可以為手機(jī)等設(shè)備充電。
2.6 電能傳感模塊
電能傳感模塊的設(shè)計以ADE7755為核心,在保證低成本、小體積的同時,又具有高精度和高可靠性,其技術(shù)指標(biāo)超過了IEC1036規(guī)定的要求。在工作時,ADE7755通過兩個16位二階Σ-△模數(shù)轉(zhuǎn)換器(ADC)將電壓和電流信號數(shù)字化,將電流和電壓的瞬時信號直接通過內(nèi)部乘法器得到瞬時功率信號,該信號經(jīng)頻轉(zhuǎn)換器得到與平均有功功率成正比的頻率信號
6、,經(jīng)CF引腳輸出。
3 軟件設(shè)計
智能插座軟件設(shè)計分為Arduino UNO編程設(shè)計和手機(jī)APP設(shè)計兩部分。
3.1 Arduino UNO編程設(shè)計
Arduino UNO軟件開發(fā)采用C語言進(jìn)行編程,使用Arduino IDE1.05進(jìn)行編譯,USB轉(zhuǎn)串口線連接計算機(jī)進(jìn)行燒寫。
軟件系統(tǒng)包括網(wǎng)絡(luò)配置程序、網(wǎng)絡(luò)數(shù)據(jù)接收程序、繼電器控制程序、電能傳感接收程序、充電控制程序等。網(wǎng)絡(luò)配置程序?qū)⒅悄懿遄c因特網(wǎng)連接。繼電器控制程序根據(jù)手機(jī)APP發(fā)出的指令、或者電能傳感接收的狀態(tài)控制繼電器開關(guān)。電能傳感接收程序讀取電能傳感器檢測到的經(jīng)過A/D轉(zhuǎn)換的電流、電
7、壓值,并將該數(shù)據(jù)傳送到處理器中,處理器將該數(shù)據(jù)與預(yù)設(shè)的電流、電壓閾值進(jìn)行比較。網(wǎng)絡(luò)數(shù)據(jù)接收程序通過W5100以太網(wǎng)模塊接受來路由器上的DHCP服務(wù)器的數(shù)據(jù),進(jìn)行網(wǎng)絡(luò)配置。
3.2 手機(jī)APP設(shè)計
智能插座聯(lián)網(wǎng)后,Arduino UNO具備網(wǎng)絡(luò)服務(wù)功能,可以通過APP直接讀取繼電器狀態(tài)、電流電壓數(shù)值等智能插座的各種狀態(tài)信息,也可以向處理器發(fā)送控制指令。本次設(shè)計只設(shè)計了基于Andriod的APP,采用Eclipse進(jìn)行開發(fā)。
主要由用戶身份認(rèn)證、智能插座連接、智能插座狀態(tài)指示、開關(guān)控制、定時控制等功能模塊組成。
用戶身份認(rèn)證通過集中的服務(wù)器平臺認(rèn)證用戶身份;
8、智能插座連接將APP和Arduino UNO的服務(wù)器連接,實現(xiàn)數(shù)據(jù)讀取和控制;智能插座狀態(tài)指示顯示插座上每一路插孔的開關(guān)狀態(tài),點擊該指示,可以進(jìn)行狀態(tài)轉(zhuǎn)換,實現(xiàn)手動控制。為防止誤操作,改變插座開關(guān)狀態(tài)時,需要進(jìn)行一次確認(rèn)。定時控制功能可以設(shè)置每一路插座通斷時間,實現(xiàn)計劃供電。
4 設(shè)計總結(jié)
本設(shè)計只是實現(xiàn)了智能插座的基本功能。未來還要在小型化、集成化、穩(wěn)定性等方面進(jìn)行改進(jìn)。同時,基于電力的網(wǎng)絡(luò)連接、集中式的插座控制和狀態(tài)和檢測、用電量的大數(shù)據(jù)分析等功能也可以在此基礎(chǔ)上實現(xiàn)。另外,系統(tǒng)信息安全保護(hù)也要充分考慮。