特徴
• スイッチング回路の解析に適したタイムステップの自動調整機能
• ラッチやサンプル&ホールドなどの離散時間モデリングへの対応
• モータモデルおよびモータ制御に必要な座標変換素子などの提供

PSpice用制御ライブラリはPSpice上で回路(Circuit)を制御するための制御部(Controller)をブロック線図を描くことにより設計、シミュレーションするための部品を提供します。
このライブラリを使用することによりブラシレスDCモータのベクトル制御などPSpice標準のライブラリ(ABM: Analog Behavioral Modeling等)では実装が困難な複雑な制御であっても直感的に設計、シミュレーションすることが可能になります。回路シミュレータ上で回路の制御部を簡単に実装できるようになることで、回路を設計するハードウェア技術者、制御を設計するソフトウェア技術者双方にとって回路シミュレータの活用範囲が広がります。
このライブラリは解析が高速に動作するように調整されています。その中で最も特徴的な機能はスイッチング回路の解析に適したタイムステップの自動調整機能です。 PSpice標準のライブラリ(ABM等)でスイッチング回路の制御部を実装する場合、解析設定でタイムステップ上限(maximum step size)を回路ごとに適切な値に設定する必要があり、上限値が大きすぎるとパルスが抜けた不適切な解析結果になり、上限値が小さすぎると解析時間が長くなります。このライブラリを使用する場合はタイムステップ上限を設定する必要がなく、高速に適切な解析結果が得られます。

 

特徴について

特徴1. スイッチング回路の解析に適したタイムステップの自動調整機能

降圧チョッパ回路の電圧を制御した場合の例です。制御部にPSpiceの標準ライブラリを使用した場合、パルスの変化点でタイムステップが細かくならずタイムステップもばらつくため、パルスの幅がばらついたりパルスが抜けたりしてスイッチング回路に異常な電流、電圧の変動が発生し、正確な解析結果が得られません。シミュレーション設定でタイムステップの上限を指定することでパルスの抜け・ばらつきを抑えられますが、解析速度が極端に遅くなります。

上記と同じ条件で降圧チョッパ回路の電圧を制御した場合の例です。制御部にPSpice用制御ライブラリを使用した場合、パルスの変化点でタイムステップが自動的に細かくなり、タイムステップ上限を指定せずに高速で正確な解析結果が得られます。

特徴2.ラッチやサンプル&ホールドなどの離散時間モデリングへの対応

電流モード降圧チョッパ制御により入力電圧10Vから出力電圧5Vに制御した場合の例です。この制御では電流制御にSRフリップフロップを使用します。周期的なパルスをセット信号としてスイッチをONし、電流指令値と電流検出値の比較信号をリセット信号としてスイッチをOFFすることで電流を制御します。
SRフリップフロップにはLTspice固有のデジタル素子(A素子)を使用しています。A素子はLTspice制御ライブラリが提供するDiscreteグループの素子を使用してブロック線図表現に置き換えることができます。基本となるのは1タイムステップ前の値を出力するPrevious要素です。 Previous要素を組み合わせることでより複雑な離散時間モデルを作成することができます。

上記の電流モード降圧チョッパ制御をPspiceで実装した例です。シミュレーション結果はLTspice版と概ね一致しています。SRフリップフロップはPrevious要素を使用してブロック線図表現で構成しています。 Previous要素を使用することでアナログ信号系だけの構成となり、LTspiceと同じ使用感になります。
PSpiceには固有のデジタル素子(U素子)があり、 SRフリップフロップもU素子として提供されています。PSpiceのU素子はアナログ信号系とは別のデジタル信号系に分類され、ユーザーにとっての使用感はだいぶ変わります。PSpiceのデジタル素子を正しく使用すれば高速なシミュレーションが可能ですが、このライブラリでは使い勝手を考慮してデジタル素子が前面にでない構成になっています。

特徴3.モータモデルおよびモータ制御に必要な座標変換素子などの提供

ブラシレスDCモータの速度制御の例です。
このライブラリを使用することで複雑な制御でも直感的に実装することができます。

ライブラリの使い方

ライブラリのファイル構成

examples/
サンプルプロジェクトが格納されているフォルダです。

lib/sub/PSpiceControlLibrary/
ライブラリファイルが格納されているフォルダです。“PSpiceControlLibrary.lib”をライブラリとして登録すると、すべてのライブラリファイルが読み込まれます。サンプルプロジェクトでは“PSpiceControlLibrary.lib”をDesignライブラリ(プロジェクト内でのみ有効なライブラリ)として登録してあります。

lib/sym/PSpiceControlLibrary/
シンボルファイルが格納されているフォルダです。シンボルファイル名は”PCL_*.olb”です。名前の”*”の部分は”Motros”等ライブラリの分類名になります。

ライブラリファイルとシンボルファイルを任意の場所に配置して、PSpiceに登録して使用してください。サンプルプロジェクトのシミュレーションを実行するだけであれば登録作業は必要ありません。

ライブラリの使用例(▶をクリックすると詳細が表示されます)

1. 降圧チョッパ制御(DC-DCConverter/BuckConverter)

降圧チョッパ回路で10V入力から5V出力した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

2. 昇圧チョッパ制御(DC-DCConverter/BoostConverter)

昇圧チョッパ回路で10V入力から20V出力した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

3. 連続モードPFC制御(AC-DCConverter/CCM-PFC)

PFC回路でAC100V入力からDC200V出力した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

4. 臨界モードPFC制御(AC-DCConverter/CRM-PFC)

PFC回路でAC100V入力からDC200V出力した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

5. 3相系統連携インバータ制御(DC-ACConverter/3PhaseInverter)

3相系統連系インバータで有効電流成分10√3Aに無効電流成分3√3Aに制御した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

6. DCモータの速度制御(MotorDrive/DCMotorSpeedControl)

DCモータを100rad/sに制御した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

7. ブラシレスDCモータのベクトル制御(MotorDrive/PMSMVectorControl)

ブラシレスDCモータを100rad/sに制御した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。

 

 

 

8. ブラシレスDCモータの120度通電制御(ホールセンサ使用)(MotorDirve/PMSM120DegreeDriveWithHallSensors)

ホールセンサを使用したブラシレスDCモータの120度通電制御の例です。ホールセンサ信号変化間の時間を計測して回転数を計算し、回転数を100rad/sに制御しています。回転数計測部にLTspice固有のデジタル素子を使用しています。この部分はPrevious要素を使ってブロック線図表現に置き換えることができます。

上記のホールセンサを使用したブラシレスDCモータの120度通電制御をPSpiceで実装した例です。回転数計測部はPrevious要素を使ってブロック線図表現に置き換えています。

 

ホールセンサを使用したブラシレスDCモータの120度通電制御の例です。ホールセンサ信号変化間の時間を計測して回転数を計算し、回転数を100rad/sに制御しています。

 

9. 太陽電池の最大電力点追従制御(SolarCell/SolarCellMPPTUsingP&OMethod_Boost)

放射照度が200W/m2⇔1000W/m2に変化する状況下で、山登り法により最大電力点追従制御した場合の例です。LTspice版とPSpice版の回路、制御の構成は同じです。