步驟1:框架和旋轉門
使框架在現有的合縫開口上固定。門像車庫門一樣向上擺動。這種設計具有優于自動門的優點,所述自動門向上或向下滑動用于屋頂傾斜在現有門上或者現有開口鄰近墻壁的屋頂。
1。取下現有的門。
2。選擇適合現有開口的框架尺寸。框架的兩個尺寸很重要 - 框架的高度和木材的寬度。門從水平樞軸擺動,從樞軸到框架的長度(圖中的“D”)與木材的寬度相同。這意味著當門打開時,樞軸上方的門部分不會干擾墻壁。
3。選擇堅固且防風雨的框架材料。我用的是紅膠,經證明是堅固但重的。室外松樹更容易使用。
4。門本身應該是輕質,堅固且防風雨的。
第2步:樞軸桿和擺動門尺寸
門的尺寸應使門的寬度適合框架的內邊緣。門的高度小于框架高度的內部。
1。找到一個直徑約為5毫米(1/4英寸),長度等于框架寬度的桿。我使用拆卸打印機的桿,但螺紋桿就足夠了。桿的另一個來源是金屬衣物烘干架。可以用螺栓切割器或鋼鋸切割桿。用刀片刮掉金屬涂層。
2。從框架頂部開口以及樞軸桿直徑的深度以兩個長度“D”(在前一步驟的圖中)切割兩個凹槽進入框架。
3。找到一個直徑與樞軸桿相同或略大的鉸鏈。用錘子和中心沖頭敲出銷釘。如果您沒有中心沖頭,請使用大釘或類似的銷釘。
通過僥幸,我使用的打印機桿樞軸非常適合從我的垃圾箱出來的第一個鉸鏈。
4。在樞軸下方的旋轉門的底部部分和在樞軸上方的頂部部分的重量需要類似于從打開門的伺服電動機上消除應變。這可以通過鉆在門頂部的一些重型螺栓和螺母來實現。
步驟3:伺服電機和提升臂。
我使用的是MR-996伺服電機。它的扭矩為:9.4 kgf·cm(4.8 V),或11 kgf·cm(7.2 V)。這意味著對于樞軸下方20厘米的門,電機可以在7.2V時升高11千克/20 = 550克。
在樞軸桿上方有計數器加重部分,門可能更重和/或更長。我使用兩個大的螺母和螺栓作為配重,如圖所示。
伺服機配有塑料臂,可安裝在伺服的花鍵輸出軸上。用鋒利的刀或鋼絲刀切割該臂的一側。
2。提升臂由兩段鋁制成,上臂為L型支架,下臂為鋁制平板。
附圖顯示了如何計算每個臂的尺寸。得到的尺寸基于框架寬度“d”和安裝在門上的提升點的位置。
上臂有切口,以便在抬起時臂松開伺服電機門。
步驟4:鎖定電磁閥和開門支持
1。安裝在框架上的螺線管有兩個用途:
a)關閉門時鎖定門,
b)防止門在打開后關閉。
螺線管通過FET從控制器的輸出端驅動。當門處于打開或關閉狀態時,它會縮回幾秒鐘。
2。如圖所示固定一塊木材。它將比框架寬度短并安裝在樞軸桿下方。
步驟5:控制器
1。我使用Arduino Uno 3作為控制器的基礎。總共有17個輸入和輸出引腳。
2。控制器通過帶有備用電池的I2C RTC控制器保持時間。最好配備可充電電池,以節省每年打開控制器以更換RTC電池的工作量。時間通過旋轉控制器設置,并顯示在4位7段LED上。可以使用液晶顯示屏顯示更多信息,例如門打開和關閉的次數。
3。使用10k歐姆線性電位計調節開啟和關閉時間。我可以使用旋轉編碼器和LED顯示器來設置打開/關閉時間,但是決定用戶能夠走近并從遠處看到面板的時間會更簡單。時間只需要每周更換一次。
4。無線射頻適配器(https://www.adafruit.com/product/1097),便于從遠處手動打開和關閉。密鑰卡網址:https://www.adafruit.com/product/1391
5。我選擇安裝控制器的盒子很小,所以我需要在它上面加一個小盒子以適合遠程接收器。
6。附上了Fritzing圖。
步驟6:代碼
代碼循環并執行以下操作:
1。掃描面板開關的狀態,
2。讀取RTC并將時間轉換為當天的分鐘數(0到1440)。
3。讀取兩個模擬電位器并轉換為整數打開和關閉時間。為了給出更精細的時間設置分辨率,開放的關閉時間分別限制在凌晨3點到9點到3點到9點之間。
4。讀取RF輸入以查看是否按下了遠程按鈕。
5。比較當前時間與打開和關閉時間,并讀取模式以確定打開或關閉門。
添加手動打開和關閉開關使軟件設計變得復雜,系統需要在此之間切換。手動‘和’自動,即定時‘模式。我解決了這個問題,沒有添加另一個’模式‘開關,讓用戶按下打開或關閉開關兩次以返回自動模式。
單擊打開或關閉按鈕可將控制器移至手動模式。如果在關閉時間之后打開門,或許是為了讓一只已故的雞進入雞舍,那么用戶將忘記將門設置回自動模式。因此,LED顯示屏顯示手動模式,顯示“打開”或“關閉”作為提醒。
我從中獲取的LED顯示庫:https://github.com/avishorp/TM1637
步驟7:控制器部件列表
Arduino Uno 3
4位7段模塊
MG 996R伺服電機
1k歐姆電阻器
FET:FQP30N06L。 https://www.sparkfun.com/products/10213
2 x 10kOhm電位器(打開/關閉設定時間)
帶內置按鈕的旋轉編碼器
跳線
1 x SPDT撥動開關(小時/分鐘設定選擇器)
1 x SPDT瞬間偏離中心(用于手動打開/關閉)
1 x SPDT中心關閉(用于消隱/時間視圖/時間設置選擇器)
電磁閥:推拉6- 12V 10MM行程
Adafruit簡易RF M4接收器 - 315MHz瞬時類型
Keyfob雙鍵RF遙控器 - 315MHz
Box
步驟8:電源和太陽能電池板和電池尺寸。
1。雖然Arduino可以從12Vdc運行,但這樣做會使它的板載線性穩壓器運行起來很熱。伺服電機在更高的電壓(《7.2V)下工作得更好,因此折衷的是運行9Vdc系統并使用DC-DC對流器為電磁閥和6V的伺服電源供電。我想DC-DC轉換器可以省去,Arduino,伺服電機和電磁閥操作同一個6V(1A)電源。建議使用100uF電容從伺服和電磁閥中濾除Arduino。
2。我制造的控制器吸收了大約200mA的靜態電流。當螺線管和伺服系統運行時,電流消耗約為1A。
LED顯示屏可以通過開關消隱,以節省電池電量。
考慮到門打開或關閉大約需要7秒鐘,并且僅打開和關閉操作每日兩次,每日功耗估算中的1A被忽略。
它可以用1A 9V插頭包裝,但主電源和插頭包需要避開天氣。
3。每日能量使用計算為24h x 200mA = 4800mAh。具有20W太陽能電池板的7Ah鉛酸電池應該足以在每年平均5小時日照的區域中進行一天自治。但是隨著更多的電池和更大的面板,會有更多的自治時間。
我使用以下在線計算器來估算電池和面板尺寸:
https://www。 telcoantennas.com.au/site/solar-power-。..
第9步:用戶操作說明。
門在自動或手動模式下運行。
自動模式表示門根據打開或關閉時間設置打開或關閉。當顯示開關設置為“空白”時,自動模式由空白顯示表示。當模式從手動變為自動時,“AUTO”字樣將閃爍200mS。
無論何時激活控制器上的遙控器或開關,門都會進入手動模式。當顯示屏顯示“OPEn”或“CLSd”且顯示屏開關設置為“空白”時,表示手動模式。
在手動模式下,忽略打開/關閉時間設置。如果手動打開,則由用戶記住關閉門,或者如果手動關閉則打開門,或者設置回自動模式。
要切換回自動模式,如果門已關閉,用戶必須再次按“關閉”按鈕;如果門已經關閉,則必須再次按“打開”按鈕。
門在一天開始時以自動模式啟動( 12:00 AM)。
步驟10:鈴聲和口哨
未來的一些改進可能包括:
無線門鈴在門打開/關閉時發出信號
如果系統汲取的電流等于電磁閥和伺服電壓超過10秒,“發出警報”。
藍牙和應用程序配置控制器。
互聯網控制的開啟和關閉。
用LCD取代LED顯示屏以顯示更多信息。
取消開/關時間設定電位器并使用撥動開關和現有的旋轉開關設置開/關時間。
責任編輯:wv
-
Arduino
+關注
關注
188文章
6478瀏覽量
188288 -
自動門控制
+關注
關注
0文章
3瀏覽量
1240
發布評論請先 登錄
相關推薦
自動化行業中PID控制的前景
如何使用Arduino實現CAN總線通信
雞舍環境智能控制系統
D-B54磁性傳感器在機床自動門處的工作原理
常用邏輯門芯片有哪些
智能雞舍環境控制系統組成與功能
ESP32使用Arduino啟用藍牙后編譯固件過大,怎樣縮減大小呢?
利用Arduino的自動風扇速度控制電路設計

使用idf.py命令方式編譯,怎樣才能編譯arduino的庫,并且在項目中可調用?
求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的庫?
如何用Arduino制作一個簡易自動喂魚器
ESP32-C3+智能車庫門應用方案 小尺寸低功耗

如何制作自己的Arduino電容計

評論