標準発生器の製作

測定器の校正には標準が必要になります.高性能な基準電圧ICをひょんな事から入手したので,オーブンコントロールされた 標準を自作することにしました.

恒温槽

多くの物理現象は温度をパラメータとして持っています. 電子部品の特性も例にもれず,部品のデータシートを見ると温度係数が+50ppmとか書いてあります.

秋月で購入できた12.8MHzのTCXOの温度による周波数偏差特性は3ppm(-20度〜+60度)とされています.

この特性が良いか悪いかはアプリケーションによりけりですが,周波数標準としては物足りません.

そこで出番なのが恒温槽です. 積極的に温度を一定に制御することで,温度変化によるドリフトを一掃することができます. 高確度が求められる無線基地局等のアプリでは普通に用いられている技術であり,周波数の場合はOCXOという商品の形で入手可能です.

買えば終わりの話ですが,勉強がてら恒温槽を作ってみました.

恒温槽の構成

以下に本機の構成を示します.

本機の構成

PID制御はマイコンで行ないます. マイコン搭載のADコンバータの分解能は10bitあるのですが,これでは不足だったので,オーバーサンプリングにより分解能を上げています.

ハードの製作

ハードの製作記録が長くなったので別ページに分けました.

回路の設計

特に難しいことはありません.平凡な回路です. ローノイズ化を狙ってヒーターのドライブはアナログにしました.また,発熱量の制御特性を素直なものにするため,V-Iコンバータで線形化しました.

ただ,ヒータとして使っているMOSFETの選定はいただけません. 手持ちの関係で無駄に大容量(IDmax60A,Ron4mΩ)のものを使ったのですが,低On抵抗のMOSFETはCissがべらぼうに大きいため, 位相補償回路が必要になり面倒なことになってしまいました. ヒータの発熱は4Wもあれば十分すぎるぐらいなので,Pc10W程度のダーリントンBJTを使うようにしたほうが良いでしょう.

ダウンロードはこちら.

制御系の実装

マイコンのファームはこちら
ステップ応答

システムが完成したら,まずステップ応答を見たくなるのが人情というものです.

ということで系に4.1Wの熱入力をいれたときの応答を見てみました.

製作した恒温槽に4.1Wの熱入力をいれた際のステップ応答

断熱材無しの場合は熱の逃げが高温になるにつれて増加していくので,教科書通りに指数カーブを描きます. 一方,断熱材がある場合は熱が逃げていけないため,ほぼ直線になります.これも教科書通りですね.

むだ時間は10秒程度と読み取れます.

次に,得られたデータに対して,理論式とのfittingを試みました.fittingに使ったのはgnuplotです.

フィットさせる関数は一次応答でおなじみの式です.

パラメータとしてA,B,a,kがありますが,本質を表すのはA,aだけです.

さて,フィットさせてみましょう.
gnuplotでのフィッテイングは簡単です.

#まずフィットさせる関数を指定
f(x)=A*(1-exp(-a*(x-k)))+B

#それらしい初期値を入れておく
A=3000
B=5000
a=0.001
k=100

#fit実行
fit f(x) "fileName" via A,B,a,k

これで一丁上がりです.フィット結果を以下に示します.

断熱材が無い場合のステップ応答に対してフィッテングした結果

非常に綺麗にフィットできました.パラメータの値はA=3381.45,k=209.179でした. これでプラントの同定ができたので,これを基に制御系の設計ができます.が,面倒なので実際はモデルベース制御はやっていません.

面倒なので適当PID

安直にPIDでコントロールします.最初はPI制御を試みたのですが,むだ時間のせいで位相が回る回る.全然ゲインが上げられません.

D項を入れて位相を進めてやったら,ばっちり上手くいきました.

モータ等のメカを対象にしたPID制御は何度も経験があるのですが,今回のような熱の安定化は初めてやりました. 熱は応答がとろいので,データの取得が面倒ですね. ゲインを変える→電源入れる→10分間ぐらい座して待つ→制御ログをグラフ化して一喜一憂する.このループが長い!
モータであればセトリング200msecとかなのでデータ取得も一瞬で済むのですが...

PI制御のときの応答.これではヒートサイクル試験器になってしまう!この時の目標温度は50度.

PID制御の時の応答.滑らかに目標温度である60度に整定する.

1LSBのふらつき

ディジタル制御では量子化誤差の範囲のエラーは無くすことはできません.上で示したPID制御の定常特性も拡大すると,波打っています.

PID制御の応答.温度スケールが大きいとなんの問題も無く整定しているように見える.

整定部を拡大.±1で振れていることがわかる.要するに温度安定性は±10mKである.

この±1の波打の影響を少なくするにはADコンバータの有効ビット数を増やすほかないでしょう. 温度制御の場合は系がとろいのでOVSすることで2〜4bit程度は分解能を上げることができますが, 高速な系だとOVSする時間的余裕が無いので素で高速・高分解能の高価なADCを使う必要があると思います.

まあ,そのうちスケーリングアンプ内蔵のADCが出てくるのではないでしょうか.

制御成績についての雑感

思いのほか上手くいったというのが率直な感想です. と同時にディジタル制御の制御成績はアナログフロントエンドに律速されるということを実感しました.

標準の校正

さて,本機を標準として用いるには,標準を使って校正しないといけません. が,手元に信頼のある標準がありません. ですので,しばらくの間は使用しているデバイスのデータシートのカタログスペックを拠り所とし校正せずに使うことにします.

機会があれば計測器ランドのレンタルラボサービス を使って校正することを検討しています.

ウォームアップ特性

校正時に測定予定...


Designed by chocoto
inserted by FC2 system