
概要
BVISO100は電気生理実験の刺激装置に求められる基本的な機能と便利な自動校正機能を搭載しています。
- アナログ入力 低電圧信号(-5V~+5V)を絶縁し、高電圧(-100V~+100V)に線形増幅する機能
- パルス入力 TTLレベルのデジタル信号を入力を任意の高電圧パルス出力に変換する機能(2チャンネル)
- 反転スイッチ 入力の極性を反転する機能
- 電圧出力(CV) 入力に従った電圧を出力する機能 (負荷抵抗に関わらず、電圧が固定される)
- 電流出力(CC) 入力に従った電流を出力する機能 (負荷抵抗により電圧が変化し、電流が固定される)
- 出力遮断 リレーにより出力端子を接続・遮断する機能(過負荷時には自動遮断)
- 出力モニター 出力電圧と出力電流をモニターする機能(本体LEDの点灯およびパソコンでの波形観察)
- 自動ゼロ校正 内部回路の温度変化などによるオフセットと電極の分極電圧を自動校正する機能
- 自動容量校正 電線や電極による出力線間の容量を補償して高速な立ち上がりを保つ機能
- 静電容量相殺調整 絶縁部と接地間の静電容量による容量性電流を相殺する調整機能
- インターフェース USBを経由し、パソコンでの設定および表示が可能
- 出力 電圧範囲 -100V~+100V 電流範囲 0~1mA (CV時は3mAまで)
- 電源 12V0.5A ACアダプター使用 (電池不要)
- 筐体 W250 H90 D170 1.5Kg
内部構成

図1 BVISO100の内部回路ブロック図 破線枠:絶縁領域 赤線:低電圧アナログ信号(±3.6V) 橙線:高電圧アナログ信号(±100V) 青線:低電圧帰還信号(±3.6V) 緑線:デジタル信号 緑枠の信号名:スイッチ設定
1.入力部
端子はAnalog-In、Pulse1、Pulse2の3本があります。Analog-Inに与えられた±1Vあるいは±5Vのアナログ入力信号は光アイソレータを介して絶縁して次段に伝達されます。この光アイソレータには線形性を改善するためフィードバック回路が内蔵され、駆動電流が適切に制御されています。とは言え、線形性は完全ではありません。±2%程度のエラーがあるのでご注意ください。入力インピーダンスは100KΩ/12KΩです。
2つのパルス入力端子の信号は独立のデジタル光アイソレータを介して、次段に伝達されて任意の電圧や電流のタイミングを与えます。入力レベルは0V/5Vで、スレショルドは1.4Vです。入力インピーダンスは10KΩであり、無接続では0V(偽)となります。
アナログ入力を使うのかパルス入力を使うのかはスイッチで切り替えます。このスイッチは機械的なトグルスイッチであり、ソフトウェアからの制御はできません。
<ポイント> このスイッチをアナログ側で使う場合、原則的にスタンドアロン(パソコン接続不要)でリニアアイソレータとして使えるように全体が設計されています。パルス側では最低限でも電圧設定のためパソコンの接続が必要です。
2.信号生成部
線形アイソレータデバイスからの信号電圧は1V~3V、中点2V付近のアナログ信号です。Ampによって、±3.6V(中点0V)の信号に変換されます。このアンプのゲインは出荷時に±1%に調整され、オフセットはDAC5によって、後述のキャリブレーションで自動的に調整されます。アナログ信号の伝達時間は約2usecであり、フルスケールの立ち上がり時間は約10usecです。
M1のマルチプレクサはPulseSelスイッチが偽であれば、Ampの出力Vaを選択し、Vs=Vaとなり、M2とM1の選択は無視されます。逆にスイッチが真であればM1はM2の選択する電圧を出力します。M2とM3はそれぞれ、Pulse1と2によって選択され、どちらも偽であれば、zeroがVsとして選択され、Pulse1か2のどちらかが真であれば、DAC1、DAC2で設定されたV1、V2がVsに出力されます。DACはソフトウェアから設定するため、パルス入力モードで使う場合はパソコンの接続が必須です。
パルス入力の伝達時間は高速であり、100nsec以下です。実際の立ち上がり時間は後述の高電圧アンプのスルーレートに依存します。
3.極性反転スイッチ
前段の信号生成部の出力Vsをそのまま後段の高電圧アンプに伝達するのか、極性反転するのかをスイッチで選択できます。極性反転とはプラスをマイナスに、マイナスをプラスにすると言う意味です。実験中にいつでも切り替えられ、手に触れた感触で向きが分かるようにトグルスイッチにしました。ソフトウェアからは設定できません。なお、反転アンプのオフセットは出荷時にマイクロボルトオーダーで調整されていますが、温度で変化する可能性があるので、精密な測定の場合は切り替えた後に自動ゼロ校正を取り直してください。
4.高電圧アンプ
±100Vを出力するアナログデバイス社の高性能アンプを採用しています。電源には±102Vを印加してあり、十分に±100Vのフルスイングが可能です。スルーレートは約30V/usecであり、フルスイングで10usec、小信号では2usec以内に立ち上がります。アンプ自体は15mAまでの電流出力が可能ですが、保護回路により3mAに制限しています。例えば電極端子がショートしてもアンプが破損することはありません。
アンプのオフセット調整はDAC3を制御する自動ゼロ校正によって保たれます。また、電圧固定モードで電極の分極に従った固定のオフセットを持たせたい場合はDAC4の制御により自動ゼロ校正を行うことで達成されます。DAC3/4の使いわけについてはMCUによる自動校正の記述で説明します。
5.出力部
出力端子は2個のリレーによってほぼ完全に遮断できる構造になっています。リレー遮断によって漏れ電流を理想的なゼロにできますので、刺激をしない状態では遮断することをお薦めします。
出力端子はSMA規格のシールド線を接続する構造になっており、ソース側(アンプの出力側 : Vo)のシールドは絶縁領域のグランド電圧であり、シンク側(電流検出抵抗側 : R-Isense)のシールドはトリブンシールドです。従って、この2つのシールドをショートさせてはいけません。トリブンシールドを使わずシンク側を仮想接地にする案もあるのですが、配線容量や電極抵抗の組合せで発振する可能性があるので、より安全にシンプルな電流検出抵抗にしました。
6.帰還回路
高電圧アンプの出力電圧Voは正入力端電圧Vpと負入力端Vnが等しくなるところで落ち着きます。Vpは極性反転スイッチを介して、信号生成部の電圧を受け取っています。帰還回路はVnをCV/CCのモード設定に従い、マルチプレクサM5によって切り替える構造になっています。CVモード(電圧固定モード)で、この電圧は±3.6Vですが、若干のマージンを取って±3.51Vを±100Vに増幅しています。100/3.51=28.49倍に増幅されています。一方、CCモード(電流固定モード)では、電流検出抵抗(R-Isense)の電圧がVnになります。R-ISenseは3.51K、10.5K、35.1Kが選択できるようになっており、それぞれ1mA、0.3mA、0.1mAの電流により3.51Vの電圧を生じます。
Vnの途中にCapacitive Compensation Circuitと言うモジュールがありますが、これは位相遅れを調整して高速アンプの立ち上がりを最適化する目的の容量選択スイッチです。位相遅れは電極抵抗に比例して大きくなり、R-Senseに反比例して大きくなります。R-Senseは既知なので、電極抵抗が分かれば、適切な容量を選択して位相遅れの調整ができることになります。これを実行するのがCap-Calibrationの機能でCapacitive Compensation Circuitの制御はMCUに委ねられています。
7.静電容量バランス部
静電容量バランスの目的は容量性アーティファクトの最小化です。実体としてはバリコン(平板式の可変容量)であり、ソース側出力端をグランドに容量カップルさせています。この調整は残念ながら自動ではありません。正確に調整するには波形を観察して手動でツマミを回す必要があります。電気的なアーティファクトが気にならないならば、使用する必要はありません。
静電容量バランスの原理については後述する解説、また、正しい調整方法については後述の取り扱い説明を参考にしてください。
8.MCU部
32ビットのARMプロセッサのMCUにより全体を制御しています。MCUの主な役割をリストすると
- USBインターフェースを介して、パソコンからパルス電圧(DAC1とDAC2)を設定する
- 自動ゼロ校正(DAC3/4/5)と容量校正(Capacitive Compensation Circuit)の調整を行う
- 出力電圧と出力電流のモニターし、その値をパソコンに送る
- 各スイッチの検出やLEDの点灯
- 試験パルスの発生
これらの中で、自動ゼロ校正について若干の説明を加えます。セロ校正はCVモードの出力のONの場合は異なる動作をします。なお、アナログ入力選択時には入力端はゼロボルトで校正ボタンを押してください。逆に言えば、校正ボタンを押したときの入力電圧をゼロとして調整を行います。
1.ADCの各チャンネルのゼロを校正します。
2.アナログ入力のオフセットをDAC5を調整してゼロにします
3.パルス電圧(DAC1/2)のオフセットを調整して中点をゼロにします
4.高電圧アンプのオフセットをDAC3で調整して出力をゼロにします
CVモードで出力ONの場合はさらに
5.高電圧アンプのオフセットをDAC4で調整して、漏れ電流をゼロに調整します。結果として、電極の分極電圧に一致します
ゼロ校正実行中はボタン操作が出来なくなり、ボタンの下のLEDが点灯します。また、電源投入後にゼロ校正が行われていない場合、低周期で点滅します。自動ゼロ校正はボタンの押下でスタートし、勝手にスタートすることはありません。
9.電源部
電源はDC12V/0.5Aを入力として、パルス昇圧トランスにより絶縁された±5Vと±100Vを全体に供給します。オリジナルの高周波トランスを用いて静電容量も小さく収め、大よそ15pFです。
パネルデザインと操作の概要
BVISO100のパネルデザインを図2に示しました。左に入力部、中央に設定部、右に出力部と並んでいます。図1の解説と合わせて見て頂くと各端子やスイッチの役割はご理解頂けると思います。

1.InputModeスイッチ アナログ入力とパルス入力を選択するスイッチです。アナログ入力のレンジ着替えも兼ねています。中央で1V/FS(FullScale)上で5V/FSです。1VFSは若干ノイズが乗ることがあるので、5V/FSをお薦めします。
2.入力端子 Analog、Pulse1、Pulse2の3つのBNC端子です。パルスジェネレータなどからBNCケーブルで信号を入力してください。Analog入力端子の上のLEDはInputModeスイッチをアナログ側にすると点灯します。これが消灯している場合はパルス入力モードです。なお、アナログが選択されている場合、パルス入力は無視されます。Pulse入力端子の上のLEDはそれぞれに真(+2~5V)が印加されると点灯します。
3.Polarityスイッチ 極性の反転スイッチです。機能は前述のとおり。
4.ConfigurationーMode 緑の押しボタンスイッチでCC/CVを切り替えます。LEDが現在の状態を示しています。
5.ConfigurationーCurrent Range 青の押し釦を押すと、電流レンジが1.0ー>0.3ー>0.1ー>1.0と循環的に切り替わります。LEDの下のRという印字は電極抵抗の目安を示しています。CCモードではここで選択した電流レンジがフルスケールになりますが、CVモードではフルスケールは常に100Vであり、電流の測定範囲の選択になります。
6.Caribrationーzero 白の押しボタンを押すと、内部自動ゼロ校正がスタートします。電源投入後、実験前に1度はこのボタンを押してください。前述の説明にもあるように、OutputをOFF状態、アナログ入力を使う場合はアナログ信号はゼロ状態を保った状態で押してください。パルス入力を使う場合は無視されますので、その注意は不要です。CVモードで使う場合で、刺激電極に固定の電位差(2つの電極に異種金属が使われている場合など)がある場合は、OutputをONの状態でこのボタンを押すことで、電位差分をオフセットに記憶して定常電流をゼロに校正します。なお、スイッチの下の緑のLEDがゆっくり点滅してる場合は、未校正であることを意味します。
7.Calibrationーcapacitance 黄色の押しボタンを押すと、自動容量校正がスタートします。これはCV/CCモードでの電極抵抗による遅延を位相補償する機能です。電源投入後、はじめてボタンを押すと、微小な電流を電極に流して電極抵抗を求めて遅延を補償します。実際に刺激電流が流れた後にこのボタンを押すと、最後の刺激から電極抵抗を求めて補償に使います。なお、スイッチの下の緑のLEDがゆっくり点滅してる場合は、未校正であることを意味します。
8.OutputーON/OFFスイッチ 出力端子の接続/遮断を行うスイッチです。OFF状態では端子はほぼ完全に回路から遮断され、端子はフローティングになります。白いLEDは接続中に点灯します。
9.OutputーCurrent表示 出力端子に電流が10uA以上流れると点灯します。上がプラス、下がマイナスです。定常的には消灯していて、刺激電流を出力している期間に点灯するというのが正しい動作です。どちらか片方が常時点灯している場合は、定常的な電流が流れていますので、再度ゼロ校正する必要があると思われます。両方が点灯して見える場合はノイズ等で電流が流れている可能性があります。
10.OutputーV-Limit表示 高電圧アンプの出力がほぼ飽和する電圧に達すると点灯します。CCモードで使用中にこの表示が点灯する場合は電圧スパンが足りていないので、正しい電流値が流れていない可能性があります。電流レンジを変えるか、電極抵抗を低くするかなどの対策が必要だと思われます。
11.OutputーI-Over表示 電極間に3mA以上の電流が流れた場合に出力を遮断して、この表示が点灯します。点灯はOFFボタンを押してリセットするまで続きます。点灯したらOFFボタンを押し、異常電流の原因を除去した後に、ONボタンを押して出力を再接続してください。
12.Cap.Balanceー調整ノブ、Bipolar/Unipolarスイッチ、Apply/not useスイッチ これらは後述する静電容量バランス回路に関わるスイッチ類です。正しい使い方については後述しますが、操作の概要は、①機能を使う場合はApply側にスイッチを倒す、使わない場合はnot use側に倒す ②電極の種類によって、Bipolar/Unipolarスイッチを選択する。Bipolarは双極電極(ペア電極)で、Unipolarは単極電極のことです ③調整ノブを回して、補正容量を調整します。
13.出力SMA端子 source(赤):高電圧アンプの出力端、sink(青):電流検出抵抗端 端子の中央導体がそれぞれの端子です。ソース側は高電圧なので感電の恐れがあるので注意してください。外装導体はシールドです。シンク側はトリブンシールド(能動シールド)になっていますので、2本のケーブルのシールドを共通にしてはいけません。電極のすぐそば(10cm以内)まではシールド付きで配線することをお薦めします。なお、付属のケーブルが壊れた場合や長さが合わない場合は市販の類似規格のSMA同軸ケーブルをお使いください。シールド線を使わずに、中央導体だけに単線をご使用になることもできなくはありませんが、CCモードの位相補償が調整できない可能性があるので、お薦めできません。
CVモードとCCモード
アイソレータと静電容量
アイソレータは電気的絶縁を提供する装置です。なぜ、絶縁するのか? 静電容量のバランスがなぜ必要なのか? を解説します

図5 シンプルなチェンバーの電極配置例 A:非絶縁型 B:絶縁型
図5に示したのは簡略化したスライス標本の電気生理実験のチェンバーです。Aに示したのは非絶縁型で1本の金属刺激電極に刺激電流パルスを印加するものです。刺激電極先端からの電流(Is)は細胞に刺激を与えますが、同時にチェンバー溶液を通して接地電極(GND)に流れ込みます。この時、接地電極の抵抗により刺激電流は電圧に変わり、チェンバー溶液の電圧を上昇させます。位置によって不均一でしょうが、平均的にVbathとして表現することができます。
測定用のガラス電極は細胞の膜電位を計っているのですが、溶液の電位が加算されたものとして観察されます。仮にIsが100uA、Rgが1kΩであればVbathは100mVとなり、細胞の脱分極膜電位を超えてしまい正しい電圧は測れなくなります。もう1本のガラス電極を追加して、Vbathを計り、差動増幅することで刺激電流による電圧は消去することが可能ではあります。しかし、完全に消すのは難しいでしょう。
それに対して、Bのように2本の金属電極に絶縁された刺激電流を流すケースでは、刺激電流は電極先端だけに流れるので、溶液全体の電圧を変化させる要因にはなりません。従って、観察されるのは細胞由来の膜電位だけになります。
というのが理想的な絶縁型電流源による説明になります。しかし、実は理想的な絶縁型電流源は存在しません。その理由や影響についてはこの後に解説します。
なお、例Bでは2本電極(対電極:bipolar)で説明しましたが、1本電極(単電極:UnipolarあるいはMonopolar)場合は片方を別の接地電極に置き換え、計測用の接地電極から離して溶液に浸して配置することで、同じように計測系への影響は大幅に少なくなります。
理想的な絶縁電流源とは、「入力ー出力間が電気的に絶縁されて、入力に従い出力電流が正確に出力される」ことを意味するのはご理解されていると思います。しかし、これが案外難題なのです。
さて、電気的絶縁とは、電圧をかけても電流が流れないことです。つまり、電気伝導がゼロ、言い換えれば、電気抵抗が無限大のことを意味します。しかし、これは完全な正解ではありません。なぜなら、時間的に変化する信号に対しては静電容量(キャパシタンス)の絶縁性も必要だからです。実際、電気抵抗が1GΩだとしても、容量が1uFであれば、低周波信号でさえもスカスカに抜けてしまいます。電気生理実験に求められるのはおそらくDC~1MHzくらいまでの絶縁性でしょう。接地電極抵抗が1kΩ程度であることを配慮するなら、電気抵抗は100MΩレベルでしょう。一方、計測電極の抵抗や細胞の活動電位等から配慮すると、静電容量は数pFが求められます。
静電容量が計測にどんな影響を及ぼすのかシミュレーション結果を図6に示しました。Aは計算に用いた回路でV1が絶縁された電圧源(刺激装置)、R1 、R2が刺激電極の抵抗、R3が接地電極の抵抗を表現しています。ここで、C1が検討中の絶縁部と接地間の静電容量であり、Bの波形グラフでは1pF、10pF、50pFの3つのケースにおいて、V_Bathの電圧変化を重ねて表示しています。1pFは無視できそうですが、10pFで400mV、50pFでは800mVと大きなアーティファクトが観察されることになります。(*差動増幅を使わない場合です)

図6 絶縁された電圧源と接地との間に静電容量がある場合のSpiceシミュレーションの結果
つまり、静電容量は10pFでも計測に悪影響を及ぼすのです。ところが、実際には10pF以下の低容量の実現は困難です。例えば、2枚の金属板が平行に乾燥した空気中に離れて置かれていれば、電気抵抗は殆ど無限大ですが、容量は金属板の面積に比例し、隔離距離に反比例し、必ず存在してしまいゼロにはなりません。ゼロではないと言うより、案外大きな値になってしまいます。
高校の理科の授業で習った通り、 電気容量はCは、 C=ε・S/d 、ここでεは誘電率、Sは平板の面積、dは平板間の距離です。誘電率εは真空の場合で8.9×10^-12(F/m)= 8.9pF/mであり、まあ、空気もほぼ同じです。
仮に、刺激装置を構成する電子回路基板が100mm角(=0.01m^2) 、ケースが50mm(=0.05m)の高さで、その中央の25mm(=0.025m)に基板を置いたという場合を想定すると
C= (8.9 pF x S(=0.01) / d(=0.025) ) x 2(ケースの上下があるから)= 7.12pF
となります。実際には、基板の厚さ、基板上の部品の高さ、ケースの左右側面、前面、背面などがあるので、これより大きな値になります。実測値的に100mm角の基板を使いやすそうな小型の金属ケース(W250H60D150mm)に収めただけで、15pFくらいの静電容量が生じます。これは物理的に避けようがありません。当然、ケースを倍(体積では8倍)にすれば半分になりますが、今度は使いにくくなります。
さらに、静電容量が厄介なのはこれからです。例えば、装置からチェンバーまでの電線が空中に浮かんでくれればよいのですが、実験台に触れたり、近づくとこれも静電容量になります。1.5mの電線の半分が実験台(接地したアルミ板)に置かれると、これだけで10pF程度の容量を生じます。これが厄介なのは配置によって変わることです。もし、いい加減に固定してフラフラ揺れれば、1~2pFは変化するでしょし、がっちり定盤に固定すれば、平気で20PFくらいの増加になります。この不確定な要素を無視できるようにシールド線にでもしようものなら、数100pFの容量になり、もはや、静電容量的には絶縁された電流源ではなくなります。
BVISO100本体の静電容量は概ね50pFであり、付属のワイヤーで試料チェンバーまで配線すると20pF程度の容量が追加され、60~70pFの静電容量で絶縁が破られます。このままでは比較的大きなアーティファクトが生じる場合(双極電極を使う場合など)があります。そこで、BVISO100 の出力には静電容量バランス回路を装備しました。このバランス回路を適切に調整することで、静電容量によるアーティファクトは大幅に小さくできます。次に、バランス回路の動作を解説します。
静電容量バランス回路
前述したように、絶縁部と非絶縁部の静電容量による結合が電気生理実験のアーティファクトの原因になります。そこで、図7の黄色丸印に示した容量を追加した回路でのシミュレーション結果を示しました。青線の波形がC2なし(1fFは1pFの1/1000)のとき、赤線がC2=50pFの時であり、完全に容量性電流が消えています。その理由は電圧源の両端からの容量性電流がバランスして、ちょうど相殺されたためです。

図7 静電容量の結合で生じる容量性電流を相殺する回路 A:黄色丸で示した補正キャパシタC2を接続 B:シミュレーション結果
追加したC2の値は常に静電容量C1と等しければ良いかというとそうではありません。図8は出力(V_Stim)側と絶縁領域の接地(Gnd_Iso)側で電極抵抗が大きく異なる場合を示しています。これはスライス試料などの刺激を単電極で行うときのセットアップの等価回路であり、先端の細いガラス電極と太いガラス電極の組合せなどに相当します。R1=1MΩ、R2=100KΩの時には、C2は5pFにて適切に容量性電流を相殺することができます。
すなわち、C2の値は電極抵抗の比率で決まり、R1:R2=C1:C2 であり、書き換えると C2=C1・R2/R1 となります。
仮にこのC2を正確に決定できるなら、静電容量による容量性電流のアーティファクトは完全に消すことができます。

図8 単電極刺激のモデル回路 A:R1の1000Kはガラス電極を表現 B:シミュレーション結果
しかし、電極抵抗のR1、R2を正確に測るのは不可能ではありませんが、大変に面倒で、一般的に大体は分かっているけど、正確には未知という場合が多いと思われます。C1についても配線などで数pFは変化しますので常に同じではありません。つまり、前出の式の右辺のパラメータはどれも未知なわけで、C2は決定できません。
そこで、C2は調整可能なバリアブルコンデンサである必要があります。これを調整して実験的に最適なC2を決定すれば良い訳です。それが出来るか出来ないかは実験条件にも依りますが、図9に調整方法のヒントを示しました。C2がちょうどの値とそれより小さい場合と大きい場合でV_Bath電圧の容量性成分は反転することがわかります。この反転が観察できればC2を実験的に決定することができます。

図9 図7と同様の回路で、C1=50pFに対して、C2=45pF・50pF・55pFとした場合のシミュレーション結果
実験を開始する前に試料のない状態でテストパルスを打って、観測する電位電極などに現れるアーティファクトの反転を見てちょうど消えるところを探すと言う方法が実用的だと思います。セットアップの変更や電極の交換でC2の調整は変わるので、実験開始前に毎回調整することをお薦めします。
同じ電極を用いた双極電極によるセットアップであれば、電極間の抵抗のバリエーションは±20%程度ではないかと思われます。例えば平均100K、小さい場合で80K、大きい場合で120kでしょう。これが組み合わせれたとして、C1=50pFの場合のC2の範囲は 33pF~75pFのはずです。この範囲でカットアンドトライにより決定することになります。
面倒ではありますが、完全でなくてもアーティファクトは小さくなりますので、慣れれば妥協できる程度には簡単に調整できるだろうと思います。また、試料に電極を刺した状態では先端抵抗が変化しますし、溶液量などでも変化するので、完全な調整は困難です。そこそこのところで妥協するのが得策だと思います。
アーティファクトは気にならない測定法(例えば光計測)でも、容量性の意図しない電流が流れるのを防ぐために、双極電極の場合はC2をC1に近づけることをお薦めします。この場合は毎回の調整は省略しても構わないと思います。
なお、単極刺激電極の場合は、接地側(シンク側)の電極抵抗を出力側(ソース側)ガラス電極の1/100程度に小さくすることで、C2はゼロに近くなるので調整は不要です。具体的には、ソース側はガラス電極(約1MΩ)、シンク側はAg-Cl電極(10kΩ以下)をバス直接投入の組合せなら、C2はゼロで問題ありません。
具体的な使用法
電極の種類とCap-Balanceの代表的な設定例を下図に示しました。Aはガラス電極による単極刺激で、チェンバー溶液槽の抵抗が十分に小さい場であり、Cap-Balanceの機能が不要な例です。 Bは同様に単極刺激電極ですが、チェンバー溶液側に太いガラス電極等を置いている場合で、3pF~5pFに調整する例です。Unipolarが選択されているとC2容量の調整範囲は3pF~20PFになります。調整ノブはL側に近いところで少し調整してください。また、電極抵抗の比率が1:20から1:3くらいの場合はUnipolar側で調整してください。Cは双極刺激の例であり、スイッチはBipolarを選択し、ノブは中央付近で調整します。ボール電極や平板電極の場合も同様の設定です。ノブを回してL~Hの範囲に入らない場合は、2つの電極の抵抗値が大きく異なるか、配線での静電容量が大きすぎるなどが考えられます。
注意 ①A/Bの単極刺激の場合は、source/sinkを間違わないようにしてください。 ②B/C共にノブの調整は計測系へのアーティファクトを観察しながら行ってください。

図10 電極の種類と容量バランス調整の代表的な設定
ソフトウェア
Windows版の標準コントロールアプリケーションであるBV_ISO100.exeの実行画面を下図に示します。ソフトは弊社公式サイトからダウンロードしてください。ZIPファイルを適当なフォルダにコピー展開し、本体とUSBケーブルで接続し、フォルダに含まれるドライバー(bv-ftdi)をデバイスドライバなどで選択して、インストールすることで使用できます。

図11 BV_ISO100.exp アプリケーションの実行画面
①パルス高設定部
Pulse1/Pulse2エディットボックス ここにはパルス高さを入力します。CVモードでは-100~+100VCCモードでは-1mA~+1mAが入力範囲です。本体のPulse1/Pulse2入力端子が真(1.5V以上)になると、それぞれに設定した電圧・電流が出力されます。数値入力かスピンボタンで設定します。
Symmetricチェックボタン チェックするとPulse2の設定がPulse1の極性反転値に固定されます。つまり、Pulse1がプラス10VならばPulse2はマイナス10Vになります。
P1/P2 memoryボタン save1~3は上記Pulse1/Pulse2の設定値の保存。load1~3は読み出しです。CVモードとCCモードの各レンジのすべての設定値を一気に保存し、読み出します。設定内容はソフトウェア実行コード(BV_ISO100.exe)が置かれているフォルダのPlsMemory.binファイルに格納されています。
②Set Pulseプッシュボタン Pulse1/Pulse2エディットボックスの設定値はこのボタンを押すことで有効になります。
③ON/OFFプッシュボタン 本体の同名のボタンと同じ働きです。出力の接続と遮断を制御します。接続中は「Output」というアイコンが表示されます。
④Modeプッシュボタン/Rangeプッシュボタン 本体の同名のボタンと同じ働きです。
⑤AutoZeroプッシュボタン/Cap.Compプッシュボタン 本体のCaribration-Zero、Caribration-Capacitance と同じ働きをします。スピンボタンで、手動による調整も可能です。Zero調整のオフセット調整範囲は-1.76V~+1.76Vです。Capacitance調整の設定範囲は0~127であり、大きい値ほど立ち上がりは鋭くなります。大きすぎると条件によっては発振することがあり得るので、ご注意ください。なお、Cao.Compプッシュボタンを後述の抵抗値検出前に押すと、微弱なチェック信号を出力することがあります。大きな害になることはないと思いますが、後述の抵抗値が計算された状態で押すことをお薦めします。
⑥test pulseプッシュボタンとchk signalプッシュボタン これらはソフトだけに存在するボタンでtestpulseは250usec幅のパルスを①の設定値に従ったパルス高で1発づつ、chksignalは1.6KHzの2Vの連続矩形波を3周期発生します。前者は設定の確認、後者は電極抵抗の確認に使うことを前提にしています。
⑦DCレベル表示ウインドウ 出力電圧:Output(V)、出力電流:Current(mA)、10倍解像度の出力電流:Hi-Reso(mA)、入力電圧:Input(%FS)を一定周期で表示しています。下2桁程度はADCの分解能とノイズのためバラつきますが異常ではありません。無入力時に出力電流がゼロ近傍でない場合は何らかの理由でDC的な電流が流れていますので、試料や電極に悪影響を及ぼす可能性があるため、ご注意ください。その場合は、⑤のAutoZeroやスピンボタンによる手動調整でDC電流を下げることをお薦めします。
⑧計測データ表示ウインドウ 刺激パルスによる出力電圧、出力電流を表示しています。 1行目は左から、設定条件を表し、#の数字が測定のシリアル番号、出力のON/OFF、モードのCV/CC、入力のAnlog/Pulse、極性のNormal/Invert、電流レンジの順です。2行目は正の最大値であるTop電圧、電流。3行目は負の最大値であるBtm電圧、電流。4行目は電流と電圧から計算された抵抗値R(KΩ)が表示れます。電流・電圧の測定精度は±2%、抵抗値の精度は±5%です。最後の抵抗値は飽和などで計算不能な場合にunknownと表示されます。unknown状態の数値はCapacitance計算では無視されます。
⑨波形表示の軸設定 左端の縦スピンボタンは電圧レンジであり、20V/div~5V/divに設定変更できます。右端の縦スピンボタンは電流レンジであり、0.2mA~0.01mAの設定範囲です。左側の横スピンボタンは時間レンジであり、0.25ms/div~0.025ms/divが範囲です。その右のスピンボタンは時間方向の移動で0msec~2msecの間で波形を時間方向に移動できます。updateチェックボックスは定期的に本体のメモリをアクセスして最新の波形表示に更新する設定です。波形の更新を中止したい場合はチェックを外してください。wave2csvプッシュボタンはエクセルの文字フォーマットで波形データをファイル出力するボタンです。resetプッシュボタンを押すと軸の4つの設定がデフォルトに戻ります。
⑩波形作画エリア 赤線の波形は電圧、青線は電流です。目盛りの左が電圧、右が電流であり、グリッドは縦横共に10分割となっています。波形のサンプリング時間は10usecであり、解像度は12ビットです。この波形表示機能は確認を目的にしているので、時間同時性や絶対値は正確ではありませんので、ご了承ください。
その他、右端上端のminiプッシュボタンはミニ画面表示にするボタンです。ミニ画面では必要最小限のコントロールだけになります。右端上端のボタンはミニ画面中にはexpndプッシュボタンになり、画面を元に戻すコマンドになります。右端下端のdebugmodeチェックボックスをチェックすると開発エンジニア専用の表示と設定の指示となりますが、説明は省略します。

図12 ミニ画面表示
参考資料

図13 wave2csvで出力されるCSV(テキストファイル)のフォーマット
I/Fの通信コマンドの構成(TX PC->本体)
通信はバイナリ形式 8ビットのシリアル通信 400Kbps 1start 1stop bit timeout:1msec
制御コマンド 1バイト 80H~FFH 次のコマンドまたはスペース
レジスタ書込 3バイト 00H~7AH(レジスタアドレス) 00H~FFH(レジスタ値下位8ビット) 00H~FFH(レジスタ値上位8ビット) 次のコマンドまたはスペース
制御コマンド一覧
A0H DAC3(offset調整)デフォルト値の書き込み
A1H DAC4 (offset調整)デフォルト値の書き込み
CxH レジスタの読み出し xはレジスタのアドレス範囲のパラメータ
x=0:0~15 x=1:16~31 x=2:32~47 x=3:48~63 x=4:0~31 x=5:64~95 x=6:96~127
x=8: 波形データの読み出し (270point x 2byte = 1080byte)
*読み出しコマンド(CxH)では下位バイト、上位バイトの順で連続してデータが送出されます
レジスタ一覧
int16_t DAC1_pls1; //g_reg16[0]=2048; //DAC1 PLS1
int16_t DAC2_pls2; //g_reg16[1]=2048; //DAC2 PLS2
int16_t DAC3_ofs; //g_reg16[2]=2048; //DAC3 Offset
int16_t DAC4_fine; //g_reg16[3]=2048; //DAC4 Offset fine
int16_t DAC5_anaofs; //g_reg16[4]=2048; //DAC5 Analog In offset
int16_t flg_autozero; //g_reg16[5]=0; //0:not_yet 1:first_step 2-32767:full_step
int16_t flg_capcomp; //g_reg16[6]=0; //0:not_yet 1:first_step 2-32767:full_step
int16_t ADC_ofs_keep_timer;//g_reg16[7]=0; //ADC_Ofs_Keep timer
int16_t SW_modeCC; //g_reg16[8]=0; //MODE CV=0,CC=1
int16_t SW_range; //g_reg16[9]=0; //RANGE Lo=0,Mid=1,Hi=2
int16_t SW_pulse; //g_reg16[10]=0; //Analog=0 Pulse=1
int16_t SW_invert; //g_reg16[11]=0; //Normal=0 Invert=1
int16_t SW_on; //g_reg16[12]=0; //On/Off On=1
int16_t SW_autozero; //g_reg16[13]=0; //AutoZero 1=start increment by process
int16_t SW_capcomp; //g_reg16[14]=0; //CapComp 1=start increment by process
int16_t SW_over; //g_reg16[15]=0; //OverCurrent 1=over
int16_t save_DAC1; //g_reg16[16]=0; //save space for DAC0
int16_t save_DAC2; //g_reg16[17]=0; //save space for DAC1
int16_t save_mode; //g_reg16[18]=0; //save mode
int16_t save_range; //g_reg16[19]=0; //save range
int16_t acq_start; //g_reg16[20]=0; //monitor acq command 0:stop else start, Number of points, type 256
int16_t acq_threshold;//g_reg16[21]=50; //threshold level
int16_t acq_select;//g_reg16[22]=1; //channel select 0:V-C 1:In-C
int16_t use_internal_DAC;//g_reg16[23]=0; //use =1
int16_t test_pulse_work;//g_reg16[24]=0; //Test pulse ON (pulse count) work (not for user)
int16_t test_pulse_on;//g_reg16[25]=0; //Test pulse ON (Set pulse count) input register
int16_t acq_tx_num;//g_reg16[26]=0;
int16_t rsv27;//g_reg16[27]=0;
int16_t capcompV;//g_reg16[28]=8; //capcomp V
int16_t capcompL;//g_reg16[29]=8; //capcomp L
int16_t capcompM;//g_reg16[30]=4; //capcomp M
int16_t capcompH;//g_reg16[31]=2; //capcomp H
// reg 32- offset register
int16_t ofs_ADC1;//g_reg16[32]=2048; //ADC1
int16_t ofs_ADC2;//g_reg16[33]=2048; //ADC2;
int16_t ofs_ADC3;//g_reg16[34]=2048; //ADC3;
int16_t ofs_ADC4;//g_reg16[35]=2048; //ADC4;
int16_t swon_save; //g_reg16[36]=0;
int16_t rsv37;
int16_t rsv38;
int16_t rsv39;
int16_t ofs_DAC1; //g_reg16[40]=0; //DAC_CH1
int16_t ofs_DAC2; //g_reg16[41]=0; //DAC_CH2
int16_t ofs_DAC3; //g_reg16[42]=0; //DAC_CH3
int16_t ofs_DAC4; //g_reg16[43]=0; //DAC_CH4
int16_t ofs_DAC5; //g_reg16[44]=0; //DAC_CH5
int16_t rsv45;
int16_t rsv46;
int16_t rsv47;
int16_t more_ave_ch1; //g_reg16[48]=0; //more_ave_ch1(16bits clamped)
int16_t more_ave_ch2; //g_reg16[49]=0; //more_ave_ch2
int16_t more_ave_ch3; //g_reg16[50]=0; //more_ave_ch3
int16_t more_ave_ch4; //g_reg16[51]=0; //more_ave_ch4
int16_t top_v; //52
int16_t top_i; //53
int16_t btm_v; //54
int16_t btm_i; //55
int16_t reg_x10; //56
int16_t rsv57;
int16_t rsv58;
int16_t rsv59;
int16_t rsv60;
int16_t rsv61;
int16_t flash_flag; //g_reg16[62]=0; //Flush Open is 0xAA55
int16_t rsv63;
int16_t diff_DAC1; //g_reg16[64]=0; //DAC save0 //
int16_t diff_DAC2; //g_reg16[65]=0; //DAC save1
int16_t diff_DAC3; //g_reg16[66]=0; //DAC save2
int16_t diff_DAC4; //g_reg16[67]=0; //DAC save3
int16_t diff_DAC5; //g_reg16[68]=0; //DAC save4
int16_t diff_mode; //g_reg16[69]=0; //Mode save to detect change
int16_t diff_onoff; //g_reg16[70]=0; //on/off save to detect change
int16_t rsv71;
MCUピン接続一覧
//PA0_ENPLS OUT high for input pulse enable
//PA1_LEDCAP OUT capacitor compensation LED on panel
//PA2_LEDZERO OUT zero offset adjustment LED on panel
//PA3_SDA I2C MCP4728-A0/MCP4725-A1
//PA4_SCL I2C
//PA5_RXD UART receiving (from USB)
//PA6_TXD UART sending (to USB)
//PA7_RY2SH OUT relay2 shunt
//PA8_RY1ON OUT relay1 ON electrode
//PA9 OUT test pin
//PA10 OUT test pin
//PA11_SPICS SPI Flush memory connected
//PA12_SPIDI SPI
//PA13_SPIDO SPI
//PA14_SPICK SPI
//PA15 OUT test pin
//PA16 OUT test pin//PA17_AD0_VMON ADC voltage monitor
//PA18_AD1_IMON ADC current monitor
//PA19_AD2_OMON ADC offset monitor
//PA20_AD3_VLEV ADC input voltage monitor//PA21_SMID OUT mid range select
//PA22_SHI OUT high range select
//PA23_SCC OUT CC mode select
//PA24_CAP0 OUT capacitor select cap0
//PA25_CAP1 OUT
//PA26_CAP2 OUT
//PA27_CAP3 OUT
//PA28_CAP4 OUT
//PA29_CAP5 OUT
//PA30_CAP6 OUT
//PA31_CAP7 OUT
//PB0_SW_OFF IN off switch button
//PB1_SW_ON IN on switch button
//PB2_SW_MD_ANA IN/OUT analog input mode ( 1 is analog)
//PB3_POLAR IN/OUT polarity switch( 0 is Invert/ 1 is Normal
//PB4_PLS1 IN/OUT PulseInput1
//PB5_PLS2 IN/OUT PulseInput2
//PB6 none
//PB7 none
//PB8_OVR IN OVR_OFF
//PB9
//PB10_SW_CC IN button SW CC/CV mode
//PB11_SW_HILO IN button SW high/mid/lo select
//PB12_SW_CAL IN button SW Calib
//PB13_DAC0 DAC for voltage set of direct output
//PB14_SWCAP IN button SW capacitor compensation
//PB15 none
//MCP4728 4ch DAC (I2C connected)
//DAC ch0 -> Pls2 value (by PCB mistake ch0<->ch1, ch0->Pls2 is real)
//DAC ch1 -> Pls1 value
//DAC ch2 -> Offset Adj
//DAC ch3 -> Offset Adj Fine
//DAC ch4 (MCP4725-A1) -> Analog ISO Offset Adjust
