Beagle Bone Black + Machinekit での CNC 制御 (Sable-2015)で機械仕様から各軸のSCALEを求めていたが、(いまさら) テストインジケータを買ったのであらためて計測して誤差を修正することにした。

元々の SCALE は

200 * 8 * (1/1.5) #=> 1066.6666666666665

X=-1066.667
Y=1066.667
Z=1066.667

Z軸

誤差±0.01/0.4mm

修正不要と判断してそのまま

X軸

誤差-0.01mm/0.4mm (2.5%)
バックラッシュは0.005mmぐらい

SCALE =  -1093.333333

Y軸

誤差-0.01mm/0.4mm (2.5%)
バックラッシュが0.01mmある

SCALE =  1093.333333


そもそもXとYの直交が出てるのかとかも測定して調整しなおしてみたいけどやってない

Sable-2015 は全体的にアルミなので、マグネットベースをとりつけられるところがモーターぐらいしかなく結構やりにくい。

  1. トップ
  2. tech
  3. Sable-2015 のキャリブレーション

前にちょっと書いたけど、水晶発振子のモデル化のための測定についてもうちょっと詳しく書いておく

LCRメータでCpを測る

Cp=1.95pF @100kHz

VNA で測ってもいいけどキャリブレーションが面倒なのでLCRメータを使うのが楽 (値が小さいのでLCRメータでもキャリブレーションはすること)

VNAでfs/fp/Rsを測る

fs/fp


VNA のポート1ポート2に直列で水晶発振子を繋いで、共振周波数付近をさがす。最もゲインが大きいところがfsで、小さいところがfpになる。

fs=9.9985Mhz
fp=10.0126Mhz

Rs

VNAのポート1に水晶発振子を繋いで、直列共振周波数 (fs) 付近で測る。fs 付近だと(共振しているので)水晶が純抵抗に近くなり精度が高くなる。

Rs=12.8Ω

Cs/L を求める

以下のように Cs L を求める

f_s = 9.9985
f_p = 10.0126
R = 12.8
C_p = 1.95e-12

C_s = C_p * ( (f_p**2) / (f_s**2) - 1)
L = 1 / (4 * (Math.PI ** 2) * (f_s ** 2) * C_s)
console.log({C_s, L}); //=> { C_s: 5.503702932046284e-15, L: 0.04603790760936647 }

LTSpice でモデル化してみる

求められた R/Cp/Cs/L を使って等価回路を作り、周波数特性を見てみる。

LTSpice の結果は信号源の出力に対する比なので、負荷の電圧を見る場合にVNAとスケールをあわせるには2倍 (電圧 +6dB) する。

  • LTSpice: -1.04dB
  • VNA実測: -1.31dB

ダイナミックレンジの関係で並列共振周波数の値は参考にしかならない。

ref

  1. トップ
  2. tech
  3. 水晶発振子のモデル化

ケーブルのLCを直接測る

伝送路の損失を無視した場合、特性インピーダンス

であるため、直接ケーブルのLとCを計測してやる。


例:50Ωの基準点に75Ωケーブルを単純な変換コネクタを使って接続している。ケーブルインピーダンスは10MHzでの値が規定されていることが多い?ようなので 10MHz で SPAN 0 にし、スミスチャートを表示させている。

  • オープンの場合 139pF
    • オープンはケーブルの芯線とGND間の静電容量を測っている
  • ショートの場合 736nH
    • ショートは芯線とGNDによるインダクタンスを測っている
Math.sqrt(736e-9 / 139e-12) //=> 72.7665034804956

集中定数とみなせる範囲でできるだけ長いケーブルでやるべきとのこと。10MHz の波長は 30m なので、その1/10での 3m 程度で計測するのが正しいらしい。長すぎると集中定数とみなせず、短かすぎると誤差が多くなる。

欠点

  • 基準点に直結できる必要がある
  • 精度が良くないらしい (50Ωから離れたところを計測するので)

λ/8 法

やりかたと例


  1. オープンケーブルを繋ぐ
  2. リアクタンスが0になる最初の周波数をさがす → 28.24MHz
    • スミスチャート的にはX軸と交わるところを探す
  3. 得られた周波数のさらに半分の周波数を計測する → 14.1MHz
  4. リアクタンスを読んで絶対値をみる → -71.6Ω → 71.6Ω (ショートさせたほうが正確らしい?)

欠点

  • 基準点に直結できる必要がある

利点

  • 比較的正確?

原理

伝送路の損失を無視した場合、伝送路の特性インピーダンス と入力インピーダンス には を伝送路の電気長、 を負荷インピーダンスとすると以下のような関係がある

は波数

特に伝送路端がオープン ( ) の場合

ショート( ) の場合

オープンの場合で電気長 の場合、

ということでこのようなケースの場合は入力インピーダンスの虚部が特性インピーダンスと一致する。

伝送速度 のとき周波数 なので、測定したいケーブルの長さを固定とすると周波数をうまく選んであげれば良いことになる。

ところで、電気長が の伝送路(オープン)は共振を起こす、つまりリアクタンスがゼロになる。共振点を探すのは周波数領域では簡単なので、まずこの共振点を探し、さらに周波数を半分にすることで電気長 の条件を達成できる。

TDR

直読できる

欠点

  • 基準点から計測点までのケーブル損失によって誤差がでる
  • 多重反射の影響をうける

利点

  • グラフと現実が一致するのでわかりやすい
  • 余計な操作がいらない

参考文献

  1. トップ
  2. tech
  3. VNA によるケーブル特性インピーダンス測定