磁束密度 (テスラまたはガウス) を計測したくなったので探してみると8000円弱ぐらいで買えるものがあったので買ってみた。5級品 (5%ランク) のもので、スペックは

  • レンジ: 200mT 2000mT
  • 分解能: 10μT
  • 精度
    • 0〜1000mT ±2%
    • 1000mT〜2400mT ±5%

磁石・電磁石の磁束密度を見るには十分と思われる。

使いかた

  • プローブ(ホールセンサ)を本体に接続する
  • ON/OFF キーで電源を入れる
  • プローブのキャップをとる
  • 可能なら磁力がないところ(磁性シールドされたところ)で Null キーを押してゼロセットする
    • 地磁気は東京付近だと 46000nT つまり 46μT なので 200mT レンジでは下一桁の表示に影響する
      • プローブを回転させると S0.00〜N5.00ぐらいまでの動きがあるオフセットが乗ってるかも?

プローブの向きはたぶん「T」が書いてあるほうが表で、表から裏方向への磁力線に対して正 (N) の表示をするらしい。磁力線は N から出て S に入る。つまり、プローブの裏 (距離が書いてある面) を見ながら磁石のある面に対してプローブの表をあてたとき、表示される極性が N なら、あててる磁石の面は N 極になる。

赤い線が N 極を示していて、このようにプローブをあてると表示も N となる。

ちょっと遊んでみる

磁石の種類

直方体形状のものをいくつか買ってみたので測ってみる。この形状の場合、磁束密度は面の端が大きくなり、中心で最低になる。

異方性フェライト 30×10×5 N40 (二六製作所)

https://www.26magnet.co.jp/webshop/cart.php?FORM_mode=view_goods_detail&FORM_goods_id=FK082

公称110mT 実測最大 115.26mT

実測最大はマックスホールドして測ってる。

ネオジム 30×10×5 N40 (二六製作所)

https://www.26magnet.co.jp/webshop/cart.php?FORM_mode=view_goods_detail&FORM_goods_id=NK137

公称380mT 実測最大 378.0mT

二六製作所のネオジム磁石は極性がわかるようになっている。赤い帯がついてて、これがついてるほうがN。はじめて利用してみたが、上のフェライト含め小さい磁石4つなのにしっかりした厳重な梱包で送ってきてくれてすごい。

ネオジム 40x10x4mm 自称N52 (Aliexpress)

実測最大 175.46mT

厚さが上記のものから1mm薄いとはいえ、N52 とは思えない。二六製作所の N40 のほうが強い。

磁力回路

機械工作で使われるマグネットベースには磁力回路によるON/OFF機能がある。このON/OFFによって外部に出てくる磁束密度がどの程度変化するかみてみる。

磁石を重ねた場合

磁石は重ねると磁束密度が上昇する。100円均一で売っている小さいネオジム磁石を重ねて計測してグラフ化してみた

見ての通り比例するわけではなく、ある程度で頭打ちする。

ref

  1. トップ
  2. tech
  3. 安価なテスラメータ(磁束密度計) TD8620 を買ってみた

使ったことなかったけど読んでいておもしろかったので要点だけメモ

デバイスツリーファイルの仕様

https://www.devicetree.org/specifications/

.dts あるいは .dtsi はデバイスツリーソースファイルで、この記法はデバイスツリーの仕様の最後らへんに書いてある。

デバイスツリーの仕様上、プロパティ名には , # @ などが有効で、特に意味のある記号ではないので読むとき注意。例えば # が行頭についていてもコメントという意味ではなく、名前の一部として numbet of の意味で使われている。

あくまで設定ファイルなのでこれをどう扱うかは実装による。

Zepher のデバイスツリー

例:BlackPill F401 の dts https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/arm/blackpill_f401ce/blackpill_f401ce.dts

ボードごとにデバイスツリーがある。ボードのデバイスツリーファイルは使っている mcu のデバイスツリーファイルを include するような形でソースファイルが共通化されている。

https://docs.zephyrproject.org/2.3.0/guides/dts/howtos.html あたりがざっくりわかりやすい。

デバイスツリーファイルはビルド時に特定の規則でヘッダファイルに変換される。単純は値は DT_PROP() というマクロでとれる。

struct device

struct device* device_get_binding(char*) という関数で指定した名前の struct device* を取得できる。

device_get_binding() は DEVICE_DEFINE() で宣言されたデバイスを取得する。全ての struct device* は配列として RAM に配置されているが、これはリンカで解決される。

DEVICE_DEFINE() は

__attribute__((__section__(".device_" #level STRINGIFY(prio))))

をつけて struct device を宣言しており、これをリンカスクリプトで集めて配置している。

感想

特殊なセクション名を使ってリンカで配列を構成しておくというのが(もしかしてこの手のやつでは当たり前なのかもしれないけど)、はじめて見たし発想がなかったのでおもしろポイントだった。

  1. トップ
  2. tech
  3. Zepher のデバイスツリーまわりの実装の覚書

基準電圧源

Aliexpress でいくつか買ったやつで考える。

AD584JK


Aliexpress で売っている AD584JH 基準電圧源

これはデータシートのスペックだけ考える

  • 温度係数 30ppm/℃ (0〜70℃)
  • 長期安定性 25ppm/1kH (1000時間)

10V であれば

  • ±0.3mV/℃
  • 0.25mV/1kH

LM399H


Aliexpress で売っている LM399 基準電圧源の回路

LM399 自体のスペック

  • 温度係数 2ppm/℃ (0〜70℃) (typically 0.3ppm/℃)
  • 長期安定性 8ppm/√kH

この実装の非反転増幅回路の抵抗のスペックは不明なので、ここでは ±10ppm/℃として考える。オペアンプの非反転増幅回路の温度ドリフト で求めたように

  • 約6.2ppm/℃

非反転増幅に使われている LT1001 のスペック

  • 入力オフセット電圧の温度係数 1.0μV/℃
  • 増幅率が約1.45倍なので 1.45μV/℃

で、単純に合計すると

  • 温度係数 8.2ppm/℃ ±1.45μV/℃

10V であれば

  • ±0.08345mV/℃
  • 0.08mV/√1kH

マルチメータ

上の基準電圧源をいくつかのマルチメータで測ってみる。といってもあまり確度が高いのは持ってない

一般的なハンドヘルドデジタルマルチメータ(1000円〜8000円)の電圧レンジの測定確度はよくて4桁±0.5%ぐらい。中級機 (9000円〜数万円)で 5.5桁±0.05% ぐらい。非常に高精度のもの (10万円〜) で6.5桁±0.004%

温度係数は安いものだと規定されてないものがほとんど (あんまり意味ないんだろう)。

TR6846

アドバンテストの古いDMM。4.5桁 (32999)。300mV〜1000V の範囲の測定確度は ±0.04%±5d (400ppm)、温度係数は ±0.004±0.2d (40ppm)

基準電圧源と温度ドリフト・経年ドリフト

基準電圧源に書いてある数字は信用するとして (つまり基準電圧源のトレランスは無視する)、この結果に対しどの程度の温度ドリフトと経年ドリフトがあるかを考える。

CD771

SANWA デジタルマルチメータ バックライト搭載 CD771 - 三和電気計器

三和電気計器

3.0 / 5.0

サンワの安めのDMM、3999カウント ±0.9%±2d

UT210E

KKmoon UNI-T UT210Eクランプメータ 真の実効値 / AC / DC電流 / w/キャパシタンス測定 - KKmoon

KKmoon

3.0 / 5.0

安いクランプ型のマルチメータ。直流電圧は普通にテストリードで測れる。2000カウント ±0.7%±3d

DT10B

秋月で売ってる手帳型のマルメータ。3999カウント ±0.8%±3d


ref.

  1. トップ
  2. tech
  3. 基準電圧源とマルチメータの精度