1.背景
とりあえず製作した「何はともあれ作っちゃえ! とりあえず電圧発生器」は
、もともとは12ビットDAコンバータの出力を利用しようとし、ついでに単純に増幅回路を設けて信号発生器としたため、回路構成に無理があるまま回路拡張を行い、結果として期待した性能を出せませんでした。
ちょっと悔しい思いもあり、若干回路構成や部品の見直しを行い、それなりの電圧発生器を製作しました。 しかし、「何はともあれ作っちゃえ! とりあえず電圧発生器」の最終版を目指したのですが、本当に「とりあえず」な電圧発生器となってしまいました。 また、最終版ができたにしても、一番の問題は相変わらずそれほど使い道が無いという点です。 本製作例、こんなもんもあると思って見て下さい。
2.「何はともあれ作っちゃえ! とりあえず電圧発生器」の見直し
2.1 仕様
「本当に、とりあえず電圧発生器」の仕様は結果として以下のようになりました。
(1)
1mV分解能で、±4.000Vの範囲で調整できること。
(2)
2.5mV分解能で、±10.00Vの範囲で調整できること。
(3)
1mV分解能と2.5mV分解能の切替はスイッチで切替える。
(4) 1mV分解能と2.5mV分解能の切替は電源投入時のみとし、途中での切替えは行わない。
(5)
出力は差動出力とする。 (要注意)
電圧出力の−端子と本機器の電源の−端子は絶縁された状態で使用する必要があります。
差動出力とした理由は、単電源で±出力を得るためです。
「本当に、とりあえず電圧発生器」の電源はこれ専用に設けて下さい。
負荷側の電源と共用は絶対に行わないで下さい。
(6)
負荷インピーダンスは1kΩ以上。 (要注意)
電源電圧発生器ではなく電圧発生器です。
前回より改善しました。 1kΩより低い負荷では出力電圧低下を起こします。
(7) 操作は下記の5個のスイッチで操作。
(a) 設定電圧UPスイッチ
(b) 設定電圧DOWNスイッチ
(c) 調整ステップ切替スイッチ
(d) 電圧設定メモリ切替スイッチ
(e) 電圧設定書込スイッチ
(8)
電圧設定メモリとして、1mV分解能/2.5mV分解能それぞれに4CH確保。
電圧設定メモリの内容は、設定電圧と調整ステップの2つのデータとする。
電源投入時は電圧設定メモリCH1を選択。
(9)
調整ステップは下記のように4通りをサイクリックに切り替える。
1mV分解能 : 0.0010V、0.0100V、0.1000V、1.0000V
2.5mV分解能 : 0.0025V、0.0100V、0.1000V、1.0000V
(10)
使用ワンチップマイコンはPIC16F84Aとする。
最近はあまり出番のなくなったPIC16F84Aに再びスポットを当てました。
PIC16F646Aにすれば電圧設定が余ったままとなっています。
(11)
DAコンバータはマイクロチップ社のMCP4922を使用する。
このMCP4922はおもちゃであることを痛感させられました。 詳細は4項を参照願います。
(12)
電圧範囲としては定格としては6〜9Vとしておきます。(12Vでも大丈夫でしょう。)
シリーズレギュレータで安定化された+5Vをつくり、この+5Vから+12Vの電圧を作っています。
また、ACアダプタの他、単五乾電池×4個でも使用できるようにしました。
2.2
「本当に、とりあえず電圧発生器」での変更点
2.2.1 仮想0V電位
前回は仮想0V電位の考え方を導入せずに、DAコンバータの出力電圧をそのまま増幅するとの考え方で回路拡張を行ったため、オペアンプ出力(電圧)を0V付近で動作させていました。 このため、オペアンプの定格出力範囲を逸脱した使い方となっていたため、負荷インピーダンスが470kΩ以
下で直線性が悪化するという、役に立たない回路となっていました。
差動出力で±出力を得るためには0V設定時にオペアンプ出力を電源電圧の1/2で動作させることで、オペアンプ出力(電圧)を0V付近、もしくは+電源電圧から遠ざけて動作
することができます。 このために、オペアンプ回路電源電圧12Vの1/2である6Vを仮想0V電位としました。 これにより、本機の0V出力時には+側、−側のオペアンプの出力電圧はいずれも(ほぼ)6V出力となっています。
2.2.2 オペアンプの変更
前回使用したオペアンプはRail-To-Railのオペアンプではありませんでした。 このため、0V、電源電圧付近での動作は全くあてにならないもの
になっていました。 これにより、0V付近はそれなりの精度で電圧をえることができましたが、出力電圧の絶対値の大きい領域では直線性が急激に低下し、また、負荷インピーダンスの影響も大きい回路となっていました。
今回の用途のように片電源で0V付近や電源電圧付近を使用するならばRail-To-Railのオペアンプにすべきです。 部品は秋月電子通商で極力調達するために何種類かの片電源Rail-To-Railのオペアンプを入手しました。
今回は、当初、オペアンプの値段の安いNJU7032Dで製作したのですが、負荷抵抗1kΩをまともにドライブできません。 やはりデータシートはちゃんと読まないといけませんね。 NJU7032Dの出力電流は1mAです。 目標使用の1kΩをドライブするためには10mA出力電流を確保する必要があります。 この対応として、購入個数に余裕のあったLMC6482に置き換えることで目標を達することができましたので、今回の公開はLMC6482を使用した回路とさせて頂きました。 他にも今回の用途に合った何種類かのオペアンプがありますので、LMC6482に拘る必要はありません。 電源電圧12V時にオペアンプ出力電圧+1〜+11Vの範囲でシンク電流10mA、ソース電流10mAを流せるオペアンプならばいくらでも代替えできます。
2.2.3 DCDCコンバータ
今回は可搬性をもたせるために乾電池駆動できるようにしました。 このため、メインの電圧を5Vとし、オペアンプ用12V電源は5VからDCDCコンバータを使って
12Vを得ることにしました。
このDCDCコンバータは前回使用したDCDCコンバータにも使用されていたMC34063を使うか、秋月電子通商の「MAX662 DIPモジュール
[I-01165]」を使用するか迷いました。 MAX662はチャージポンプ式なので電流を得られないのではと思っていましたが、念のため両者の出力電流、変換効率について性能比較することにしました。 なお、MC34063はデータシートのStep-Up回路を作成してデータを採取しました。
【 MC34062出力性能 】
【 MAX662 DIPモジュール出力性能 】
意外にもMAX662もよく頑張っていることが分かりました。 出力電流はほぼ同等で、今回の用途ではいずれも使用できますが、変換効率、及び、部品スペースの面でMAX662を採用することにしました。 ただし、「MAX662
DIPモジュール [I-01165]」に使用している変換基板は感心できません。 繋がっていればいいだろうという基板を使うのは止めて欲しいですね。
参考までに今回製作した「本当に、とりあえず電圧発生器」の5V,12Vのリップルを測定した結果を下記に掲載します。
実際のリップルだけではなく、ノイズも拾っていますので正しい波形ではないと思います。 参考として下さい。
【 電源リップル測定例 】
2.2.4 LCDバックライト
今回は乾電池駆動を考えていますので、LCDのバックライトをオンオフできるようにしました。 LCDの右上に小型のスライドスイッチを設け、このスイッチを使ってバックライトをオンオフするようにしました。 このスイッチは秋月電子通商の「[P-01665] 超小型スライドスイッチ IS−1250(4個入)」を使用しています。 (「[P-02627] 超小型スライドスイッチ
IS−2235(4個入)」でも構いません。)
【 LCD表示面側 】
スライドスイッチのリード線を貫通する穴を基板にあけてリード線同士をハンダ付けすることでスライドスイッチを固定しています。 これでも結構丈夫です。 |
【 LCDハンダ面側 】
2.3 製作例
2.3.1 回路図
2.2項の改善を反映した「本当に、とりあえず電圧発生器」の回路図を下記に掲載します。 今回は操作部のスイッチなどを操作し易い位置に実装するためにこれらの部品を別基板としました。 また、これにより未実装スペースできましたのでここを乾電池にすることにしました。
【 「本当に、とりあえず電圧発生器」 回路図 】
VR1 |
: |
1mV分解能レンジ用 +側オペアンプ出力と−側オペアンプ出力のオフセット差を調整。 |
VR2 |
: |
1mV分解能レンジ用 +側オペアンプ出力のスパン調整。 |
VR3 |
: |
1mV分解能レンジ用 −側オペアンプ出力のスパン調整。 |
VR4 |
: |
2.5mV分解能レンジ用 +側オペアンプ出力と−側オペアンプ出力のオフセット差を調整。 |
VR5 |
: |
2.5mV分解能レンジ用 +側オペアンプ出力のスパン調整。 |
VR6 |
|
2.5mV分解能レンジ用 −側オペアンプ出力のスパン調整。 |
Ra1・Ra2 |
: |
仮想0V電圧の6V出力を得るために調整します。
調整完了の調整目安は6V±0.1V程度とします。
計算上はRa1+Ra2=2kΩが目安となります。 |
Rb1・Rb2 |
: |
オフセット差調整用基準電圧調整用の9.895V出力を
得るために調整します。
調整完了の目安は9.895V±0.1V程度とします。
計算上はRb1+Rb2=2.58kΩが目安となります。 |
実際には基板製作後に抵抗を何通りか組み合わせて上記目安電圧範囲内に入るように抵抗を選びます。 下図のように調整時には丸ピンICソケット(例えば「[P-00241] 丸ピンICソケット(シングル20P)」)を使って抵抗を差し替えできるようにしています。 その結果、今回は上記回路の定数となりました。 このとき[P6V]信号は6.002V、[P10V]信号は9.864Vでした。
丸ピンICソケットに抵抗を実装したまま使用すると接触抵抗変化が問題となる可能性があるので、最終的にはこれらの抵抗をハンダ面にはんだ付けします。
【 調整時の抵抗実装 】
【 完成時の抵抗実装 】
CC1 |
: |
「[P-02151] チップ積層セラミックコンデンサ 100μF
6.3V[3216](10個入)」をハンダ面に実装。 |
CC2 |
: |
「[P-02083] 積層セラミックチップコンデンサー
10μF 10V(40個入)」をハンダ面に実装。 |
C3,C4 |
: |
0.22μF〜1μFであればよく、積層セラミックコンデンサ0.1μFを3個並列接続でもよいでしょう。
今回の製作例では千石電商で買いだめしていた積層セラミックコンデンサ0.47μFを使用しています。 |
CA1〜CA3 |
: |
耐圧15V以上のセラミックコンデンサを使用したかったので、手持ちの「[P-02338] セラミックコンデンサー 10μF 35V(10個入)」(注意:円筒型ラジアルリード)を使用し、部品面に実装しました。 新規に購入するならば「[P-01185] 積層セラミックチップコンデンサー(10μF
25V)8個入」のハンダ面実装がお勧めです。 |
Cf1〜Cf9 |
: |
10年前くらいに購入した0.001μFの積層セラミックコンデンサ(チップコンデンサ)をハンダ面に実装しています。 「[P-02332] チップ積層セラミックコンデンサ 1000pF
50V[1608](40個入)」でもよろしいかと思います。 |
-
L1,L2は「[P-01269] 電源用インダクタ(コイル)22μH(4個入)」を使用しています。 もう少しインダクタンスを大きくしたかったのですが、抵抗成分
の小ささと、入手性(価格)の面でこれにしました。
-
5V電源用3端子レギュレータはTA45M05Fを使用しています。 端子番号が通常と違いますが、番号の割り当てが順番どおりになっていないだけで実際の接続は一般的な3端子レギュレータと同じです。 付属のデータシートをよく確認願います。
なお、この型式に拘る必要はなく、0.2A以上取り出せる低ドロップタイプの3端子レギュレータであれば何でもよいです。 例えば「[I-00537] 3端子レギュレータ(低ドロップタイプ) 5V 1A TA4805S}でもよいです。
-
SW6,SW7は本来は連動させるべきですが3回路以上のスライドスイッチを入手できませんでしたので「[P-02627] 超小型スライドスイッチ IS−2235(4個入)」を2個使用しました。 それほど使用頻度が高くないので、これで良しとします。
【 SW6,SW7実装例 】
-
ダイオードD1,D2は順方向電圧降下の小さい整流用ショットキバリヤダイオードを使用して下さい。 D3は一般的な信号用ダイオードで買いませんし、D1,D2と同じものでも構いません。
-
単5乾電池の電池ボックスは鈴商で買いだめしてたものを流用しました。 乾電池運用をしない場合は電池ボックス及びダイオードD2が不要となります。
-
電圧出力は端子台は「[P-01308] ターミナルブロック 2ピン(緑)[縦]」を使用しました。 このターミナルブロック
の固定は、操作部基板部品面にスズメッキ線を通し、下図写真のようにハンダ付けしています。 これでも結構、丈夫にできています。
【 出力端子固定方法 】
2.3.2 製作例
今回製作した「本当に、とりあえず電圧発生器」の外観を下記に掲載します。 今回はケースに入れて、操作スイッチも使いやすい位置に配置するようにしています。 なお、左側面には回路図に未記載の電源オンオフ用スライドスイッチを追設しています。 このスイッチは必須ではありませんので必要に応じて設けて下さい。
ケースは「[P-00075] アクリルケース SK−16」を使用。
【 「本当に、とりあえず電圧発生器」完成外観 】
【 操作部を取り外した外観 】
【 基板部品面 外観 】
【 基板ハンダ面 外観 】
【 操作部基板ハンダ面外観 】
2.4 ワンチップマイコンPIC16F84A仕様
jsk42a1.hex
6,104バイト
今回のソフトは前回に対し、DACのVoutAとVoutBの設定先を逆にしているだけです。 これば前回はDACの出力をオペアンプで非反転出力していたものを今回は反転出力に変えたためです。
と、いうことは、上記回路図のVoutAとVoutBを逆にすれば前回のソフトを使用できることを意味しています。 これで対応しなかったのは、ただ単に回路構想への拘りというつまらない理由からです。
PIC16F84A I/Oピン割り当て
PIN
No |
信号
名称 |
方向 |
信 号 |
1 |
RA2 |
入力 |
SW3 調整ステップ切替スイッチ |
2 |
RA3 |
入力 |
SW4 設定電圧UPスイッチ |
3 |
RA4 |
入力 |
SW5 設定電圧DOWNスイッチ |
4 |
/MCLR |
入力 |
パワーオンリセット信号 |
5 |
Vss |
GND |
電源グランドライン |
6 |
RB0 |
出力 |
DAコンバータ MCP4922 CS信号 |
7 |
RB1 |
出力 |
DAコンバータ MCP4922 LDAC信号 |
8 |
RB2 |
出力 |
LCD液晶 E信号 |
9 |
RB3 |
出力 |
LCD液晶 RS信号 |
10 |
RB4 |
出力 |
LCD液晶 DB4信号 / DAコンバータ MCP4922 SDI信号 |
11 |
RB5 |
出力 |
LCD液晶 DB5信号 / DAコンバータ MCP4922 SCK信号 |
12 |
RB6 |
出力 |
LCD液晶 DB6信号 |
13 |
RB7 |
出力 |
LCD液晶 DB7信号 |
14 |
Vdd |
Vcc |
+電源ライン。 |
15 |
OSC2 |
発振 |
セラミック振動子 20MHz |
16 |
OSC1 |
発振 |
セラミック振動子 20MHz |
17 |
RA0 |
出力 |
SW1 電圧設定メモリ切替スイッチ |
18 |
RA1 |
出力 |
SW2 電圧設定書込スイッチ |
アドレス |
データ内容 |
デフォルト |
$00 |
1mV分解能 CH1 電圧設定値(2バイトの上位側)
+4.095V時 : H'1FFF'のH'1F'
0V時 : H'1000'のH'10'
-4.095V時 : H'0001'のH'00' |
出力電圧 0.0000V (H'1000')
調整ステップ 0.1000V (H'01)
(注意:H'0000'とすると不定となります。) |
$01 |
1mV分解能 CH1 電圧設定値(2バイトの下位側)
+4.095V時 : H'1FFF'のH'FF'
0V時 : H'1000'のH'00'
-4.095V時 : H'0001'のH'01' |
$02 |
1mV分解能 CH1 調整ステップ設定
Step 1.0000V時 : H'00'
Step 0.1000V時 : H'01'
Step 0.0100V時 : H'02'
Step 0.0010V時 : H'03' |
$03〜$05 |
1mV分解能 CH2 |
出力電圧 3.600V (H'1E10')
調整ステップ 0.1000V (H'01) |
$06〜$08 |
1mV分解能 CH3 |
出力電圧 0.0000V (H'1000')
調整ステップ 0.1000V (H'01) |
$09〜$0B |
1mV分解能 CH4 |
出力電圧 -3.600V (H'01F0')
調整ステップ 0.1000V (H'01) |
$0C |
2.5mV分解能 CH1 電圧設定値(2バイトの上位側)
+10.2375V時 : H'1FFF'のH'1F'
0V時 : H'1000'のH'10'
-10.2375V時 : H'0001'のH'00' |
出力電圧 0.0000V (H'1000')
調整ステップ 0.1000V (H'01)
(注意:H'0000'とすると不定となります。) |
$0D |
2.5mV分解能 CH1 電圧設定値(2バイトの下位側)
+10.2375V時 : H'1FFF'のH'FF'
0V時 : H'1000'のH'00'
-10.2375V時 : H'0001'のH'01' |
$0E |
2.5mV分解能 CH1 調整ステップ設定
Step 1.0000V時 : H'00'
Step 0.1000V時 : H'01'
Step 0.0100V時 : H'02'
Step 0.0010V時 : H'03' |
$0F〜$11 |
2.5mV分解能 CH2 |
出力電圧 9.000V (H'1E10')
調整ステップ 0.1000V (H'01) |
$12〜$14 |
2.5mV分解能 CH3 |
出力電圧 0.0000V (H'1000')
調整ステップ 0.1000V (H'01) |
$15〜$17 |
2.5mV分解能 CH4 |
出力電圧 -9.000V (H'01F0')
調整ステップ 0.1000V (H'01) |
$18 |
1mV分解能 上限設定設定電圧(2バイトの上位側) |
上限 +4.0800V (H'1FF0') |
$19 |
1mV分解能 上限設定設定電圧(2バイトの下位側) |
$1A |
1mV分解能 下限設定設定電圧(2バイトの上位側) |
下限 -4.0800V (H'0010') |
$1B |
1mV分解能 下限設定設定電圧(2バイトの下位側) |
$1C |
2.5mV分解能 上限設定設定電圧(2バイトの上位側) |
上限 +10.0200V (H'1FF0') |
$1D |
2.5mV分解能 上限設定設定電圧(2バイトの下位側) |
$1E |
2.5mV分解能 下限設定設定電圧(2バイトの上位側) |
下限 -10.0200V (H'0010') |
$1F |
2.5mV分解能 下限設定設定電圧(2バイトの下位側) |
$20〜$2F |
電源投入時LCD表示文字 1行目16文字
(ご自由に書き換え下さい。) |
"Voltage Gen. 1.1" |
$30〜$38 |
電源投入時LCD表示文字 2行目9文字
(著作権表示ですので、できれば残して下さい。) |
"(C)JH4CBA" |
ご参考 電源投入時LCD表示文字 2行目の10〜16文字には、選択された分解能表示を行います。
1mV分解能時 : "S1.0mV"
2.5mV分解能時 : "S2.5mV"
3.動作例
3.1 調整方法
今回のVR調整は多少はやりやすくなっています。 特に1mV分解能と2.5mV分解能回路を分離しましたので、個々の回路単位の調整で済みます。
使用する測定器はテスタのみですが、1mV単位の測定が必要です。 今回は秋月電子通商で取り扱っているP−16(「[M-01159] ポケット・デジタルマルチメータ P−16」)を使用しています。 このテスタは±5.999表示
まで可能です。 ただし、6V以上は分解能が10mVとなるため、1/2の分圧回路を用いて0−6Vの範囲で0−12Vの測定を行っています。 このため、測定分解能は2mVでの調整となっています。 分解能10mVでは調整を追い込めないので、精度の向上ができないと思います。 また、調整途中で測定器を変えないようにして下さい。 測定器間ばらつきも結構大きいです。 このような点が1mVの調整の難しさだと思います。
なお、本調整では無負荷状態で調整しています。
ステップ |
調整項目 |
調整方法 |
1 |
[P6V]電圧
調整 |
GND〜IC3 1pin間の電圧を測定できるようにします。 |
2 |
Ra1,Ra2の抵抗の組み合わせを変えて[P6V]の電圧が6V±0.1V程度になるように調整して下さい。 計算上はRa1+Ra2=2kΩが目安となります。 |
3 |
[P10V]電圧
調整 |
GND〜IC3 7pin間の電圧を測定できるようにします。 |
4 |
Rb1,Rb2の抵抗の組み合わせを変えて[P10V]の電圧が9.895V±0.1V程度になるように調整して下さい。 計算上はRb1+Rb2=2.58kΩが目安となります。 |
5 |
1mV分解能
調整 |
1mV分解能の調整を行うために1mV分解能設定で本機を立ち上げます。 |
6 |
オフセット
粗調整 |
GND〜IC4 1pin間の電圧を測定できるようにします。 |
7 |
VR1を回して約9.9Vになるように調整します。(粗調整。) |
8 |
+側スパン
調整 |
GND〜+出力間の電圧を測定できるようにします。 |
9 |
−3.600V設定時と+3.600V設定時の電位差が3.600VとなるようにVR2を調整します。 (−3.6V時4.2±0.5V程度、+3.6V時7.8±0.5V程度) |
10 |
−側スパン
調整 |
GND〜−出力間の電圧を測定できるようにします。 |
11 |
−3.6V00設定時と+3.600V設定時の電位差が3.600VとなるようにVR3を調整します。 (−3.6V時7.8+±0.5V程度、+3.6V時4.2±0.5V程度) |
12 |
オフセット
調整 |
+出力〜−出力間の電圧を測定できるようにします。 |
13 |
0.000V設定時0.000V付近となるようにVR1を調整します。 |
14 |
出力電圧
確認 |
+4.000V、0.000V、−4.000Vの各点での出力電圧を測定し、設定に対する実測値の差を見ます。 許容できない差の場合はステップ8から再度調整して下さい。 (文末4項も参考にして下さい。) |
15 |
2.5mV
分解能調整 |
2.5mV分解能の調整を行うために2.5mV分解能設定で本機を立ち上げます。 |
16 |
オフセット
粗調整 |
GND〜IC4 7pin間の電圧を測定できるようにします。 |
17 |
VR4を回して約9.9Vになるように調整します。(粗調整。) |
18 |
+側スパン
調整 |
GND〜+出力間の電圧を測定できるようにします。 |
19 |
−9.000V設定時と+9.000V設定時の電位差が9.000VとなるようにVR5を調整します。(−9V時1.5±1.0V程度、+9V時10.5±1.0V程度) |
20 |
−側スパン
調整 |
GND〜−出力間の電圧を測定できるようにします。 |
21 |
−9.000V設定時と+9.000V設定時の電位差が9.000VとなるようにVR6を調整します。(−9V時1.5±1.0V程度、+9V時10.5±1.0V程度) |
22 |
オフセット
調整 |
+出力〜−出力間」の電圧を測定できるようにします。 |
23 |
0.000V設定時0.000V付近となるようにVR4を調整します。 |
24 |
出力電圧
確認 |
+10.000V、0.000V、−10.000Vの各点での出力電圧を測定し、設定に対する実測値の差を見ます。 許容できない差の場合はステップ18から再度調整して下さい。
(文末4項も参考にして下さい。) |
3.2 出力誤差
前回問題となりましたオペアンプ、及び、DAコンバータの出力制約による性能低下の改善具合を確認してみました。 1mV分解能、及び、2.5mV分解能に対する実出力の誤差を以下に示します。 負荷は4.7kΩの抵抗を接続して測定しています。
なお、テスターはP−16を1/2の分圧器を設けて測定していますので2mV分解能での実測となっています。
また、最大、最小領域で誤差が大きくなるのはMCP4922の問題と思われます。 これ以上を望むのは無理なのでしょう。
−4.010〜+4.020Vの範囲では±4mVの誤差に収まっています。
|
【 1mV分解能時誤差 】
−10.020〜+10.030Vの範囲では±10mVの誤差に収まっています。
|
【 2.5mV分解能時誤差 】
3.3 電圧降下特性
負荷インピーダンスとして抵抗を接続したときの電圧降下測定結果を下記に掲載します。
−4V時は270Ω、+4V時は390Ω以上だと電圧降下は2mV以下でした。
|
【 1mV分解能時特性 】
−10V時は1kΩ、+10V時も1.0kΩ以上だと電圧降下は2mV以下でした。
|
【 2.5mV分解能時特性 】
3.4 電圧降下特性
出力波形測定結果を下記に掲載します。
下記波形はCf1〜Cf8を追加したときの波形です。 これらのコンデンサがないと設定変更時にオーバーシュートが発生します。
測定波形がガタガタしていますが、これは測定器側の問題です。 なお、DAコンバータ出力波形は設定電圧にステップ的に変化させています。
変化開始後約20μs後の波形に変曲点があります。 これはDAコンバータの出力設定をVoutB→VoutAの順番で設定しており、この設定のタイミングがずれているためです。
0V → +10V 設定変更時
|
+10V → 0V 設定変更時 |
|
|
−10V → 0V 設定変更時
|
0V → −10V 設定変更時 |
|
|
−10V → +10V 設定変更時 |
+10V → −10V 設定変更時 |
|
|
3.5 消費電流
消費電流の測定結果を下記に掲載します。
No. |
電源電圧[V] |
負荷 |
出力電圧[V] |
LED
On時[mA] |
LED
Off時[mA] |
1 |
6.0 |
無負荷 |
10V |
29.7 |
56.7 |
2 |
6.0 |
1kΩ |
10V |
61.8 |
89.0 |
3 |
6.0 |
無負荷 |
0V |
28.9 |
55.9 |
4 |
6.0 |
無負荷 |
−10V |
29.8 |
56.7 |
5 |
6.0 |
1kΩ |
−10V |
61.8 |
89.0 |
6 |
5.0 |
1kΩ |
−10V |
− |
106.3 |
7 |
5.5 |
1kΩ |
−10V |
− |
92.2 |
8 |
6.0 |
1kΩ |
−10V |
− |
89.2 |
9 |
7.0 |
1kΩ |
−10Vf |
− |
89.0 |
10 |
8.0 |
1kΩ |
−10V |
− |
89.0 |
11 |
9.0 |
1kΩ |
−10V |
− |
88.8 |
12 |
10.0 |
1kΩ |
−10V |
− |
88.7 |
4.その他
上記のように、当初予定していた性能に近いところまでもってこれたと思います。 しかし、もう一台製作しなさいと言われると、出来ませんと回答すると思います。
今回の紹介が遅くなった大きな原因はMCP4922自体の問題でした。 当初、本機を組み立てて直線性の確認を
したのですが、スパン調整・オフセット調整までは容易にできるのですが、最後の段階の出力電圧確認を行うと誤差が予想以上に大きくなっており、紹介できるような性能で
はありませんでした。
原因を調査すると、スパン調整時のDACの出力自体に問題があることが判明しました。 かき集めた7個のMCP4922で+3.6V、0V、−3.6V設定時における出力電圧を測定した結果を下記に示します。
今回使用したのはサンプル1での結果です。 あと使いものになりそうなのはサンプル5くらいです。 これもあまり良いとは思えませんが。
サンプル1
OUT |
Vout A |
Vout B |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.155 |
1.095 |
2.344 |
1.095 |
0.0V |
1.250 |
- |
1.249 |
- |
+3.6V |
2.345 |
1.095 |
0.154 |
1.095 |
|
サンプル2
OUT |
VoutA |
VoutB |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.151 |
1.097 |
2.342 |
1.095 |
0.0V |
1.248 |
- |
1.247 |
- |
+3.6V |
2.342 |
1.094 |
0.152 |
1.095 |
|
サンプル3
OUT |
VoutA |
VoutB |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.152 |
1.097 |
2.342 |
1.098 |
0.0V |
1.249 |
- |
1.244 |
- |
+3.6V |
2.344 |
1.095 |
0.153 |
1.091 |
|
サンプル4
OUT |
VoutA |
VoutB |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.152 |
1.095 |
2.342 |
1.093 |
0.0V |
1.247 |
- |
1.249 |
- |
+3.6V |
2.342 |
1.095 |
0.151 |
1.098 |
|
サンプル5
OUT |
VoutA |
VoutB |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.153 |
1.094 |
2.344 |
1.094 |
0.0V |
1.247 |
- |
1.250 |
- |
+3.6V |
2.343 |
1.096 |
0.157 |
1.093 |
|
サンプル6
OUT |
VoutA |
VoutB |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.149 |
1.100 |
2.345 |
1.096 |
0.0V |
1.249 |
- |
1.249 |
- |
+3.6V |
2.341 |
1.092 |
0.155 |
1.094 |
|
サンプル7
OUT |
VoutA |
VoutB |
設定 |
出力電圧 |
対0V電位差 |
出力電圧 |
対0V電位差 |
-3.6V |
0.151 |
1.094 |
2.342 |
1.094 |
0.0V |
1.245 |
- |
1.248 |
- |
+3.6V |
2.343 |
1.098 |
0.150 |
1.098 |
|
|
ここまで測定して、改めてMCP4922のデータシートの特性を見ました。 見るべきパラメータは当然INLエラーです。 まさかここまで酷いとは思いませんでした。 今回のような用途にこのICを採用すること自体間違っていることに初めて気付きました。 値段が安いので性能は見ても仕方ないと思っていましたが、ここまで酷いとは。。。。。 (それとも産業用のDACの性能に慣れている当方が悪いのか。)
前回の「とりあえず電圧発生器」とは手持ち部品でまずは製作してみようという意味の「取り敢えず」でしたが、今回の「本当に、とりあえず電圧発生器」は、部品選別を行って我慢できる程度の性能がどうにか出せたという意味の「とりあえず」となってしまいました。
ということで、今回の製作は終了することにしました。 最初はそのつもりはなかったのですが、本当に「とりあえず」になってしまいました。 そのうち、まともなDACが入手できれば、「まともにつかえる電圧発生器」でも製作してみましょう。(懲りていないというより意地かな?)
|