2019年8月11日スポンサーリンクLTspiceには電圧制御スイッチがあります。この電圧制御スイッチにはヒステリシス機能(パラメータ“VT”と”VH”によってオン電圧とオフ電圧を変える機能)があり、この機能を用いると容易にヒステリシススイッチを作成することができます。ネットや参考書等に載っているヒステリシススイッチの作成方法では、電圧制御スイッチのヒステリシス機能を使用せず、サブサーキットでヒステリシススイッチを作成しているのを度々見かけます。これは、シミュレーションソフトによってはヒステリシス機能が組み込まれていないものがあり、電圧制御スイッチにヒステリシス機能を追加するためにはサブサーキット化する必要があるからです。この記事では、このヒステリシススイッチをサブサーキットで作成する方法について説明します。電圧制御スイッチについては、以下の記事を参考にしてください。電圧制御スイッチにヒステリシス機能を追加したサブサーキットを上図に示しています。上記のサブサーキットには4つのパラメータ(RON,ROFF,VT,VH)があります。RONはオン抵抗、ROFFはオフ抵抗、VTはスイッチの閾値電圧です。VHはVTパラメータと共に使用すると、スイッチの閾値電圧にヒステリシス機能を持たせることができ、高閾値電圧は「VT+VH」、低閾値電圧は「VT-VH」となります。VH=2」なので、高閾値電圧は「7V」、低閾値電圧は「3V」となります。ノード(IN_Plus、IN_Minus)は電圧検出用ノードです。各ノードには入力抵抗を模擬した10MΩの抵抗Rconv2とRconv3を接続しています。ノード(SW_Plus、SW_Minus)は出力用ノードです。サブサーキット内にあるスイッチS1は以下のモデルで定義しています。VH=0.5)このスイッチS1はヒステリシス特性を持っており、入力ノードの電圧(NC1-0)がVT+VH=1.0Vを超えるとスイッチS1の抵抗がRONとなり、入力ノードの電圧(NC1-0)がVT-VH=0Vを下回ると、スイッチS1の抵抗がROFFとなります。ROFF=1Meg」で定義されています。ビヘイビア電源B_Ctrlは以下の式となっています。)この式は入力ノードの差動電圧「V(IN_Plus)-V(IN_Minus)」をサブサーキット内のノードRefの電圧V(Ref)と比較します。差動電圧がV(Ref)より大きいと、スイッチS1をオンする2Vの出力を生成し、差動電圧がV(Ref)より小さいと、スイッチS1をオフする0Vの出力を生成します。ビヘイビア電源B_Refは以下の式となっています。)ノードRefはスイッチの閾値電圧の記憶用です。スイッチS1がオンしている時は、ノードNC1の電圧V(NC1)は2Vとなります。そのため、0.5Vより大きくなります。その結果、ビヘイビア電源B_Refの出力は{VT+VH}となり、小さなRC時定数の後、CdelコンデンサのRefノードに保存されます。スイッチS1がオフしている時は、ノードNC1の電圧は0.5Vより小さくなります。その結果、ビヘイビア電源B_Refの出力は{VT-VH}となり、小さなRC時定数の後、CdelコンデンサのRefノードに保存されます。これがヒステリシススイッチをサブサーキットで作成する方法です。V(Ref)={VT+VH}」より7Vとなっています。)より、ビヘイビア電源B_Ctrlの出力が2Vとなり、ノードNC1の電圧V(NC1)も2Vとなります。)より、ビヘイビア電源B_Refの出力が「VT-VH=3V」となり、ノードRefの電圧V(Ref)も3Vとなります。これより、オン電圧は7V、オフ電圧は3Vとなり、ヒステリシス機能を持っていることが分かります。シミュレーションで確認してみる1.サブサーキット化サブサーキットで作成したヒステリシススイッチをシミュレーションで確認してみます。今回、シミュレーションをする前にサブサーキットを上図のようにシンボル化しました。シンボル化方法については以下の記事を参考にしてください。【LTspice】サブサーキットの作成方法と使用方法について2.シミュレーション1上図のように回路を組みました。入力電圧V1はサブサーキットのIN_Plusに接続しています。SW_Plusには抵抗R1と電圧源V2を接続し、SW_PlusのノードをOUTとしています。入力電圧V1を0Vから10Vに上げた後に、再度0Vに下げた時におけるOUTノードの電圧を観測してみます。入力電圧V1が7Vを超えると、ヒステリシススイッチがオンして、OUTノードの電圧が低下します。入力電圧V1が3Vを下回ると、ヒステリシススイッチがオフして、OUTノードの電圧が上昇しているのが確認できます。3.シミュレーション2次にRC発振器のシミュレーションをしてみます。入力電圧V1は10Vとしています。シミュレーションスタート時、コンデンサC1に電荷が蓄えられることでノードC1の電圧が上昇します。ノードC1の電圧が7Vを超えると、ヒステリシススイッチがオンして、コンデンサC1に蓄えられた電荷が放電することで、ノードC1の電圧が低下します。ノードC1の電圧が3Vを下回ると、ヒステリシススイッチがオフして、コンデンサC1に電荷が蓄えられることでノードC1の電圧が上昇します。この繰り返しが行われています。今まで紹介した回路をネットリストで記述すると以下のようになります。SW_Hysteなお、ネットや参考書等ではPSpiceにおけるヒステリシススイッチが公開されています。公開されているネットリストを以下に示します。SWhysteLTspiceにおけるネットリストでは上記のネットリストにおいて以下の箇所を変えています。マストで変えなければいけないのはモデル記述です。0)の「1」を「1」より大きな値である「2」に変更しています。「1」のままだとスイッチSmoothSWがオンしないためです。抵抗やコンデンサ等を用いず、LTspiceにあるヒステリシスパラメータ(VT、VH)を用いると、以下のようにネットリストを簡略することができます。SW_HysteスポンサーリンクスポンサーリンクTwitterShareGoogle+PocketHatenaLINEauthor関連記事LTspice【LTspice】シミュレーション波形の設定と保存について!pltファイルって何?LTspiceではシミュレーション波形の設定(表示波形、横軸の範囲、縦軸の範囲など)を保存することができます。保存することによって、プローブを用いた電圧と電流の観測を省略することができます。...LTspice【LTspice】初期の動作点を与える『.nodesetコマンド』の使い方シミュレーション実行時、回路に初期の動作点を与える.nodesetコマンドについて説明します。以下にモデルの例を示す。...LTspice【LTspice】変数を定義する『.paramコマンド』の使い方LTspiceではかなり重要なコマンドの1つである.paramコマンドについて説明します。.paramコマンドとは、ユーザー定義の変数を作成するコマンドです。...LTspice【LTspice】フーリエ変換を実行する『.fourコマンド』の使い方フーリエ変換を実行する.fourコマンドについて、構文と使い方を説明した後に、シミュレーション例を紹介します。AFFINGER5.。