訊號問題圖鑑

症狀:停轉時計數在兩個值之間來回跳——遲滯與微振的排查

症狀:停轉時計數在兩個值之間來回跳——遲滯與微振的排查

停在邊沿附近時,噪聲或微振讓比較器反覆過閾值,計數在兩個值之間跳。本文用 Rice 公式給出遲滯判據(1 MHz 頻寬下 H 約需 15σ_v),用 ΔV ≈ A·2π·x_v/p 估算微振,說明遲滯死區的代價和斷開驅動、鎖軸、加遲滯的排查順序。

馬達停住了,上位機的位置卻在 1000 和 1001 之間來回跳,有時幾秒跳一次,有時快得數不過來;換個位置停,又完全不跳。這是停轉時的計數抖動:軸停在某個 A 或 B 邊沿附近,比較器輸入在閾值上下徘徊,輸出隨之反覆翻轉。原因可能是電噪聲,也可能是軸真的在動(伺服保持時的往復、機床結構振動),兩者的處理方法截然不同。本文先把兩者的定量判據推出來,再說明遲滯的代價,最後給出現場排查順序。

停在 A 相邊沿附近,比較器輸入為微振(深藍)疊加噪聲;無遲滯時輸出在 50 ms 內翻轉 186 次,加入 H/A = 0.16 的遲滯帶後不再翻轉,代價是兩沿各滯後約 0.25 μm(示例引數,噪聲放大顯示)
圖1 停在 A 相邊沿附近,比較器輸入為微振(深藍)疊加噪聲;無遲滯時輸出在 50 ms 內翻轉 186 次,加入 H/A = 0.16 的遲滯帶後不再翻轉,代價是兩沿各滯後約 0.25 μm(示例引數,噪聲放大顯示)

停在邊沿上會發生什麼

設軸停在距 A 相邊沿 d 處。邊沿附近正弦訊號近似線性,比較器輸入為

v ≈ A·2π·(d + x_v·sin2πf_v t)/p + n(t)

其中 A 為訊號幅值,p 為節距,x_v 為機械微振幅值,n(t) 為電噪聲(均方根 σ_v)。電壓噪聲摺合成位置噪聲為

σ_x = p·σ_v / (2πA)

算例:p = 20 μm、A = 0.5 V、σ_v = 2 mV(σ_v/A = 0.4%)時 σ_x ≈ 12.7 nm。沒有遲滯時,只要停止點離邊沿不到約 5σ_x(±66 nm),按下文的穿越率公式每秒就會翻轉一次以上。每個訊號週期有 4 個邊沿,於是隨機停車時約有 4 × 0.13 / 20 ≈ 2.6% 的位置會出現計數抖動,這正是“換個位置就不跳”的原因。

四倍頻解碼時,B 不變而 A 來回翻轉,計數就在 +1、−1 之間交替,淨值不累積。這一點與邊沿順序翻轉導致的永久少計不同(見本系列計數倒退一篇)。

判據一:遲滯要蓋住噪聲的長時峰值

對稱遲滯總寬為 H 時,上翻點在閾值上方 H/2,下翻點在下方 H/2。最壞情況是訊號正好停在遲滯帶中央,此時每次翻轉都需要噪聲衝出 H/2。對頻寬為 B 的高斯白噪聲,按 Rice 公式,越過電平 u 的平均次數為

ν = (B/√3)·exp(−u² / 2σ_v²)

取 u = H/2、B = 1 MHz:

H/2每小時翻轉次數
5σ_v約 7.8×10³
6σ_v約 32
7σ_v約 0.05
7.5σ_v約 1.3×10⁻³

所以“遲滯大於噪聲峰峰值”要按長時間統計來理解。示波器一屏 1 萬個點看到的峰峰值約 7.7σ_v,H 只比它大一點,停在帶中央時每小時仍可能跳幾十次;要做到每小時 10⁻³ 次,1 MHz 頻寬下 H 約需 15σ_v,100 kHz 頻寬時約 14σ_v(見圖2左)。頻寬對結果影響不大,起決定作用的是 H/σ_v。

判據二:微振的電壓擺幅要小於 H/2

軸真的在動時,微振在比較器輸入端產生的擺幅為

ΔV ≈ A·2π·x_v / p

p = 20 μm 時,0.1 μm 的微振就佔幅值的 3.1%;p = 10 μm 時翻倍。不翻轉的條件是微振擺幅加上噪聲裕量仍留在遲滯帶內:

H/2 ≥ A·2π·x_v/p + k·σ_v

k 按上一節取 7.5 左右。上例中只計噪聲時 H/A ≈ 6%;再加 0.1 μm 微振,需要約 12.3%(見圖2右)。節距越細,同樣的微振越容易被看到。

左:停在遲滯帶中央時的翻轉次數隨 H/σ_v 的變化;右:同時蓋住噪聲和微振所需的遲滯(示例引數)
圖2 左:停在遲滯帶中央時的翻轉次數隨 H/σ_v 的變化;右:同時蓋住噪聲和微振所需的遲滯(示例引數)

這裡要先分清一個原則:如果軸確實在動,編碼器跟著 ±1 計數是正確的測量,加遲滯只是把真實運動藏進死區。只有當這種運動對系統無害、但計數抖動會引起報警或顯示閃爍時,才用遲滯去蓋住它。

遲滯的代價:位置滯後與正反向死區

遲滯讓每個邊沿都晚一點出現。歸一化遲滯 h = H/(2A),上升沿和下降沿各滯後

φ_h = arcsin(h)(電角度)

正向和反向的翻轉點之間相差 2φ_h,相當於一個死區,換成位移為 2φ_h·p/(2π)。H/A = 6% 時死區約 3.4°(p = 20 μm 時約 0.19 μm),H/A = 12.3% 時約 7.0°(約 0.39 μm)。

這個死區在四倍頻方波輸出下(每計數 90°)幾乎看不出來,但對細分輸出就不同了:每週期 100 個計數時 7.0° 約等於 2 個計數,每週期 400 個計數時約 8 個計數,反向時會出現明顯的“空走”(見圖3)。另一個容易忽略的問題是幅值:H 是按電壓設定的,碼盤汙染或間隙變大使 A 減半時,h 翻倍,死區也約翻倍。所以遲滯要按最小工作幅值核算,並在設計上保證 H 遠小於 2A_min。

正反向死區隨 H/A 的變化,與不同細分倍數下一個計數的電角度對比(示例)
圖3 正反向死區隨 H/A 的變化,與不同細分倍數下一個計數的電角度對比(示例)

排查順序:先判斷軸是不是真的在動

  1. 看翻轉節奏。 用示波器看 A 方波,或記錄計數隨時間的變化。隨機、成簇、間隔很短,多為電噪聲;週期性翻轉,頻率與伺服環路或機械結構對得上,多為真實運動。
  2. 斷開驅動。 在保證安全(立式軸先確認制動或支撐)的前提下關閉伺服使能。抖動隨之消失,是位置環在 ±1 個計數之間往復,屬於控制問題:調整增益、積分或在控制器裡設位置死區,而不是改編碼器。
  3. 鎖軸。 用夾具或制動器把軸鎖死,並停掉附近的振動源。抖動消失,說明是結構振動傳進來的真實位移;仍然存在,才是電噪聲。
  4. 測噪聲。 慢慢轉動找到會抖的位置,在比較器輸入(或差分測試點)測系統頻寬內的 σ_v 和幅值 A。按 H/2 ≥ 7.5σ_v 核對現有遲滯;若噪聲中有與馬達 PWM 同步的尖峰,先處理接地與遮蔽。
  5. 加遲滯或收窄頻寬。 按兩條判據選 H,再核算死區摺合的計數;頻寬只要覆蓋最高訊號頻率 N·n/60 並留餘量即可,過寬只會增加噪聲。

工程要點

  • 停轉計數抖動只出現在邊沿附近,σ_v/A = 0.4%、p = 20 μm 時約 2.6% 的停車位置會遇到,換位置復現是第一步。
  • 遲滯要按長時峰值設計:1 MHz 頻寬、每小時 10⁻³ 次以下,H 約需 15σ_v,約為示波器所見峰峰值的 2 倍。
  • 微振判據為 A·2π·x_v/p + 7.5σ_v ≤ H/2,20 μm 節距下 0.1 μm 微振就佔幅值約 3%。
  • 遲滯死區為 2·arcsin(H/2A),高倍細分時要摺合成計數核對,並按最小幅值計算。
  • 先斷開驅動、再鎖軸,最後才動電路:伺服往復和結構振動都是真實運動,不應靠遲滯掩蓋。
  • 收窄頻寬和改善接地降低的是 σ_v,比單純加大遲滯代價小。

小結

停轉時計數在兩個值之間跳,是訊號停在邊沿附近、噪聲或微振讓比較器反覆過閾值的結果。遲滯要同時蓋住噪聲的長時峰值和微振擺幅,但它會帶來 2·arcsin(H/2A) 的死區,在高倍細分和低幅值下尤其明顯。現場先用斷開驅動和鎖軸判斷軸是否真的在動,再按 σ_v 定量設定遲滯或降低噪聲。

延伸閱讀:ENC7 編碼器碼盤生產廠家(中文首頁) · 碼盤技術文庫


關於我們:晶正光電專注編碼器碼盤研發製造,玻璃、金屬、PC 碼盤均可按圖客製。

官網:https://enc7.com

© 廊坊晶正光電技術有限公司 版權所有,未經書面許可不得轉載、摘編。本文藉助 AI 輔助創作。

Have a drawing? Get an engineer's review.

Send your outer diameter, bore, line count or bit count, substrate and readhead wavelength. Our engineers check manufacturability and reply with a quotation and sample lead time.

WhatsApp