2021年 01月 17日

誘導型近接センサ (Inductive proximity sensor)

手元にあるのは Original Prusa i3 MK2 についてきた PINDA Probe (温度センサなし) のやつなのでこれを試してみる。ついてきたやつなので詳細なスペックは不明。

誘導型近接センサは NPN/PNP の違いと Normally On / Normally Off の違いがある。これは M8 1.0mmピッチ(細目) NPN NC タイプ 5V。動作原理とかはオムロンのサイトが詳しい

上の図のうち、点線でかこまれている部分を含んでセンサ本体になっている。

  • 茶: VCC (5V)
  • 黒: Out
  • 青: GND

VCC Out 間に負荷抵抗 (10kΩとか) つけてプルアップする。

ネジピッチが細目なので手元にあるナットが入らなかった。

鉄とアルミでは検出距離が違うはずなので検証してみた。

2mm ぐらい。

アルミ

0.5mm ぐらい。

アルミ相手に非接触センサとして使うにはちょっとこわい。

2021年 01月 15日

LP-OHM (ローパワー抵抗測定)

手元のベンチトップテスタにはローパワー抵抗測定というのがある。どういう機能かというとトランジスタがオンにならない範囲の電圧で抵抗測定するというもので、in-circuit な抵抗値を測定するときに使える。300Ωレンジは 0.03V、それ以外のレンジは 0.3V で測定される。(CVCCのような挙動なので開放時電圧はもっと高い)

半導体がオンにならない範囲で働く導通チェッカというのがよく自作されたりするけど、それと同じ。

2021年 01月 11日

電流検知抵抗 (シャント抵抗)

シャント抵抗のスペック表示がよくわからない。Ω単位じゃなく「15A 75mV」と書いてあった。15Aのとき75mV、つまり抵抗値は 5mΩ で 15A まで流せるという意味らしい?

手元で試してみると 1A で 5mV なので確かに 5mΩ。読みとり電圧の200倍が電流値。 小電力を測るにはちょっと抵抗値が低すぎるかな。温度係数とかは書いてなかった。

手元のオシロスコープはプローブ倍率を任意に設定できないので、特定の倍率にする必要がある。一応200倍はその中に入っているので直読可能。プローブ側を1倍にしてプローブ倍率を200倍にすると以下のような感じ。

2021年 01月 07日

QKG50 という精密バイス




3000円強ぐらい(送料込みで5000円ほど)で売っている精密バイス。普通精密バイスは安くてもこの3倍、ちゃんとしたやつは10倍ぐらいの価格がする。いわゆる浮きあがり防止クイックバイス (横と下に締める力が働く) で、固定部の直角が出ているというもの。

浮きあがり防止クイックバイスの良い点はでっぱりが少ないという点で、普通のハンドルがついてるタイプよりも干渉がすくない。

スペックは

  • HRC58-62 (20CrMnTi)
  • 平行度 0.005mm/100mm 直角度 0.005mm
  • 全高 50mm 全幅 50mm 全長 135mm 最大開き 65mm 口金高さ 25mm
    • 実測 全高 50.2mm 全幅50.1 全長140.7 最大開き 66.3mm 口金高さ 24.9mm

箱や検査票などは一切ついてない。

ぱっと見でおかしいのはボルトがついている斜めの面が0.3mmぐらい傾いてる。まぁ機能にはあまり関係ないだろう… わかるようなガタはなく、摺動もスムーズ。

可動部と固定部は横から見た限りではぴったりになるように見える。ただ各部の直角度はかなり怪しい。お勧めできるかというとできなそう。

2021年 01月 04日

Sable-2015 + Machinekit (LinuxCNC) スピンドルスピード


スピンドルスピードを実測するやつを作った。左から、実測・設定値・最大値 (プーリー設定によって変化)。再現性とか考えるとやはり実測回転数が必要。

回路



PCB Milling でさくっと実装

R3 が感度を決めているが、これは一旦可変抵抗をつけて調整してから、調整済みの抵抗値を実測し、チップ抵抗に換装する方法にした。可変抵抗そのままつけたほうがいいけど小さくしたかったので

Fusion360 で治具作成

3D プリンタで出力。単に非接触で固定するだけなので、締結は M2。

テスト

ベンチトップオシロと離れててプローブが届かないのでバッテリ式のオシロで確認。

Machinekit config

# hal

# spindle encoder
setp hpg.encoder.00.chan.00.scale 1
setp hpg.encoder.00.chan.00.counter-mode 1
setp hpg.encoder.00.chan.00.A-pin 7
# postgui.hal

setp scale.2.gain 60
setp lowpass.0.gain 0.010000
net spindle-velocity => lowpass.0.in
net spindle-fb-filtered-rps      lowpass.0.out  => abs.0.in
net spindle-fb-filtered-abs-rps  abs.0.out      => scale.2.in
net spindle-fb-filtered-abs-rpm  scale.2.out    => pyvcp.spindle-speed

1pulse/rev なので scale は 1 になる。4箇所ぐらいに反射テープ貼って4pulse/rev にしてもいいかもだけど

過去の試行

前は頑張って60pulse/revなエンコーダを作ろうとしていたけど、かなり面倒なので、単純に1pulse/revをフォトリフレクタで受けるようにした。

近磁界プローブの種類

Probing the magnetic field probe. Roy Ediss, Philips Semiconductors, UK. というドキュメントが良くできていて、これにある程度従って自分でも追試してみた。

8mm

Aliexpress で買ったやつ。どのタイプかはよくわからない。8mm は小さい

写真の通り、測定は端を50Ω終端した接地コプレーナ線路の漏れ磁界を拾うことでやってみた。

20mm


↑ 20mm central gap 2(a) タイプ


↑ 20mm gap at neck 2(c) タイプ


↑ 20mm king type 2(d) タイプ

すべて RG405 を自分で曲げて作ったもの

20mm で 1.5GHz スパンだと変な共振は見えない。gap at neck タイプは周波数特性のフラットネスが悪い。

追記: central gap 2(a) タイプは 3GHz スパンで見ると 1.8GHz あたりで共振がみえた。

35mm


↑ 35mm central gap 2(a) タイプ


↑ 35mm king type 2(d) タイプ

これも RG405 を曲げて作ったもの。central gap タイプを作って測定し、king type に作り変えた。

35mm まで大きくすると、central gap タイプでは 960MHz あたりに共振が発生しているのが見える。king type ではそれがない。

80mm 根本で接続 2(c) タイプ



↑ 80mm gap at neck 2(c) タイプ


↑80mm king type 2(d) タイプ


5D-FB だったかな? 昔作ったものと作りかえたもの

ref

2020年 12月 28日

3.5mm ジャック・グラウンドアイソレータ

Aliexpress で300円ぐらい。ステレオのグラウンドアイソレータ。結構小さくていい感じ。内部的には(開けてないけど)トランスが2つ入っているはず。

広域ノイズを入力して通過した信号をオシロスコープで FFT して見てみた。入出力に導通がないのはチェック済み。

ノイズ源のせいか 22kHz まではあまりよくわからなかった (トランスなら低域で減衰があるはずだけど) ので、使わないが 500kHz まで広げてみると以下のような感じで300kHzぐらいに共振が見える。トランスの測定方法がよくわからないので、測定方法 (入出力インピーダンス) のせいかもしれない。

25mm ゲージブロック


ミツトヨ(mitutoyo) レクタンギュラゲージブロック セラミックス製 0級 25mm 613635-02 - ミツトヨ(Mitutoyo)

ミツトヨ(Mitutoyo)

5.0 / 5.0

なぜか2600円ぐらいで売ってたので買ってしまった (単品)。0.01μm オーダーで精度が出ている 25mm のブロック。ジルコニアセラミックでできていて

  • サビない
  • 経年変化しない
  • 摩耗しにくい

ので個人でも扱いが比較的楽。熱膨張係数は 9.3±0.5 (10^-6/K) で鋼の熱膨張係数 (10.8±0.5) と近いので、同様の雰囲気に置いておけば20±4℃ぐらいなら 100mm でも誤差が1μm未満に収まる。(ただしセラミックのほうが熱伝導率が低いので、より長い慣らし時間が必要)

マイクロメータの検査に使える。このマイクロメータは出荷時検査で 25mm のとき +1μm なので、これであってる (マイクロメータ側の誤差)。

ゲージブロックは絶対に個人ではいらないレベルのものだけど文明が滅びても正確な長さを示してそうなので気分が良い。

2020年 12月 23日

Φ6 エッジファインダー

機械式(バネ式)のエッジファインダー (芯出しバー)。Φ6のものは少なくて若干高価。1000円ぐらい。材質は非磁性、チタンコートとして書いてなかった。

精度は 0.003mm らしい。

太さの計測


先端の精度は完璧。接触で使うので多少摩耗していくだろうから最初に測っておくのは大事

使いかた

600〜800rpm でまわしながら使う。ワークから離れたところでは自由なので先端がブレて動く。ワークに近付くにつれてブレが収まり、ある点を超えると急に大きくブレる。この急に大きくブレた点がワークと接触したところ。

手順としては一度あててから戻し、ゆっくりあてなおす。急に動いたところで止めて、半径をオフセットさせて原点を設定する。

これだけ小さくてもZ軸の余裕がない機械だと結構ぎりぎりになる。

備考

電子式のエッジファインダはΦ20〜しかない。機械式で最小のものはΦ6、通常はΦ10のようだ。

2020年 12月 22日

Sable-2015 のスピンドル回転数

プーリー駆動の付け替えで、24V 時 10000rpm と 4300rpm を切り替えられるということになっている。自分の環境ではこの加え、PWM コントローラによる電圧可変である程度回転数を変えられる (M3 S5000 みたいな) ようにしている。

pru_generic の pwm_period

BeagleBoneBlack + Machinekit で動かしていて、PWM 出力は pru_generic のものを使っている (ハードウェアPWMではない)。PRU の実行サイクルは 100kHz (10000ns) ごとなため、あまり高い周波数で PWM 出力ができない。

使っている PWM コントローラの入力周波数は1kHz〜10kHz 周期でいうと 1000000ns-100000ns なので、1kHz のPWM周波数でやれば分解能が最も高くなる。が、PWM 周波数が可聴域の高感度な周波数だとうるさいので悩ましいところ。

なんとなくやる気が沸いたのでプーリーの設定を machinekit 側 GUI で切り替えできるように作りこんだ。回転数計もそのうち(再び)組込みたい。

実測

pwm_period を変えたケースでも試してグラフ化してみた。オープンループ・フィードバックなし負荷なしでただ回しているだけなのでここにさらに切削抵抗が加わると減速する。

  • 使っているコントローラのせいか、最大電圧が22Vぐらいなので本来はもうすこしスピードが出ると思われる
  • あまりリニアに変化していない