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

    【ESP32 實作】繼電器與馬達控制:高低電位觸發、續流二極體、與安全底線

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 14:18:24 | 顯示全部樓層 |閱讀模式
    這篇從「什麼都還沒買」開始,做到一個可以安全控制低壓負載的繼電器裝置,以及一組有互鎖與限位保護的馬達控制。

    每一步都有「你會看到什麼」。做完第三步能自己確認第三步成功了,才走第四步。

    這篇從「什麼都還沒買」開始,做到一個可以安全控制低壓負載的繼電器裝置,以及一組有互鎖與限位保護的馬達控制。

    ⚠ 安全底線先講,這一段請務必看完

    感測是「讀」,控制是「寫」。寫是會出事的。

    什麼情況一定要找有照水電

    不是「建議」,是一定。下面任何一條成立就停手:


    • 要動到牆內的配線 —— 挖開牆、抽換線、動到接線盒裡的既有線路
    • 要動到配電箱 —— 加無熔絲開關、換漏電斷路器、改分路
    • 負載超過 1000W —— 電熱水器、電暖器、烘乾機、冷氣。這個級距的電流會讓「線徑夠不夠」變成真實問題,而線徑是專業判斷
    • 需要接地 —— 金屬外殼的設備。接地做錯比沒接還危險
    • 你不確定眼前這條線是火線還是中性線 —— 這一條沒有討論空間


    自己可以做的範圍


    • 插頭以後的東西 —— 用現成的延長線、插座模組,不動牆內配線
    • 12V / 24V 的直流系統 —— 燈條、直流馬達、電磁閥
    • 用有安規認證的成品模組控制 110V —— Shelly、Sonoff 這類。它們的板子做過爬電距離、隔離、阻燃外殼,而你自己焊的麵包板沒有


    為什麼「用成品模組」不是偷懶

    110V 控制電路的難處不在「接得通」,在於接得通之後還要撐十年不出事:


    • 爬電距離 —— 高壓側的銅箔與低壓側之間要留足夠距離,不然潮濕或積灰之後會打火。麵包板的孔距 2.54mm,遠遠不夠
    • 阻燃外殼 —— 真的起火時,外殼要能把火悶在裡面
    • 安規認證 —— Songle 這類賣場常見的繼電器通常沒有 UL / CE / VDE 認證。火災險理賠時這是會被問到的


    低電壓也不是沒事


    • 12V / 24V 不會電到人,但短路一樣會起火 —— 鋰電池或大容量電源供應器能吐出上百安培
    • 一定要加保險絲,裝在電源正極出來的第一個位置,規格取「正常工作電流的 1.5 倍」
    • 線徑要夠 —— 5A 以上就不要用杜邦線了,那東西大概只能承受 1A


    這篇後面講的電路全部是低電壓的。110V 的部分請買有安規認證的成品。

    ---

    第一步:買零件

    一套的總成本大約 400~700 元。括號裡是台灣賣場(蝦皮、露天、光華商場)常見的搜尋關鍵字。


    • ESP32 開發板 ×1(搜「ESP32 DevKit V1」,約 150~250 元)
    • 雙路繼電器模組 5V 光耦隔離 ×1(搜「2路繼電器模組 5V 光耦 高低電平觸發」,約 60~120 元。關鍵字裡要有「光耦」)
    • 5V / 2A 電源供應器 ×1(搜「5V 2A 電源供應器 DC」,約 80~150 元。不要用電腦 USB 埠供電,繼電器吸合的瞬間會拉低電壓造成 ESP32 重開)
    • 1N4007 二極體 ×5(搜「1N4007 整流二極體」,一包 100 顆約 40 元)
    • IRLZ44N 或 IRF3205 MOSFET ×2(搜「IRLZ44N 邏輯準位 MOSFET」,約 15~30 元一顆)
    • 電阻 220Ω 與 10kΩ 各數顆(搜「1/4W 金屬膜電阻包」,整包約 100 元)
    • 微動限位開關 ×2(搜「微動開關 限位開關 滾輪」,約 15~25 元一顆)
    • 12V 直流減速馬達 ×1(搜「12V 直流減速馬達」,約 150~400 元,看扭力)
    • 麵包板 + 杜邦線 + 三用電表(三用電表約 300~800 元,做這類專案一定要有)


    三用電表為什麼是必備:這篇有四個地方要靠它做判斷(判斷高低電位觸發、量壓降、確認共地、量馬達堵轉電流)。沒有的話你只能猜,而猜錯的代價是燒掉東西。

    ---

    三用電表為什麼是必備

    第二步:判斷你買到的是「高電位觸發」還是「低電位觸發」(⚠ 買錯會開機瞬間全開)

    這是這篇最重要的一步,先做這個再接任何東西。

    繼電器模組的 IN 腳有兩種設計:


    • 高電位觸發(active-HIGH) —— IN 腳給 3.3V 時繼電器吸合
    • 低電位觸發(active-LOW) —— IN 腳拉到 GND 時繼電器吸合。賣場上的便宜模組大多是這種


    為什麼這件事很危險

    ESP32 開機的頭幾百毫秒,GPIO 是浮空或低電位的(韌體還沒跑,腳位還沒被設定成輸出)。

    如果你買到的是低電位觸發,而設定檔裡沒寫 `inverted: true`:


    • 一上電,所有繼電器立刻全部吸合
    • 幾百毫秒後韌體接手才關掉
    • 如果那一頭接的是馬達或加熱器,這幾百毫秒是真的會出事的
    • 更糟的是「開機當機 → 重開 → 又全開」的循環


    怎麼事先判斷(三個方法,照順序)

    方法一:看模組上的跳線帽

    很多雙路以上的模組在角落有一個三針的跳線,旁邊絲印寫 H / L 或 High / Low。跳線插在哪一邊就是哪一種。這是最可靠的,因為它是廠商自己標的。

    方法二:實測(沒有跳線帽就用這個)

    先不要接 ESP32。只接模組的 VCC 到 5V 電源、GND 到電源負極,然後:


    • 拿一條杜邦線,一端插在模組的 IN1,另一端先碰 GND
    • 聽到「喀」一聲、模組上的指示燈亮 → 低電位觸發
    • 沒反應的話,把那端改碰 VCC(5V)
    • 這時候喀一聲 → 高電位觸發


    方法三:看賣場標題

    「高低電平觸發可調」= 有跳線帽。「低電平觸發」= active-LOW。沒寫的話預設當成低電位觸發比較安全。

    設定檔怎麼寫
    1. switch:
    2.   - platform: gpio
    3.     pin:
    4.       number: GPIO26
    5.       inverted: true        # 低電位觸發的模組要加這行
    6.     id: relay1
    7.     name: "繼電器一"
    8.     restore_mode: ALWAYS_OFF
    複製代碼

    `inverted: true` 的意思:ESPHome 裡的「開」對應到腳位輸出低電位。它只影響韌體跑起來之後,救不了開機那幾百毫秒。

    開機瞬間的問題怎麼真正解決

    三層,越上面越有效:

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

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

    本版積分規則

    延伸閱讀

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

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

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

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