学生実験用定電流源の作成
・概要
自然科学実験「マイナス200度の世界と超伝導」で定電流源として使っているDCシグナルソース(HIOKI 7010)が老朽化しているので更新用の機材を作りました。定電流源としての機能だけでなく白金抵抗温度計のコントローラーとしての機能も追加しました。
HIOKI 7010(既存) | 定電流源(新規) |
・使い方
Pt100温度計を使う場合には定電流が1.0mAになるよう調整が必要です。I+とI-の間に適当な抵抗を接続し、1.0mAに相当する電圧となるよう可変抵抗を調整してください。
調整完了後の使用方法はマニュアルを参照してください。
・構成
以下に回路図を示します。定電流源・白金抵抗温度計共に制御はArduinoを用いています。USBケーブルを繋ぐことによりPCからの制御も可能です。
表示画面と操作ボタンは今後別の機材でも使えるように独立した基板として制作してあります。ガーバーファイルはこちらからどうそ。
メインの基板
追加基板を設置した状態
・回路解説
定電流源・白金抵抗温度計ともに重要な部分はオペアンプ(U1)とトランジスタ(FET)で構成される定電流回路です。定電流源は任意の電流を出力するためにオペアンプの入力(V+)にDAコンバーターを接続するのに対し、白金抵抗温度計は4端子法に用いる定電流を出力するために基準電源から分圧した出力を接続します。以下、定電流回路について説明します。
①負帰還ついて
オペアンプの入力V+はU1Aについては基準電源D1からの分圧、U1BについてはDAコンバーターU3からの出力であり、設定完了後にはそれぞれ安定した電圧となっています。はじめに上図の回路を考えます。オペアンプの出力Voutを入力Vin-に直接接続してフィードバック(負帰還)をかけているため、Vin+とVin-が一致するようにオペアンプは動作します。このことをイマジナリーショートといいます。本回路では、Vin+とVin-の誤差が設定電流の誤差となるので入力オフセット電圧の小さいオペアンプを選定する必要があります。また、入力端子Vin±に流れ込む電流をほぼ0にしたいのでFET入力のオペアンプを使います。今回用いたオペアンプS-89713Bではオフセット電圧は10μVとなっています。
②FETに流れる電流について
エンハンス型MOSFETはゲートに電圧を加えることによりドレインに電流が流れます。ドレイン電流はFETとグラウンドの間に存在する固定抵抗(R3またはR8)を流れて電位差Vrを発生させます。この電圧をVin-に負帰還をかけることにより、回路はVin+=Vin-=Vrとなるように動作します。すなわち、ドレイン電流をIとするとMOSFETはゲートからの漏れ電流が非常に小さく、また、CMOSオペアンプVin-には電流は流れ込まないので正確にRI=Vin-となり、この回路においてはVinを制御することによりドレイン電流を一定値に制御することができます。
③シンク型定電流源
前項で示した回路を元に作られた定電流源の接続は上図のようになります。電源をでて負荷を通過した電流がFETに流れ込むのでシンク型定電流源と呼ばれます。
・ソースコード
ファイル名 | 説明 |
command.h | |
console.cpp | シリアル通信で受信したコマンドを処理するプログラムです。 |
console.h | |
controller.cpp | 追加基板を管理するプログラム。液晶表示とボタンの読み込みを行います。 |
controller.h | |
CsourceShield.ino | メインプログラムです。 |
current.cpp | 電流制御を行うプログラムです。 |
current.h | |
myfont.h | プログラムサイズ節約のためにfont5x7.hを修正して必要最低限のフォントのみを定義します。 |
NanoTimer2.cpp | 遅時間測定用関数。delay関数と同時に利用できるようにATmega328マイコンのTimer2を利用します。 |
NanoTimer2.h | |
pt100.cpp | PT100温度計の読み込みを行うプログラム。電流値が1.0mAであることを前提にして計算しています。 |
pt100.h |
DAコントローラー制御用プログラムMCP_DACはArduino公式HPに掲載されているライブラリを使わせていただいております。
液晶ディスプレイ制御用プログラムSSD1306AsciiWireも同様にライブラリを使わせていただいております。
・部品リスト
品目 | 規格 | 型番 | 記号 | 必要数 | 単価 | 小計 | 販売元 | 備 考 |
Arduino Nano | IC1 |
1 | 1000 | 1000 | amazon | 互換品 | ||
オペアンプ | S-89713B-K8T2U | U1 | 1 | 70 | 70 | 秋月 | ||
ADC | MCP3421A0T-E/CH | U2 | 1 | 260 | 260 | 秋月 | ||
DAC | MCP4811-E/SN | U3 | 1 | 465 | 465 | マルツ | ||
レギュレーター | UA78M05CDCY | U4 | 1 | 204 | 204 | マルツ | ||
リレー | 941H-2C-5D | K1,K2 | 2 | 150 | 300 | 秋月 | ||
トランジスタ | 2SC2712 | TR1-2 | 2 | 5 | 10 | 秋月 | 40個入り200円 | |
FET | 2N7002 | FET1-2 | 2 | 5 | 10 | 秋月 | 40個入り200円 | |
可変シャントレギュレーター | NJM431 | D1 | 1 | 20 | 20 | 秋月 | 5個入り100円 | |
スイッチングダイオード | 1SS355VM | D2,D3 | 2 | 5 | 10 | 秋月 | 40個入り200円 | |
可変抵抗 | 10KΩ | 3296W-1-103LF | VR1 | 1 | 120 | 120 | 秋月 | |
コンデンサ | 0.1μF 50V | GRM188F11H104ZA01 | C1,C3,C5,C6 | 4 | 2.5 | 10 | 秋月 | 40個入り100円 |
22μF 10V | TAJB226K010TNJ | C2,C4 | 2 | 67 | 134 | Digi-Key | ||
22μF 16V | TAJB226K016TNJ | C7 | 1 | 67 | 67 | Digi-Key | ||
4.7μF 10V | TAJB475K010TNJ | C8 | 1 | 62 | 62 | Digi-Key | ||
抵抗 | 0KΩ | RK73Z1JTTD | R2,R6 | 2 | 0.5 | 1 | 秋月 | 200個入り100円 |
100Ω | RG1608N-101-B-T5 | R8,R12 | 2 | 20 | 40 | 秋月 | 5個入り100円 | |
1KΩ | RG2012-N-102-B-T5 | R3,R7,R10 | 4 | 20 | 80 | 秋月 | 5個入り100円 | |
10KΩ | RG2012-N-103-B-T5 | R9,R11 | 2 | 20 | 40 | 秋月 | 5個入り100円 | |
液晶 | SSD1306 | 1 | 600 | 600 | amazon | |||
スイッチ | TS-06104 | S1-6 | 6 | 20 | 120 | 秋月 | ||
ケース | SS-125B | 1 | 528 | 528 | マルツ | |||
バナナジャック(赤) | MK-626-0 | 3 | 60 | 180 | 秋月 | |||
バナナジャック(黒) | MK-626-1 | 3 | 60 | 180 | 秋月 | |||
DCジャック | 内径2.1mm | MJ-14 | 1 | 60 | 60 | 秋月 | ||
スペーサー | 5mm | 911-5M | 4 | 5 | 20 | 秋月 | 10個入り50円 | |
ケース加工 | 1 | 1692 | 1692 | 機械工作室に依頼 |
合計6283円。
※執筆当時の参考価格です。送料は考慮していません
・ケース加工寸法
(担当:技術専門職員 亀屋)