robot-notes — 機器人知識筆記 GitHub ↗
本章與本頁目次

核心

robot-notes /核心/硬體/電源與安全

電源、電壓法規與安全機制

這一篇把「電」與「安全」放在一起,因為它們在工程上是一體的:選 24V 不只是夠力,也是為了避開高壓法規;急停不是寫一段程式,而是一條會切斷動力的電路。本篇講電壓法規(日台標準)、急停的電路本質、以及加減速 ramp 與過流/堵轉保護。

只想懂急停與保護機制,直接跳 §25。 §18 是出貨時要查的法規清單(裡面有二十幾個標準編號),屬查閱型內容,初讀可以跳過。

章節編號沿用原始《送餐機器人基礎原理補充》,方便與舊文件對照(故本檔編號不連續,如 §1→§5→§10,非缺漏)。 延伸閱讀:下位機運動控制馬達與 FOC系統架構


18. 電壓法規與日台送餐機器人標準

本節為方向性整理,標準版本與強制範圍會更新;實際出貨認證以檢測機構與主管機關當下公告為準

18.1 「24V 免高壓法規」的精確說法

之前 §1.4 說 24V 是「安全特低電壓」,精確的層次是:

層次 分界 24V 機器人的位置
ES1(產品安全「可觸及限值」,IEC 62368-1;前身 60950-1) ≤60V DC(穩態)、42.4V AC peak ✓ 24V(含 48V)落在內:單一故障下不構成觸電危險,絕緣/防護設計要求大幅簡化
日本「低圧/高圧」(電気設備技術基準) 低圧:AC ≤600V、DC ≤750V;高圧:其上至 7kV 24V 遠低於任何分界
台灣「低壓/高壓」(用戶用電設備裝置規則體系) 600V 以下為低壓,>600V 即高壓;台電高壓用戶常見供電 11.4kV / 22.8kV 同上

(想精確再看,初次可跳過)「SELV」與「ES1」常被混講:表中 ≤60V DC 是產品安全(IEC 62368-1 ES1)的「可觸及限值」;另一條安裝母標 IEC 61140 的 SELV,DC 上限其實是 120V(ripple-free)。兩者不衝突——60V 是「正常+單一故障下可直接觸碰仍安全」的較嚴門檻。重點不變:24V/48V 兩條都過

所以正確理解是:24V 系統屬 SELV 範圍,觸電風險面的法規負擔極輕;但「免高壓法規」≠ 免一切——以下項目照樣要做:

18.2 日本:服務機器人標準體系(較成熟)

18.3 台灣:無專屬強制標準,走「零組件強制 + 整機自願」

18.4 對專案的實際意義

  1. 設計階段就鎖 24V/48V SELV,整機觸電面的合規成本幾乎歸零;升到 60V 以上是法規等級跳變,不要為了馬力輕易跨過。
  2. BOM 上充電器選已有 BSMI/PSE 認證的現成品、無線模組選已有 NCC/技適的模組(模組認證可繼承),自己只剩整機 EMC 要過。
  3. 若目標含日本市場,從機構設計初期就對照 JIS B 8445/8446 的要求(防夾、速度限制、緊急停止、穩定性)比事後補便宜一個數量級。

Sources(2026-06 查證,標準版本以官方公告為準):


25. 急停控制如何達成

25.1 核心原則:急停是「電路」,不是「程式」

§3.1 說過:安全功能即使上位機當機也要有效。急停再進一步——即使下位機(STM32)當機也要有效。所以真正的急停不經過任何 CPU:

急停鏈:常閉按鈕硬接線直達驅動器 STO 封鎖 PWM 使馬達瞬間失去動力,只有一條細線分支進 STM32 GPIO 做知會用,安全路徑完全不經過 CPU

兩個設計細節都呼應 §13.4 的故障安全 (fail-safe) 思想:

  1. 常閉 (Normally Closed) 接點:按鈕沒被按時迴路導通 = 允許運轉;按下或斷線都會斷開 = 停車。線被夾斷、接頭鬆脫,表現為「停下來」而不是「急停失效」。
  2. 鎖定機制 (latching):工業急停按鈕按下後機械卡住,必須旋轉釋放;釋放後系統不得自動恢復運轉,要求操作者另行確認(re-enable)——防止「按鈕彈回車就暴衝」。

25.2 STO:現代驅動器的標準急停入口

STO(Safe Torque Off,安全轉矩關斷)是 FOC 驅動器普遍內建的安全輸入腳:拉斷它,驅動器直接在閘極驅動層封鎖 PWM(閘極=功率電晶體 MOSFET 的開關控制腳;封住它,功率級就無法導通、馬達拿不到電流,§12.4 的欠壓鎖定同層),馬達無法產生扭矩——但驅動器的邏輯電源、通訊都還活著,可以回報狀態。打個比方:STO 像把馬達的「油門訊號」從源頭剪斷,但儀表電腦還醒著能回報;用繼電器硬切 24V 動力線則像直接拔整台車的電瓶——粗暴、有火花、也不知道發生什麼。所以 STO 優雅在:無大電流接點火花、恢復快、狀態可觀測。選驅動器時把「有無 STO 輸入」列入規格檢查項。

25.3 「斷動力」≠「煞車」:急停後車會滑行

切斷馬達動力後,車靠慣性繼續滑行(freewheel)。要理解煞車選項,得先補一個關鍵概念——反電動勢(back-EMF):

馬達轉起來時,自己也會像發電機一樣產生一個反向電壓,轉越快這電壓越大、轉速歸零它就歸零(E = kₑ·ω,與轉速成正比)。這條簡單的正比關係,同時是「短路煞車能煞車」與「堵轉會燒」的共同原因。

反電動勢與轉速成正比 E=kₑ·ω:高轉速端反電動勢大,三相短路時可驅動電流經繞組電阻耗散成煞車力矩(§25.3);零轉速(堵轉)端反電動勢=0,沒有反電壓擋電流,電流飆到 V/R 最大、能量全變熱(§26.3)

知道反電動勢後,煞車對策分層:

機制 原理 適用 / 與 STO 的關係
三相短路煞車 (dynamic/short braking) 把三相繞組短路,轉動產生的反電動勢驅動電流、經繞組電阻耗散成煞車力矩 與 STO 互斥:STO 封住閘極→只能 freewheel,無法主動短路;要短路煞車得把驅動器設成 dynamic-brake 停止模式(二選一)
電磁抱閘 (electromagnetic brake) 斷電時彈簧夾緊、通電才釋放(fail-safe 方向) 有坡道的場域必備(§17.5);可與 STO 並存——STO 一斷電,抱閘的彈簧就夾住,正好同向

釐清一個常見誤解:STO 急停本身得到的是 freewheel(滑行),不是短路煞車——因為 STO 的定義就是封鎖閘極,驅動器沒辦法再主動導通去短路繞組。要在坡道「停住不溜」,靠的是斷電上閘的電磁抱閘(它和 STO 同向,斷電即夾),不是短路煞車。

25.4 完整的停止層級(對照 IEC 60204-1 停止類別)

IEC 60204-1 把停止分成三個類別(差別在「斷不斷動力」與「斷之前有沒有受控減速」):

停止層級:硬體急停 Cat0(不經CPU)→ 韌體層 → 受控減速 Cat1/2,每層失效有更硬一層兜底

設計準則:每一層失效,都有更硬的一層兜底;M1 驗收(§4.4)要分層測試——按鈕測 Cat 0、拔通訊線測韌體層、UI 取消任務測軟體層。(急停只能用 Cat 0 或 Cat 1,不能用 Cat 2——見 ISO 13850。)

Sources(§25,2026-06 查證):


26. 加減速 ramp 與過流/堵轉保護

26.1 加減速 ramp(speed ramping / slew rate limiting)

問題:上位機指令是步階的——「現在 0.8 m/s」。直接照做,加速度衝擊會讓湯灑出、輪子打滑(odometry 毀)、電流暴衝。Ramp = 在目標與輸出之間插一層「變化率限幅器」:

速度 ramp 前後對照:步階指令瞬間跳到 0.8 m/s 造成衝擊,ramp 後以固定斜率 a_max 爬升

實作就是控制週期裡的幾行(接在 §20.3 的 ① 之前):

#define A_MAX   0.4f                 // 最大加速度 m/s²(送餐機 0.3–0.5)
#define D_MAX   0.6f                 // 最大減速度(可比加速大,煞車優先)

float ramp(float target, float current, float dt)
{
    float max_step = (target > current ? A_MAX : D_MAX) * dt;
    float diff     = target - current;
    if      (diff >  max_step) return current + max_step;  // 限幅:每週期最多變這麼多
    else if (diff < -max_step) return current - max_step;
    else                       return target;              // 已夠近,直接到位
}
// 每週期:v_cmd = ramp(v_target, v_cmd, DT); 再進運動學逆解

三個設計點:

  1. 加減速分開設:減速限值放寬(煞車比平順優先),急停(§25)則完全繞過 ramp。
  2. ω 也要 ramp:角加速度不限,原地起轉的甩動一樣灑湯;v 與 ω 的 ramp 要同步縮放,否則轉彎半徑會在加速過程中漂移。
  3. 放在下位機,不能只信上位機:Nav2 controller 雖有 acc limits 參數,但通訊抖動、手動遙控、異常指令都可能繞過——下位機 ramp 是最後一道平滑保證(§3.1)。進階版是 S-curve(梯形加速度,連 jerk 加加速度也限制),湯類配送值得做。

26.2 過流保護(overcurrent protection)

為什麼電流要管:馬達扭矩 ∝ 電流(§2.3 的 iq);電流同時也是發熱來源(P = I²R)。異常大電流 = 撞牆頂著推、爬不上的坡、MOSFET 直通故障——不處理會燒繞組或炸功率橋(§12)。

偵測與反應分三層、三種時間尺度:

層級 英文 偵測方式 反應時間 動作
硬體瞬時過流 hardware overcurrent / cycle-by-cycle current limit 功率橋低邊的分流電阻 (shunt resistor) 電壓 → 比較器,超過閾值直接封鎖當拍 PWM μs 級 逐週期限流,硬體自動
軟體限流 software current limiting FOC 電流環的 ADC 採樣值,韌體比較 ms 級 把 iq 命令夾在上限內(= 扭矩限制 torque limit)
熱保護 thermal / I²t protection I²t 積分:電流平方×時間累積(模擬繞組溫升),或 NTC 溫度感測器實測 秒級 持續過載 → 降額 (derating) 或停機

熱保護跳脫曲線:通過 2×額定容許 5s、3×額定容許 0.5s 兩個示例點;另以虛線疊上純 I²t(t ∝ I⁻²)做對照,顯示實際跳脫曲線比純 I²t 更陡

「絕熱」怎麼推出 I²t = 常數,三步:繞組的發熱功率是 P = I²R(焦耳定律);絕熱的意思是這段時間短到來不及散熱,所以熱全部留在銅線裡,累積能量 E = I²R·t;溫升正比於累積能量(ΔT = E / 熱容)。於是「燒到某個溫度上限」這件事,就等於「I²·t 達到某個定值」——時間與電流平方成反比。這個模型只在短時間內成立,拉長到散熱來得及的尺度就不對了,所以它只管突波不管持續電流。

留意兩件事。第一,純 I²t 是絕熱繞組模型(I²·t 為常數,即 t ∝ I⁻²),而上圖那兩個示例點連出來的曲線比它陡得多——因為實際驅動器在熱模型之外還疊了一道峰值電流上限,不讓大電流靠縮短時間換取通行。第二,因此不要拿 I²t 自己外推別的電流倍數,要看廠商給的那張實際跳脫曲線。

26.3 堵轉偵測(stall detection / locked-rotor detection)

堵轉 = 馬達被卡住(輪子頂住門檻、夾到異物):此時轉速 ≈ 0,反電動勢 ≈ 0,電流飆到最大、且全部變成熱——是過流的最危險形態。偵測邏輯抓它的特徵組合:

// 100Hz 任務內,概念示意
bool stalled = (fabsf(current) > I_STALL_THRESH)    // 電流很大(在用力)
            && (fabsf(w_meas)  < W_STALL_THRESH)    // 轉速幾乎為零(§20 encoder 回授)
            && (fabsf(u_cmd)   > U_CMD_THRESH);     // 而且確實有在命令它動

stall_timer = stalled ? stall_timer + DT : 0;
if (stall_timer > 0.5f) {                           // 持續 0.5s 才判定,濾掉過坎瞬間
    Driver_Disable();                                // 斷輸出
    Report_Error(ERR_STALL);                         // 上報上位機 → 任務層決定重試/求援
}

關鍵就是「大電流 + 零轉速」同時成立——單看電流會誤殺起步瞬間,單看轉速會誤殺正常停車;再加持續時間窗避免過門檻的誤觸發。現成 FOC 驅動器通常內建(規格書找 stall protection / locked-rotor protection),STM32 端要做的是訂閱它的故障碼並接到任務層的異常處理。

26.4 名詞速查(英文)

中文 英文
加減速斜坡 speed ramp / slew rate limiting / trapezoidal velocity profile
S 曲線加減速 S-curve profile(jerk-limited)
過流保護 overcurrent protection (OCP)
逐週期限流 cycle-by-cycle current limit
分流電阻 shunt resistor
扭矩限制 torque limit
熱過載保護 thermal overload / I²t protection
降額 derating
堵轉 stall / locked rotor
堵轉偵測 stall detection / locked-rotor protection

Sources(§26,2026-06 查證):

註:過流分層(逐週期硬體限流 / 軟體限流 / I²t 熱保護)、shunt 電阻電流偵測、堵轉「大電流+近零轉速」判據,屬馬達驅動領域標準工程做法(無單一規範號),由上述第一性原理(扭矩∝電流、發熱∝I²R、堵轉時反電動勢≈0)推得。