找回密碼
 立即註冊
    查看: 164|回覆: 0

    寵物自動餵食器接進 HA:改裝、秤重驗證與異常偵測的完整做法

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 11:47:46 | 顯示全部樓層 |閱讀模式
    自動餵食器本身就會定時,接進 Home Assistant 的價值不在「餵」,在「知道牠到底有沒有吃」。這一篇把一台便宜的定時餵食器改裝成 Home Assistant 控制得了的裝置,加一個秤重的食盆,然後做出「該餵沒餵」和「重複餵」兩種異常偵測。

    自動餵食器本身就會定時,接進 Home Assistant 的價值不在「餵」,在「知道牠到底有沒有吃」。這一篇把一台便宜的定時餵食器改裝成

    這篇做完你會有什麼


    • 一個 button.shou_dong_wei_shi,在 Home Assistant 裡按一下就出料
    • 一個 sensor.shi_pen_zhong_liang,以公克為單位
    • 一個今日餵食次數計數器和一個上次餵食時間記錄
    • 「該餵的時間過了 30 分鐘還沒餵」和「20 分鐘內餵了兩次」兩種警報
    • 一個「放了飼料但一個半小時後幾乎沒動」的通知 —— 這是整篇最有價值的一條


    ⚠ 先講一條不能違反的原則

    餵食本身絕對不可以依賴 Home Assistant。


    • 餵食器要自己有內建的定時功能,而且那個定時要真的設好
    • Home Assistant 只負責監控和額外的手動觸發
    • 網路斷了、Home Assistant 更新失敗開不起來、ESP32 燒壞,寵物還是要有飯吃


    所以這一篇從頭到尾都是「並聯上去」,不會動到餵食器原本的任何功能。改完之後把 ESP32 整個拔掉,餵食器照樣運作。

    步驟 1:先分辨你的餵食器是哪一種


    • 有 App、會連 Wi-Fi 的品牌機 → 先查「品牌名 + Home Assistant」。有官方或社群整合的話,走步驟 2;沒有的話當成下一種處理
    • 只有定時、不連網、面板上有實體按鈕 → 這是本篇的主角,走步驟 3 改裝
    • 完全手動(重力式,沒有馬達) → 沒得改,但步驟 5 的秤重食盆還是做得起來,而且那部分才是重點


    步驟 2:有整合的話先試整合


    • 設定 → 裝置與服務 → 右下角新增整合 → 搜尋品牌名
    • 找不到的話裝 HACS(社群整合商店),再從裡面搜尋
    • 接好之後到開發者工具 → 狀態,搜尋品牌名


    你會看到:通常會有一個 button.xxx_feed 或 number.xxx_portion,以及一個 sensor.xxx_remaining(餘糧)。

    ⚠ 即使有整合也不要跳過步驟 5 的秤重。 餵食器回報的是「我轉了幾圈」,不是「碗裡有多少」,更不是「牠吃了多少」。卡料的時候馬達照轉,紀錄上一切正常。

    步驟 3:改裝一台不連網的餵食器

    原理:面板上那顆「手動餵食」按鈕,按下去就是把兩個接點短路一下。我們用一顆光耦合器做同樣的事,並聯上去。

    3-1 零件清單


    • ESP32 開發板 一片,NT$150 到 300。搜尋關鍵字 ESP32 NodeMCU-32S
    • PC817 光耦合器 一顆,NT$5 到 15。搜尋關鍵字 PC817 光耦。一包十顆更划算
    • 220Ω 電阻 一顆
    • 細尖頭烙鐵(35W 以下)加焊錫,沒有的話約 NT$300
    • 細的單芯線或漆包線 一小段
    • 5V 2A USB 電源 一個,NT$150


    3-2 找出按鈕的兩個焊點


    • 先把餵食器的電源拔掉,電池也拿出來
    • 拆開外殼(多半是底部幾顆螺絲)
    • 電路板上那顆按鈕有四支腳,對角的兩支是同一組
    • 萬用電表轉到通斷檔,兩支表棒去碰那四支腳,兩兩測試
    • 你會看到:按著按鈕時,某兩支腳會嗶,放開就不嗶。那兩支就是目標
    • 用奇異筆在板子上圈起來


    找不到會嗶的組合:那顆可能是薄膜開關(整片塑膠膜印上去的),沒有腳可以焊。這種要改的話得找到薄膜排線接到主機板的那個座子,難度高很多 —— 建議換一台有實體按鈕的機器,這類餵食器不貴。

    3-3 接線與 220Ω 怎麼算

    PC817 有四支腳,有一個小圓點或缺角的那一側是第 1 腳,逆時針數 1、2、3、4:


    • 第 1 腳(LED 正極) 串一顆 220Ω 電阻後接 ESP32 的 GPIO18
    • 第 2 腳(LED 負極) 接 ESP32 的 GND
    • 第 3 腳、第 4 腳 各焊一條細線到步驟 3-2 圈起來的那兩個焊點


    220Ω 是這樣算出來的:


    • PC817 內部那顆 LED 的順向壓降 Vf 約 1.2V,建議工作電流 If 約 5 到 20mA
    • 取中間的 10mA:R = (3.3V - 1.2V) / 0.01A = 210Ω
    • 市售最接近的標準值是 220Ω,實際電流 (3.3 - 1.2) / 220 = 9.5mA,落在建議範圍內
    • 這個電流下 PC817 的電流傳輸比約 100%,輸出側能通約 9.5mA;按鈕接點實際流過的電流是微安等級,綽綽有餘


    為什麼是光耦不是繼電器:餵食器的電路可能跑 3V、5V 或更奇怪的電壓,而且它的地和 ESP32 的地不見得同電位。兩邊接在一起的話,症狀是餵食器誤判按鈕一直被按著(狂出料)或是電池被慢慢吃光。 光耦中間只有一道光,兩邊電氣上完全不相通。

    ⚠ 餵食器的電源要維持原狀:原本插變壓器就繼續插,原本有電池就留著。不要想從 ESP32 拉電給它,那等於把兩邊接在一起,光耦就白裝了。

    3-4 出料偵測(可選,但強烈建議)

    光耦只能「按下去」,不知道有沒有真的出料。最簡單的確認方式是偵測馬達有沒有轉:


    • 在餵食器的馬達旁邊黏一顆震動感測器模組(SW-420),約 NT$30 到 60。搜尋關鍵字 SW-420 震動感測模組
    • VCC 接 3V3、GND 接 GND、DO 接 GPIO22
    • 模組上有一顆藍色小旋鈕調靈敏度,先轉到中間,後面用日誌調


    不想加這個的話也沒關係,步驟 5 的秤重會告訴你有沒有出料 —— 而且更直接(重量有沒有增加)。

    不想加這個的話也沒關係

    步驟 4:做一個會秤重的食盆(這是整篇的核心)

    4-1 零件


    • HX711 模組加 5kg 荷重元套裝,NT$199 起。搜尋關鍵字 HX711 荷重元 5KG 套裝。含砝碼的完整套件約 NT$480 到 785,校正會方便很多但不是必要
    • 兩片壓克力板或厚木板(約 15 x 15 公分),荷重元要夾在中間
    • M4 或 M5 螺絲 四顆加螺帽


    為什麼是 5kg 不是 1kg:荷重元的量程包含「盆子自己的重量」。陶瓷寵物碗常常就有 300 到 600 公克,再加上結構件,1kg 的量程剩不了多少,而且接近滿載時線性度最差。5kg 的解析度在這個用途完全夠(能分辨 1 到 2 公克)。

    以下還有約 80% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-11-10 00:38 , Processed in 0.126125 second(s), 25 queries .

    快速回覆 返回頂部 返回列表