信号トラブル事例集
症状:停止時に計数が2値のあいだを行き来する——ヒステリシスと微小振動の切り分け

エッジ付近で止まると雑音または微小振動でコンパレータがしきい値を繰り返し越え、計数が2値のあいだを跳ぶ。本記事ではRice式によるヒステリシス判定(1 MHz帯域でH ≈ 15σ_v)、ΔV ≈ A·2π·x_v/pによる微小振動見積もり、ヒステリシス不感帯の代償、駆動切断・軸ロック・ヒステリシス追加の切り分け順を示す。
モータは止まったのに上位の位置が1000と1001のあいだを行き来する。数秒に1回のことも、数え切れない速さのことも。別の位置で止めると全く跳ばない。停止時の計数ジッタである。軸がAまたはBのエッジ付近に止まり、コンパレータ入力がしきい値上下をさまよい、出力が繰り返し反転する。原因は電気雑音か、軸の実動(サーボ保持の往復、機械構造振動)かで対処は全く違う。まず両者の定量判定を導き、ヒステリシスの代償を述べ、現場の切り分け順を示す。

エッジ上で止まると何が起きるか
軸が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)以内なら、後述の通過率式で毎秒1回以上反転する。1信号周期にエッジは4つなので、ランダム停止では約4 × 0.13 / 20 ≈ 2.6%の位置で計数ジッタが出る。「別の位置では跳ばない」理由そのもの。
4逓倍復号ではBはそのままでAだけが行き来し、計数は+1/−1を交互に取り正味は溜まらない。エッジ順の反転による永久欠計とは違う(本シリーズの計数後退の稿参照)。
判定1:ヒステリシスは雑音の長時間ピークを覆う
対称ヒステリシス総幅Hのとき、上反転点はしきい値のH/2上、下反転点はH/2下。最悪は信号がヒステリシス帯の中央に止まる場合で、毎回の反転に雑音がH/2を突き抜ける必要がある。帯域Bのガウス白色雑音に対するRiceの平均通過回数は
ν = (B/√3)·exp(−u² / 2σ_v²)
u = H/2、B = 1 MHzのとき:
| H/2 | 1時間あたりの反転回数 |
|---|---|
| 5σ_v | 約7.8×10³ |
| 6σ_v | 約32 |
| 7σ_v | 約0.05 |
| 7.5σ_v | 約1.3×10⁻³ |
よって「ヒステリシスが雑音峰間より大きい」は長時間統計で理解する。オシロ1画面1万点で見える峰間は約7.7σ_v。Hがそれより少し大きいだけでは帯中央停止時に毎時数十回跳ぶ。毎時10⁻³回以下にするには1 MHz帯域でH ≈ 15σ_v、100 kHz帯域で約14σ_v(図2左)。帯域の影響は小さく、決めるのはH/σ_v。
判定2:微小振動の電圧振れを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右)。ピッチが細いほど同じ微小振動が見えやすい。

先に原則を分ける。軸が本当に動いているなら、エンコーダが±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)。
4逓倍方形波出力(1計数90°)ではこの不感帯はほぼ見えない。内挿出力では違う。1周期100計数なら7.0°は約2計数、400計数なら約8計数で、逆転時に明らかな「空走り」が出る(図3)。もう一つ見落とされやすいのが振幅。Hは電圧で設定されるので、コード板汚染やギャップ増大でAが半減するとhは倍、不感帯もおおむね倍。ヒステリシスは最小動作振幅で見積もり、設計上H ≪ 2A_minを保つ。

切り分け順:まず軸が本当に動いているかを判断
- 反転リズムを見る。 オシロでA方形波、または計数の時間変化。ランダム・塊状・短い間隔なら電気雑音が多い。周期的で周波数がサーボループや構造に合うなら実動。
- 駆動を切る。 安全を確保したうえで(縦軸は先にブレーキ・支持)サーボイネーブルを切る。ジッタが消えれば位置ループが±1計数で往復している制御問題。ゲイン・積分の調整か、コントローラ側の位置不感帯。エンコーダをいじらない。
- 軸をロック。 治具やブレーキで軸を固定し近くの振動源を止める。ジッタが消えれば構造振動が伝わった実変位。残れば電気雑音。
- 雑音を測る。 ゆっくり回して跳ぶ位置を見つけ、コンパレータ入力(または差動テスト点)でシステム帯域内のσ_vと振幅Aを測る。既存ヒステリシスをH/2 ≥ 7.5σ_vで照合。モータPWM同期の尖峰があれば接地とシールドを先に。
- ヒステリシス追加または帯域縮小。 2判定から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値のあいだを跳ぶのは、信号がエッジ付近に止まり、雑音または微小振動でコンパレータがしきい値を繰り返し越える結果。ヒステリシスは雑音の長時間ピークと微小振動振れを同時に覆う必要があるが、2·arcsin(H/2A)の不感帯をもたらし、高倍内挿と低振幅で特に目立つ。現場では駆動切断と軸ロックで軸の実動を判断し、そのあとσ_vからヒステリシスを決めるか雑音を下げる。
中国語原文記事の翻訳 (0221). ENC7 コード板メーカー(お問い合わせ) · 技術記事 · https://enc7.com
© 廊坊晶正光電技術有限公司(Langfang Jingzheng Optoelectronic Technology Co., Ltd.)無断転載を禁じます。本記事はAIの支援を受けて作成されています。