KiCad付属ngspice入門 その4 ROHMさんでやり直し

概要

前回までいろいろ試行錯誤してきましたがROHMさんのモデルデータが使いやすいことがわかりましたので、ダイオードからやり直したいと思います。

あとKiCadデフォルトのピン配置からは結構変更していますので、分析をしてみて動きがおかしい場合にはピン配置を確認しなおしてください。基本的にはspiceが要求するピン番号に変更したほうが安全です。

ダイオード

スイッチングダイオード 1SS355VM

秋月さんでよく見たらROHMさんの製品がチップ型だとありましたので、いろいろ選び直してみました。DIP型は少ないので一般整流用ではなくて、すこし高速動作が可能なスイッチングダイオードになります。

上記の部品となります。

特性はこんな感じで3.3Vに対して0.7V程度低い2.6Vになっています。通常のダイオードっぽい特性ですね。

ショットキーバリアダイオード RSX101VAM30

通常のダイオードよりも電圧低下が少ないダイオードです。

低VFと書いてあるのが電圧低下が少ないって意味だと思います。

先程のよりかなり電圧低下が少ないですね。

ちなみにショットキーはデフォルトで上記のように足のピン番号が普通のダイオードと違います。一般的な製品でこのピン配置になっているようです。

向きが違いますがデータシートと同じピン配置です。ただしSpiceは1ピンがAnode、2ピンがCathodeである必要があるのでピン番号を書き換えています。ノードシーケンスで番号を入れ替えることもできますが、私は見た目を揃えています。

ツェナーダイオード UDZV3.6B

こちらはちょっと注意が必要な部品でした。一定以上の逆電圧がかかると流れるようになる部品になります。一定上の電圧がかかったら逃がすための保護的な用途や、一定電圧だけ残して取り出すための部品になります。

上記が3.6V版になりますが、秋月さんには5.1V、12V、15V版も販売されていました。ROHMさんではもっといろいろな電圧が用意されています。

上記が結果dす。20Vの正弦波を流したところ、設定されている電圧ぐらいが部品に残り、それ以外は逃げていくような動きです。とはいえ、青い3.6Vのものは平らな形にはなっていません。4Vを超える電圧が残ってしまっているのと、その上の5.1Vのものも少し真ん中が盛り上がっています。

データシートを見た限り、低い電圧の製品はグラフがまっすくではないのでこのような特性かもしれませんが、対数グラフなので直感的には理解できないです。

また、このモデルデータはそのままの設定では分析ができません。ツェナーダイオードは利用する温度によって結果に影響を与える素子になりますので利用温度をモデルデータにわたす必要があります。

ROHMさんのモデルデータはPSpice用なので互換モードをPSpiceに変更することで、分析時に27度が渡されるモードになります。極力デフォルトで動かしたかったのですが、TEMPが定義されていないみたいなエラーがでる場合には互換モードを変更してみてください。

ダイオード

NPNダイオード 2SD2444K

NPNトランジスタです。ベースに電圧が加わるとスイッチがONになり、コレクタにも電流が流れるようになります。

上記の商品になります。

上記のように0.6Vぐらいから急激にスイッチがオンになります。

PNPトランジスタ 2SB1590K

PNPトランジスタはベースの電圧がエミッタより下がるとエミッタとコレクタ間がスイッチオンになります。

概ね2.6V以下になったところでスイッチオンですので0.7Vぐらい低下した場合ですね。

MOSFET

MOSFETはトランジスタに似た素子ですが、よりスイッチ的な特性になっています。本来トランジスタはベースに流れる電流をコントロールすることで、コレクタとエミッタ間の電流をコントロールできる素子になります。MOSFETはアナログ的な領域もあるのですが、ほぼ大電流を流すときのスイッチ的な素子として使われます。

Nch MOSFET BSS138

使い方はスイッチ回路の場合ほぼトランジスタと一緒です。最低限の抵抗しか置いていないので、あまり好ましくない回路です。

秋月さんのリンクはROHMさんの製品ではないのですが、同じ型番でよく使うBSS138があったのでこちらにしてみました。同じ型番でも電圧と電流の定格が違うんですね。。。

トランジスタの回路より、カチッとした四角い特性ですね。電圧的には2Vぐらいでスイッチオンになっています。

Pch MOSFET BSS84

こちらもPNPトランジスタと同じような回路になります。

ROHMさんのMOSFETはNchしかないので、秋月のは他社の製品になります。PchにBSS86を選んだんのでNchもBSS138にしてみました。

こちらの特性になります。PNPトランジスタと比べると特性が四角いですが、電圧が1Vまで下がらないとスイッチがオンになりません。(いろいろな特性のMOSFETがあるはずで、このBSS86の場合です)

オペアンプ LMR1802

トランジスタは電流を増やす素子ですが、オペアンプは電圧を増やす素子です。とはいえって、上記はボルテージフォロア回路で、倍率が1倍で電流を強化する回路になっています。

上記の製品になります。秋月さんにはROHMさんのオペアンプは現在これしかありませんでした。

こちらも互換性モードをPSpiceにしないと分析できませんでした。下の方はかなりきれいですが、上の方はちょっと乱れていますね。

当たり前ですが、3.3Vの信号を処理するのに電源が3.3Vだと不足してしまったようです。5Vを電源に供給する回路に修正しました。

きれいになりました。

ちなみに拡大するとこのようにぎざぎざしており、分析に非常に時間がかかります。

ちなみにオペアンプは非常に地雷な素子であり、動かすのに苦戦します。まずSpice系の部品をこれまで利用してきました。

上記の部品になりますが、なんと一般的なオペアンプのピン番号と違います。オペアンプ自体はサブサーキットで作られているのでSPICEでの標準ピン配置はないのですが、他社の配置を参考に内部的にはほぼ特定のピン配置があります。

上記がそのピン配列なのですが、1ピンが+入力、2ピンが-入力、3ピンが電源、4ピンがGND、5ピンが出力になります。この配列にしておいたほうがいろいろなオペアンプを使うのには便利だと思います。

ただし、ただし、、、ROHMさんは親切なのでモデルデータでは実際のピン配置にさらに置換してくれています。なのでROHMさんの製品でも違うオペアンプを使うと別配列になっています。。。

* source LMR1802
* MANUFACTURER: ROHM
* 1. Temperature  character is supported only nominal.
* 2. Circuit current is not supported.
* 3. CMRR and PSRR are not supported.
* Please refer to our datasheet .
* Also, this Macromodel model(for use with PSpice) is a simulation program 
* and not for use in actual product operation.
*$
.SUBCKT LMR1802 +IN VSS -IN OUT VDD 
X_U1	+IN -IN VDD VSS OUT	LMR1802_SUB

上記が実際のモデルデータですが、.SUBCKT LMR1802の行でパッケージのピン番号である+、GND、-、OUT、電源の順で定義しています。さらに内部にLMR1802_SUBというオペアンプのサブサーキットがあって+、-、電源、GND、OUTの一般的なピン番号になっています。

ピン番号は代替ノードシーケンスを使って、どうとでもできるのですが見た目は標準的なピン番号を採用してみました。分析結果がおかしい場合にはモデルデータの中身をみて、ピン配列を確認してみてください。

まとめ

ROHMさんのモデルデータに救われました。

現状は上記のようなテンプレートファイルを作って、ここからコピーすればそのまま分析できるようにしています。ただオペアンプとツェナーダイオードはPSpice互換モードじゃないと動かないのと、個別では分析できるのですが、このテンプレート全体だとエラーになります。

上記を取り除いたこちらのファイルを通常使おうかと思っています。実際のところアナログ的な回路はやらないので、これぐらいの部品があれば個人的には十分かもしれません。

ちゃんと素子の特性を加味した設計をする場合にはngspiceではなくLTspiceを使ったほうが安心できると思いますが、大雑把にスイッチング回路が動くかを確認するのにはngspiceは手軽だと思います。

本当は部品にモデルデータを埋め込みたかったのですが、ソースコードを見た限りだめでした。回路図に書き込むことはできるのですが、それはちょっと美しくない気がします。とりあえずは分析をするときは特定のディレクトリにファイルを置いて、その下にモデルが入ったディレクトリを設置することでテンプレートからコピーしてくれば設定済みの部品が使える感じにはなりました。

コメント

タイトルとURLをコピーしました