ウエストン電池(標準電池)


はじめに

詳細はWikipediaを見ていただくとして、要は1990年まで使われた電圧標準器だ。
19世紀末に作られたこのような電池が、割と最近の1990年まで電圧の”国際標準器”であったことに驚く。
以降、 物理F/V変換器であるジョセフソン電圧標準に標準器としての座を譲った。
周波数なら比較的容易に1E-10へ到達できるから、頑張ってppmオーダーのウエストン電池は完全に引退ということだ。

ppmオーダーというのは物理量として容易成らざる精度であり、「パーソナルユース」としては完全にオーバースペックと言えよう。
そんなウエストン電池を入手した。

予備知識

標準電池に関する最高の資料は、NBS(NIST前身)の「NBS Monograph84」(1965年)かと思われる。

水銀(+極)−硫酸水銀(減極剤)−硫酸カドミウム水溶液(電解液)−カドミウムアマルガム(−極)からなる湿式電池で、電解液の濃度により、「飽和型」、「不飽和型」がある。

飽和型は長期安定性に優れるが、温度係数が大きく、不飽和型はその逆。
飽和型は60年近く経過しても数μVの変位、一方で不飽和型は20〜40μV/年の変位があり、飽和型で定期的に校正して使い、12〜18年の実用寿命とのこと。
飽和型を恒温槽に入れて一次標準として用い、それで温度係数の小さい不飽和を校正してフィールドで使うのが一般的だったようだ。

また、フィールドで使う不飽和型には電池内部にセパレータがあり、液状の水銀電極などが移動しないようになっているが、恒温槽に入れて固定運用する不飽和型はこのような措置が無いものが多く、ひっくり返すと電極が移動して使用不能になるという厄介なものだ。

電極、電解質とも有害物質というところも留意。

入手した電池

入手した電池はセル単体で、米国Eppley lab.社のものだ。 同社は、現在は標準電池を作っていない。
大粒のクリスタルが電解液に浸かっており、飽和型セルとわかる。

ラベルに型番が記されていないため不明だが、同社1968年のBulletinによると、101型と推定される。
このセルは輸送不可(ハンドキャリー)とされている。
実際、米国から送られてきたのだが、大粒クリスタルがガラス壁に固着しているおかげで電極は全く移動せず、見たところダメージは無さそうだ。
よくわからず購入した代物だが、運が良かった。
10MΩ負荷における降下80μVから内部抵抗は800Ωであり、1.018Vを出しているから電気的にもおかしくなさそうだ。

箱入れ

NBS Monograph84からわかってことだが、電池は以下のように管理する必要がある。

減極剤(硫酸水銀)が光感受性をもつため、暗箱にする。
全体が均一の温度になるようにする。
端子間は十分な絶縁抵抗を保つ。

飽和型セルは大きな温度係数をもつため、本来は恒温槽に入れて誤差0.01℃レベルの温度管理をするようだ。
大きな温度係数といっても、およそ40ppm/℃であり、0.1%精度で足りるなら温度管理は不要だ。
適当な温度計であっても1℃誤差程度で測温できるから、温度補正すれば50ppm程度は得られそうだ。
50ppmというと6桁程度のマルチメータの精度に相当する。

ケースはタカチEXSシリーズから、(転倒防止のため)フットプリント(パネル面)が若干大きめなものを選定した。
ケースは毎度お世話になっているタック電子販売さんから購入。
レトロな基準器のため黒色とした。
端子は落ち着いた色合いをもつフェノール樹脂(ベークライト)製、サトーパーツT6530を採用。
ポリカーボネート製のビビッドなものより、質感も色も渋くて良い。
テフロンワッシャにて絶縁を強化して取り付け。

ガラエポ板にPEフォームを枕として貼り付け、インシュロックで緩くセルを締結した。

手持ちDMMのチェック

標準器だから、出番はこれしかない。

FLUKE8840
20V以下は入力Z>10GΩであり、標準電池に負担を掛けることなく測定できる。
基本確度は校正後1年間50ppmだが、中古品でありいつ校正されたのか全く不明。

内部パーツのデートコードから、1986年製と推測。
オリジナルCALシールからしておそらく出荷後一度も校正されていない(30年以上経過)と思われる。
それでもここまでの数字を出すのがFLUKEのすごいところだと思う。
自社製セラミックベース薄膜抵抗ネットワークなど、要所に凝った部品が投入されており、性能を裏打ちしている。

FLUKEは70,80シリーズのようなハンドヘルドDMMでもこのようなセラミック抵抗を使っており、安定性が高い。

恒温槽の製作(2018/09/30)

温度補正すれば50ppmが得られると書いたが、そう簡単ではなかった。
標準電池の温度変化に対する時定数はかなり大きく、オーバー(アンダー)シュートがあるためだ。

上図はNBS84から引用。
温度を±5℃変化させたときの起電力変化を示しており、十分に安定するまで冷却側で40時間も要することがわかる。
温度補正は、一定温度下でないと成立しないことがわかったので、箱を恒温槽化することにした。
大きめの箱を選択したことが幸いし、そのまま恒温槽にできそうだ。

恒温槽の設計

Eppleyの資料によると28℃が推奨されているが、夏期は冷却しなければ難しい。
ペルチェを使い加熱・冷却両用とすることがベストだが、簡易な加熱専用とした。
夏期は室温以上の32℃あたりに設定すればいいわけで。

■マイコン(PIC18F45K50)

PCからモニタ、定数変更できるよう、USBつきPICを採用。
このチップはUSBハイスピードでも外付け水晶が不要で、部品点数が少なくてすむ。
ほぼ全てのピンにアナログ入力をアサインできる点も柔軟と思う。
実際、電源近場の空きピンで入力電圧モニタを組んである。

■温度センサ(ADT7410)

0.0078℃/LSBと高分解能で、絶対精度±0.4℃となかなかの性能だ。
ただし、最高の精度を得るために、3V駆動が必要。
マイコンも3V駆動できるのでロジック全体を3Vで動かすことも考えたが、MOS-FETのVGSオン4Vが問題となる。
FETのゲートをPIC直結せずドライバを入れるか、I2Cレベルシフトするかだが、部品点数が少ない後者とした。
こうすると3Vレギュレータを温度センサ専用にできるため、ノイズの点でも有利だろう。
センサは2個使い、セル上下に配置。制御には平均を使う。

■LED表示器(QDSP6065)

レイアウトの都合、超小型7セグが必要。
10年以上前(たぶん2005年頃)鈴商で購入、昔のHP製電卓に使われていたものの同等品。
当時、鈴商の店主と次のような会話をしたことを思い出す。

俺:これHPの電卓に入っていたやつですね。
鈴:よくご存じで。これを探して買いに来る方がいるんですよ。
(確か、レンジファインダーに入っていて、交換用として買う人がいると言っていた。)
このLEDはレトロっぽいところもいい。
現在、このLEDは入手難。残念なことに鈴商のリアル店舗も無くなってしまった。

■ヒーター

アルミ板にニクロム線を巻き自作。
アルミ板は電池セル全体を均一な温度にする役割もあり、セル全体を覆う大きさとする。
断熱剤(発泡スチロール、t=15)とケース表面積から計算すると、熱抵抗は8.3℃/Wとなった。
USB規格の0.5Aだと、2.5W(実質ドロップして2Wくらい?)だから+15℃程度しか加温できない。
冬期はこれでは心許ないので、イレギュラーとなるがヒータ容量は5Wとする。
最近のスマホは1A以上引っ張るものが多いため、ほとんど問題はない。
これで+40℃の加温能力が得られる。

■保護サーモ(TC622)

マイコン制御不能時の過熱保護用として、独立した温度カットオフ機能を採用。
最大+40℃加温とすれば、どう頑張っても80℃を超えないため発火はあり得ないが、セルがダメージを受ける。
Eppleyの資料によるとセル動作上限は40℃で、 43℃になると硫酸Cd結晶が変化するとのこと。
トリップポイントは40℃とした。

■基板

設計ツールはEagle、製造はFusion-PCB。
最近もっぱらFusion-PCBで製造。
マイコンのピン配は一部特定機能以外レイアウトで決めているから、LEDなどポートA,C,Eに散っており、順番もバラバラ。
ソフトで対応する。

恒温槽の実装

完成した基板とヒーター。
LEDとUSBポートは裏側についている。
ヒーター抵抗値は初期設計で5Ωとしたが、実験の結果デューティが若干低いため、発熱量を減らし7Ωとした。

セルを締結し、ケースへ挿入。
ニキシーでもそうだが、緑の基板とガラスは不思議とマッチする。

ヒーターを取り付け。
ソフト開発用のICSPポートを延長。開発終了後は外します。

恒温槽の制御ソフト

■ベースプロジェクト

MLA(Microchip Libraries for Applications)v2017_03_06のcdc_basicにある、picdem_fs_usb_k50.xがひな形。
同じCPU、アクティブクロックチューン、USBシリアルとひな形としてもってこい。

■処理概要

100ms毎に測温、PI演算、PWMデューティ設定を行う、ごくシンプルなもの。

■測温

I2Cは100kHzに設定。割り込みは使わず、送受完了を待って同期。
割込みを使わないからI2Cアクセスは非常にシンプル。

起動時にセンサコンフィグレジスタに対し、16ビット分解能、連続サンプリングを設定。
センサ測温に240msかかるから、100ms周期の演算は過剰ではある。
ノイズ除去のため、0.1Hzの1次LPFをかけている。

■PI演算

コントローラにはPI制御を採用。恒温槽のためD項は不要と思います。
(実際のソフトはPIDにしてDゲインを0にしています)
目標温度、PIゲインはPCからUSBシリアルで変更可能で、E2PROMに記憶させています。

■PWM

CPUクロック16MHzとすると、最大限プリスケールしてもPWMキャリアは約1kHzで、 ローノイズが売りの標準電池を考えると、ノイズ飛込み観点からもっと低くしたいところです。
約1kHzなので、音が若干聞こえます。
おそらく、電源部の積層セラミックコンの圧電効果による鳴きと思います。

■エラー処理

以下の場合、制御を停止しエラーコードをLEDに表示します。電源再起動まで復帰しません。

・温度センサ3回連続読出し失敗 (E-001(センサ1)/E-002(センサ2))
・温度センサ1,2間乖離大 (E-006)
・過熱保護サーモ作動 (E-005)
・電源電圧低下(<4V) (E-004)

以下の場合、制御を継続し、エラーコードをLEDに表示します。

・電源電圧低下(<4.5V) (E-003)

ハング対策として、100ms周期タスクに対し1秒のWDTを設定。
ソフト要因のハングの可能性は低いのですが、センサ故障によるI2Cライン固着などのハード故障でハングはすると思います。
完璧を期すなら、通信周りにタイムアウトを入れるべきですが。

■USBコントロール

・ トーカ機能

1秒ごとにホストに温度、電源電圧等を通知します。

・ コンフィグ機能

ホストから'c'送信にて対話コンフィグを起動、目標温度、PIDゲインなどを変更できます。

■ファームアップ(19/03/06)
マイクロチップMLAのブートローダーを入れ、ICSPなしのソフト更新に対応。
ブートローダーが先頭4kBを使い、本体アプリは0x1000番地からロードされます。

適合

■ステップ応答

コントローラPIゲインを決めるため、ステップ応答を計測した。
また、簡易な熱モデルと比較を行った。

Ch:ヒータ熱容量 27 J/K
Ca:槽内空気熱容量 0.27J/K
Cc:セル熱容量 150, 200 J/K
Rha:ヒータ→槽内 0.1 K/W
Rac:槽内→セル 0.1 K/W
Re:槽内→槽外 7 K/W

Rha,Racは対流するためよくわからない。適当な値。
定常後のThとTaの差から、実験的に求めることは可能。
Ccもよくわからないが、以下のように150〜200程度と思われる。



結果をヒータ1Wで正規化。7℃/Wの昇温で収束している。
これは槽の断熱抵抗実力値で、設計値の8℃/Wとほぼ合致。

しばしば平たん部を伴う段階的な、単純な容量・抵抗モデルで説明できない特性があるようだ。
電解液(CdSO4飽和水溶液)の吸熱、相状態遷移によるものと思われる。

■ステップ法によるゲイン設定

むだ時間はほとんど無いため、仮に1秒とおく。時定数は1500秒程度。
コントローラ出力はデューティで1が最大。このときのヒータパワーは5V^2/7Ω約3.5W。
7℃/Wとあわせ、プラントゲイン25とする。
ステップ法によるKpを0.3T/KLとすると18となる。まずはこれをセットしてみる。

振動が収まらない。周期は360秒と結構長い。

上記熱モデル、0.1Hzローパスを入れたPコントローラの一巡伝達関数は安定なのだが。

センサの応答の時定数が入っていないが、周期360秒の位相反転など、思いも付かない。

こちらはデューティ。マイナスになるが、ヒーターなので冷却はできない。
ループが切れきちっと制御はできないということになる。

Kpを適当に約1/10の2にしてみると、4時間ほどたったところで振動が止まった。
これも朝までほかっておかなければ、2時間で諦めただろう。

次にI項を調べてみる。I項を0.29/KLとすると、0.012となる。
Kp=2, Ki=0.01は安定しない。

■相状態変化による影響

さらにゲインを下げ、Kp=0.1, Ki=0.001でも安定しないことがわかった。
さすがにゲインによる影響ではないと感じる。

調べるとセンサ1とセンサ2で波形が異なる。
熱と温度は積分の関係であり、位相差90度からリサジューは円となる。
デューティをXにとってリサジューを描くと、 センサ1は円で非線形要素は少なそうだが、センサ2は明らかにヒステリシスをもっている。
このヒス特性によって安定しないことがわかった。
平均をやめてセンサ1だけを使えば安定はしそうだ。
本来はセル全体の温度を均一にすべきだが、センサ1,2間で0.2℃程度の差があることもわかった。

これは電解液の相状態影響と考えるしかない。
センサ1は結晶に近く電解液の影響を受けにくいが、センサ2は電解液に近く影響を受けやすいのだろう。

原因がわかったところで、Kp=1,Ki=0.001を妥当とする。

たまたまかもしれないが安定した。

振動したり、収まったりしているようだ。

セル製造年月日判明

Eppley社が標準電池製造を完了した後、資料一式がVintage Radio and Communications Museum of Connecticutに寄贈されたとのこと。
有償(ミュージアム寄付)だが当時の情報のコピーが入手できるという。早速問い合わせてみた。

セルシリアルC3147

該当部分を抜粋。
1970年3月16日製造で、ウエスチングハウスへ同年9月25日に納入されたことが判明した。
同日製造の他のセルはヒューズに納入されていたこともわかる。
約50年前の情報が残っていたことに驚く。

飽和型セルの寿命はきわめて長く、前述NBS84によると、60年程度経過して数μVの変化という記述がある。
故障さえしなければ長期にわたり相当な確度が得られると思われる。

その他

(18/11/25)
セルを28℃で1月ほど放置後、起動後12時間以上経過したFLUKE884xで計測。
完全にスペック内。

1.01820V @ 28℃
(20/01/05)


仕様上では20℃で1.01860V、問題なさそう。
どちらも同じだけ狂っているとは考えにくく、真値に近いとおもわれる。
(19/03/05)

設計データ

回路図、基板
・ソフト(本体ソフトブートローダー

Cambridge Instrument製飽和電池

良さそうな出物がebayにあったので落札。
水銀温度計で内部温度が読めるようになっている。


中身はMuirhead製D-402セル。
電解液中の結晶から、飽和セルとわかる。
このセルは飽和型だが隔壁をもっているようだ。
Muirheadの1967年資料によれば、PTFE製隔壁が最も安定性に優れるとあり、クリスタルの下に見える白い部分がそれなのだろう。

ケースの中にセルのテスト証書が入っていた。
ネットで同型電池の画像を見ると、MuirheadD-402とは違うセルが入っているようだ。
メモ書きのように1974年に入れ替えたのかもしれない。

Fluke8842の読取り値(1.01834V@26℃)を真とすると、1.01862V@20℃となる。
テスト証書と50μV(~50ppm)の誤差。
8842も校正していないため、真値がこの付近にあることしかわからないが、いずれも100ppm(0.01%)程度に入っているだろうと推測できる。
10MΩ負荷の電圧降下70μVから、内部抵抗は700Ωと正常範囲。

室温に十分慣らした後、Eppley101セルとBack-to-Back接続して差電圧を計測、10μV程度。
このレベルの電圧はゼーベック効果の影響を受けて、ミノムシクリップを掴むだけで変動する。
本当は温度差が出る部分は全部同一素材でなければ精密な測定はできない。


[戻る]

Created:2018/08/18
Updated:2020/01/05