這是一個(gè)使用 ESP8266 微控制器的 WiFi 連接迷你百葉窗開啟器。
這個(gè)項(xiàng)目的目標(biāo)是為我的迷你百葉窗構(gòu)建一個(gè)電動(dòng)開啟器,我可以使用 Android 應(yīng)用程序控制它。第二個(gè)動(dòng)力則是能夠讓我更多地了解電子硬件和軟件開發(fā)。我也一直想在一個(gè)項(xiàng)目中使用 ESP8266 WiFi 集成微控制器。
我在這個(gè)項(xiàng)目中使用的百葉窗是典型的水平迷你百葉窗,一側(cè)的魔杖可以傾斜百葉窗,另一側(cè)的弦桿可以拉起百葉窗。這個(gè)項(xiàng)目只處理百葉窗的傾斜。
項(xiàng)目要求
使用 Android 應(yīng)用打開和關(guān)閉百葉窗。
必須能夠在沒有應(yīng)用程序的情況下打開百葉窗。
低能耗,僅在主動(dòng)使用時(shí)才必須啟用電機(jī)。
直觀的控制。
必須可靠且安全。
由直流電源供電,沒有電池。
百葉窗沒有不可逆轉(zhuǎn)的修改。
修改百葉窗
在百葉窗的上部外殼中是一根鋼六角形桿,它沿著百葉窗的長(zhǎng)度延伸。轉(zhuǎn)動(dòng)此桿會(huì)改變刀片的角度。我有一個(gè)步進(jìn)電機(jī),它安裝在這個(gè)上部外殼內(nèi),幾乎與六角形桿對(duì)齊。我能夠使用聯(lián)軸器將步進(jìn)電機(jī)連接到桿上。
有一個(gè)齒輪箱,只允許通過扭轉(zhuǎn)木棒來旋轉(zhuǎn)該桿。我不得不卸下這個(gè)齒輪箱,以便步進(jìn)電機(jī)可以轉(zhuǎn)動(dòng)桿。我還必須設(shè)計(jì)一種在電機(jī)未通電時(shí)保持桿位置的方法。如果沒有東西來保持桿的位置,百葉窗的葉片會(huì)向下傾斜。
解決方案是以足夠的摩擦力固定桿,這樣桿就不會(huì)移動(dòng),除非電機(jī)以足夠的扭矩旋轉(zhuǎn)以克服這種固定摩擦力。這是通過取一塊木頭來完成的,該木頭有一個(gè)孔用于六角桿,一個(gè)垂直于桿的螺紋孔用于固定螺釘。在固定螺釘?shù)哪┒耸且粔K橡膠,當(dāng)固定螺釘被擰緊時(shí),橡膠塞被壓在桿上。通過反復(fù)試驗(yàn),機(jī)器螺釘被調(diào)整到桿被牢固地固定但沒有那么牢固以至于電機(jī)難以轉(zhuǎn)動(dòng)它。
電機(jī)用橡膠墊片固定到位。對(duì)百葉窗的修改成本不高,并且不需要對(duì)外殼進(jìn)行不可逆轉(zhuǎn)的修改。變速箱很容易拆卸,可以毫無問題地放回原處。
控件
步進(jìn)電機(jī)改變百葉窗的傾斜角度。我用陀螺儀/加速度計(jì)傳感器來測(cè)量葉片的角度;向步進(jìn)電機(jī)提供反饋。我想我可以只跟蹤步進(jìn)電機(jī)所采取的步驟來確定位置,但我認(rèn)為直接感應(yīng)角度會(huì)更可靠。傳感器簡(jiǎn)單地用雙面膠帶連接到上刀片之一。
我決定在伺服電機(jī)上使用步進(jìn)電機(jī),因?yàn)闃?biāo)準(zhǔn)伺服在沒有變速箱的情況下沒有足夠的角度行程。我還發(fā)現(xiàn)步進(jìn)電機(jī)更容易使用,因?yàn)樗鼈儾恍枰_的計(jì)時(shí)。我本可以使用帶有編碼器的直流電機(jī),但這對(duì)于這項(xiàng)任務(wù)來說似乎過于復(fù)雜。
我使用了Pololu A4988 步進(jìn)電機(jī)驅(qū)動(dòng)器和Adafruit BNO055 絕對(duì)方向傳感器。
電子外殼
在窗戶旁邊的墻上是一個(gè)包含兩個(gè)界面按鈕和電子設(shè)備的外殼。步進(jìn)電機(jī)和方向傳感器插入此外殼。該項(xiàng)目由插入外殼底部的 12V、3A 開關(guān)直流電源供電。
外殼由 3“ x 3” 鋼箱梁截面切割而成。我擔(dān)心鋼鐵會(huì)阻擋 WiFi 信號(hào),不過并沒有發(fā)現(xiàn)任何問題。
電機(jī)和方向傳感器的電線隱藏在墻上。我使用屏蔽電纜將 EMI 的影響降至最低。在原型設(shè)計(jì)期間,步進(jìn)電機(jī)導(dǎo)線的 EMI 導(dǎo)致方向傳感器發(fā)生故障。
印刷電路板
所有PCB組件都是通孔組件,便于焊接。
主要組成
Adafruit HUZZAH ESP8266 突破
Pololu A4988 步進(jìn)電機(jī)驅(qū)動(dòng)器載體
5V降壓穩(wěn)壓器
3.3V降壓穩(wěn)壓器
Neopixel LED(背面)
我還創(chuàng)建了一個(gè)插入主板的小型調(diào)試模塊,允許我將 ESP8266 置于引導(dǎo)加載程序模式并訪問串行線路而無需取下外殼。
兩個(gè)板的 gerber 文件和原理圖可在此處獲得https://gitlab.com/pfjare/wifi-blinds-pcb。
BOM 可在此處獲取https://docs.google.com/spreadsheets/d/1uPH0UYzaFl-pABCBGOthaaIexG82jPdf_6R0eSZoJQ4/edit?usp=sharing
ESP8266 代碼
在 ESP8266 上運(yùn)行的代碼相當(dāng)簡(jiǎn)單。在允許步進(jìn)電機(jī)移動(dòng)之前,我會(huì)采取措施確保方向傳感器完全運(yùn)行。我在代碼中使用以下庫(kù):
Adafruit_BNO055
Adafruit_Sensor
arduinoWebSockets
Adafruit_NeoPixel
安卓應(yīng)用
該應(yīng)用程序與 ESP8266 建立 websocket 連接,并在應(yīng)用程序未顯示時(shí)斷開連接。當(dāng)按下按鈕時(shí),一條包含所需百葉窗角度的消息將發(fā)送到 ESP8266。有四個(gè)按鈕 Closed Up、Full Open、Part Open 和 Closed Down。
我使用了nv-websocket-client WebSocket 庫(kù)。
該應(yīng)用程序的源代碼可以在本文下方找到
-
微控制器
+關(guān)注
關(guān)注
48文章
7953瀏覽量
155151 -
WIFI
+關(guān)注
關(guān)注
81文章
5406瀏覽量
208368 -
ESP8266
+關(guān)注
關(guān)注
51文章
965瀏覽量
47429
發(fā)布評(píng)論請(qǐng)先 登錄
智能家居細(xì)分市場(chǎng)之智能百葉窗

如何去實(shí)現(xiàn)基于單片機(jī)的百葉窗控制系統(tǒng)設(shè)計(jì)
制作一個(gè)自動(dòng)百葉窗控制板
進(jìn)風(fēng)口百葉窗模的設(shè)計(jì)及制造
基于STM32的變電站智能百葉窗的設(shè)計(jì)與實(shí)現(xiàn)

(畢業(yè)設(shè)計(jì)資料)基于單片機(jī)的百葉窗控制系統(tǒng)設(shè)計(jì)

評(píng)論