温度コントローラー(2013年改訂:デジタル型(PWM制御)を(2)として追加)

ペルチェ素子の入手は千石通商が品種も豊富で安い。このページの(2)で使用したのは主に千石通商のペルチェと、一部、共立のペルチェ。

(1)アナログ制御型

 ペルチェ素子を利用して、ある素子の温度を一定に保ちたい場合に使用した回路を図1に示す。詳細は図を参照。なお、この回路では冷却のみを制御している。その理由は、冷却される素子の方で、発熱してくれているためである。この回路では比例制御のみを行っている。

 もし、発熱しない素子の温度をコントロールする場合は、ペルチェによって、発熱・冷却の両方をさせる(ペルチェは+−逆に電圧をかけると、発熱してくれる)。大昔、作ったが、詳しい回路は忘れたが、ドライブ部をコンプリメンタリ型にし、パワーオペアンプ構成を取って定電流回路構成を作り、そこに温度検出部から電流制御信号を入力するといった構成(図2のようなもの)で可能。図2のR4は流れる電流をセンスする抵抗で、ペルチェに必要な電流によって値を決める。図2は概略を示しただけなので、別ページのパワー・オペアンプの回路も参照。(ダーリントン型接続等。)
 図1の回路のサーミスターは共立電子シリコンハウスで売っている。

 

(2)デジタル方式・PID制御を実装したペルチェ素子制御による実用型温度コントローラー(新規追加)

 PID制御も行える、実用型のペルチェ素子ドライバーを新しく作成したので、追加した。けっこう発熱があり、かつ重たいパワー・オペアンプの回路や+−電源は不要で小型軽量に作成できる。デジタル制御はAVRマイコンのMega1284とPower-MOS FETのICを使用。
前記したアナログ型の方式では大きなトランスや出力段のパワートランジスターからの発熱があって大きな放熱器も必要なため、軽量、小型に作る事は難しかったが、現代デジタル技術のPWM制御によるデジタル方式ではこれらの欠点を克服する事ができる。さらに、アナログ型の発熱・冷却の両方をさせるタイプでは+−電源が必要で、冷却のみの方式に比較して2倍の重量化や2倍の放熱板が必要だったが、デジタル方式ではFull-bridge回路により+電源のみの1電源方式で簡単に作成可能となる。加えて、アナログ方式では回路的に難しかった広い範囲のPIDパラメーター設定もソフトのみで簡単に実現可能。(上記に紹介したアナログ方式ではP(比例)のみの制御であり、I(積分)もD(微分)も回路的には入っていない。)これらPID制御の実現と、デジタル方式ならではのグラフィック液晶による温度のリアルタイムモニターにより、すぐに制御システムを安定動作させるPIDパラメーター値を探すことも可能となる。

 このシステムでは制御部の温度をmax.1時間まで1秒おきに記憶して、その後、USBインターフェースを通じてPCに出力できるので、教科書にあるPID制御におけるオーバーシュートや不安定発振のデーターなどがPID値によってどのように変わるかがリアルタイム表示でグラフ表示されるとともに、制御温度の時系列データーをPCに吸い取ってファイル化でき、自動制御に関する学生実験の教材としても有用と思われる。また、制御時に制御設定温度をリアルタイムに急激に変化できるため、インディシャル入力に対する応答を実験的に試行する等も可能。また、ソフトで任意に制御方法を設定できるために、優秀な学生やアドバンスドコースを履修する学生に対する現代制御理論等の実習も可能かもしれない。(今回使用したMega1284 AVRは128kB flushと16kB SRAMという十分なメモリー容量がある。)

 以上のようにこのシステムは比較的小型に、かつ、マイコンにより制御しているので、自動制御の実習の他に、マイコンの学習、PWM方式の理解、Power-MOS FETによるパワーエレクトロニクスの実習にも使えると思われる。また、ペルチェ素子の制御だけではなくモーター制御用に作り替えることも可能と思われ、メカトロの学習にも使えると思われる。

 なお、このシステムを作った動機は、当研究室の学生がレーザー結晶の温度制御を精密に行いたいという要求があったため開発したものである。発熱量とヒートシンクへの放熱量と吸熱方式にもよるが、初期実験における低負荷に対しては0.01度C程度の制御が可能であったため、ヒートシンクに最近発売されているCPUクーラーのモジュール等を利用すれば実際の使用における重めの負荷に対しても0.1度C程度の安定度が出せると思われる。さらに、ペルチェの発熱もできるようになっているので、室温近辺の温度設定をすれば、ヒートシンクの負荷をさらに低減できると思われる。

 そのマニュアルをPDFで添付する(制御方式等の詳細が述べられている)。そこに回路図もあるが、別途、少し詳しい(AVR部Power-Mos FET部の回路)をPDFで添付する。加えて、以下にEAGLEによる設計ファイルの圧縮ファイルを添付する。こちらの方が細部を拡大して見る事ができるし、実装のプリント基板図もあるので、両面感光基板を用いて作成する場合の参考にもなる。AVRによるコントローラーのEagleファイルと、Power-MOS FETによるドライバー部のEagleファイルを添付する。無料のEagleでも見る事ができるので、こちらの方が参考になるかもしれない。
 また、制御を行っているAVR Mega1284のソフトウエア(BASCOM-AVR)を添付する。使用にあたっては上記に添付したマニュアルにある「使用上の注意」をよく読んでください。(PWM出力段のMower-MOS FET ICや、使用しているペルチェ素子を壊さないように、注意書きがある。)

 BASCOM-AVRで書いてあるソフトに関しては以下の注意事項があります。
注:BASCOMではMega1284におけるConfig SPI命令にバグがあります。Spiinit命令の置き場所によっては正常にSCKが出なかったり、Config SPI命令でNoss=1とするとおかしな動作をしたりします。詳細は自作電子回路のページの7.0章の「BASCOMのくせ」を参照してください。添付したプログラムではSPIinitの実行位置を変えて、正常な動作となるようにしてあります。
注2:BASCOMではMega1284におけるPortAの入出力指定にバグがあるようです。回路図でPortA.0を出力ポートとして使う予定でしたがPortAの他のポートをADC入力とデジタル入力に指定すると、PortA.0を出力にできませんでした。(したがって、PA0はNon-connectionになっている。)この原因は時間がなくて解析できなかったのですが(おそらくポートAの制御レジスター設定がまずい)、PortAをADC入力とデジタル入力だけに使用する場合はうまく動作できるようです。ただし、ハイインピーダンスのデジタル入力は不可で、ADC入力に伴って変なパルスが出力されるという現象が出ました。今回はPortAのデジタル入力は74HC14出力によるローインピーダンスでドライブしているので(タクトスイッチの状態読み取り)、この辺は大丈夫だったようです。

以下の写真に実機を示す。

PertierSystem

 ペルチェコントローラー(左)とペルチェ素子(右)。詳細は前記でPDF添付したマニュアルを参照。初期の実験では右の銀色に光る小さなアルミシャーシを温度制御。オレンジ色に見えるのがサーミスター。黒い放熱器(ヒートシンク)の上にもサーミスターが貼付けられていて、そこの温度もモニターできるようになっている。
 温度制御はコントローラー下部中央の黒いボリュームで連続可変できる。PID制御ゲインはパネル右下のスライドボリュームで連続制御(左ボリュームから、P I Dの係数であるKp, Ki, Kdを設定)。これらボリュームの値はAVRの10-bit ADCでデジタル変換され、値が読み取られる。ボリュームを使ったのは、高速に連続可変でき、視覚上、すぐに分かるから。例えば、PIDゲインの値の大小は、スライドブリュームの位置を見るだけで分かる。
 パネル右下のタクトスイッチ群はモード切り替えやPID制御値の広範囲への設定を行う際に使用。
 コントローラーの後部にはUSBインターフェースがあり、PCへデーター転送ができる。また、種々のペルチェ素子に最適なドライブ電圧を供給するための電源入力端子もある。

 

PeltierGLCD

 温度制御開始時のグラフィック液晶の表示。グラフ表示により、応答がリアルタイムで分かる(冷却開始時に少しアンダーシュートして微小な振動をしている等)。制御結果では十数秒後に既に0.01度以内に制御できている。(T=制御部の温度、Ts=設定温度、Th=ヒートシンクの温度。)図ではヒートシンクの温度が23度に上がっているが、設定温度の20.46度Cに対して制御部の温度は20.45度Cと0.01度以内に保たれている(この場合、ペルチェは冷却モード)。液晶表示器の2行目に示された数値=62.4と62は実際の制御データーとそれを整数化してPWM出力(0~1023)にセットした数値(正が冷却側)。一番下の行の文字表示はPIDのゲインであるKp, Ki, Kd。本システムでは62.5msおきに自動制御してPWM値を更新するようにソフトが書かれている。(なお、液晶への表示は62.5ms * 16 = 1秒おき。あまりに頻繁に表示が変わっても見づらいので。)

 

Peltier_Contl_Inner

 コントローラー内部。左=AVR基板(ADCによる温度検出とそれによるPWMパルス発生のデジタル制御)。中央=Power MOS FET drive IC基板(ペルチェをドライブ)。奥は電源=12Vスイッチング電源(1電源:ペルチェドライブ電源)と、右に6.3Vトランス(AVR用電源:アナログ電源によってADCにノイズを乗せないため)。

 ペルチェ素子の放熱であるが、実機の写真右にある黒い放熱器の自然放熱ではペルチェの発熱が取りきれず、長時間動作させておくとペルチェの熱暴走を引き起こすことがあった。(本機はペルチェ放熱部の放熱器の温度もモニターして液晶上に表示しているので、すぐにそれが分かる。)それで以下の写真のようなCPUクーラーを利用してみたところ、非常に良い結果を得た。最近のCPUクーラーは高性能でコストパフォーマンスも高く(全部が数千円で買えたりする)、前記の黒い放熱器にファンを付けるよりは数倍以上の高性能であり、靜音性も高い。それらの詳細は前記に添付したマニュアル中に記述してある。CPUクーラーは、例えば大阪日本橋のPCパーツショップならどこでも扱っているので入手性は非常に良い。昔はこういう便利なものが無かったのでペルチェの放熱には非常に苦労したが、さすがに現代のPCパーツ分野の技術進歩はたいしたものである。(低振動、靜音、高効率、低消費電力、かつ低価格。)以下のクーラーは5千円以下で購入。

CpuCooler1

 例1:ヒートパイプ付き空冷型サイドフロータイプCPUクーラー(製品名=Ashura)を上下ひっくり返して使用。(このクーラーはファンが静かで振動が少なく、裏面はヒートパイプの露出が無いので、ひっくり返しても、たいらに置きやすい。)シリコングリスの代わりに高性能グリス(写真右下)も使用。このタイプのCPUクーラーは、通常は写真とは上下を逆にして使用する方がヒートパイプ内部の揮発液体の吸熱部への戻りが重力によって助けられるため、効率が高いらしい。なお、近年のCPUクーラーのヒートパイプは高性能なものが使用されているようであり、それらでは毛細管現象によっても効率よく戻るため、今回利用したクーラーでは逆さまの設置でも特には問題がなかった。なお、気になる方は上下逆にすると良い。(放熱したい部分に上から装置を接触させて設置。ペルチェの下面が冷却サイドになる。要は通常のCPUクーラーと同じ設置。)
 ファンの電源は12Vであり、本機内部の12Vスイッチング電源から供給できる。(なお、この写真では、試しに定電圧電源から12Vを供給している。)ファンのコネクタは共立シリコンハウスにあるモレックスの4ピンコネクタを利用し、コネクタの裏側白い板を3ピン幅に削る。ファンの電流容量は12V、0.5A以下で済む機種がほとんど。

 

CpuColler2

 例2:簡易水冷型CPUクーラー。上記の空冷型と同等の性能が得られる。写真中央の黒い丸井部分が放熱部で、ゴムパイプ内を循環する水によって写真左のフィンとファンによって熱交換され、放熱される。ファンと放熱部に内蔵されたポンプの電源は12Vであり、本機内部の12Vスイッチング電源から供給される。写真右下にコネクタ変換基板がある。コネクタは共立シリコンハウスにあるモレックスの4ピンコネクタの裏側白い板を3ピン幅に削ったもの。

CpuCoolerHead

冷却ヘッド部。普通は下にCPU ICを敷いて冷やすが、今回は裏返して、その上にペルチェ。このタイプの冷却器は空冷型に比べてヘッド部をコンパクトにできる。ヘッドに対する水の循環パイプの向きは回転できる。

(2-2)その他の自動制御の学習

 今回使用した空冷型CPUクーラーのファンであるが、回転数検知のパルス出力機能を有し、かつ、PWM制御端子で回転数を変えられる。(最近のPC用ファンはこのタイプもけっこう市販されているようである。価格も安い。)従って、大学等の自動制御の学生実験においては、ペルチェの自動制御の実習の他に、モーターのPWM回転制御の実習にもこれらのファンを利用できる。(その際はクーラーを買わなくてファンだけ買ってもよい。なお、今回使用したファンについてオシロで観測したところ、回転数検知のパルス出力に高速回転時に少しジッターが見られた。ただし、別のCPUクーラーではそのような現象はみられなかったので、ファンの種類によるのかもしれない。)
 回転数の検知はファンのコネクターの3番目のピンにモーターの半回転おきに1パルスが出るので(PCファン・コネクタの統一規格)、その周期時間を測って換算すればよい。それによってPWMパルスの発生をAVRから行い、制御を行う。パルス周期のAVRによる計測はTimerのInput Captureピンを使うと正確にできる。今回述べたペルチェコントローラーではMega1284を使っており、16-bit timerのTimer3のICP3ピン(Input-Capture Pin for timer3)が空いており、それを使用するとよい。なお、ICP3はプログラミングに使うMISOピンと共通になっているので、スイッチで切り替えて使用する。
 PWMパルスの出力はペルチェコントローラーで使っているTimer1のOC1Aを使用すれば、本機に少し改造を施しただけで使用できる。ソフトもモーター制御用に書き換えればPID制御が実現できる。PWMパルスは4番目のピンに入力する。(もし、ファンのコネクタのピン数が4本無ければ、それはPWM制御不可のファン。)
 以上の詳細については回路のページの10-2章に多くの追加情報や実際の例を述べてあるので参照されたい。

 

回路のTop Pageへ