あなたの専門が流体力学でも,実験しようとするとセンサーの面倒を見なければならず,すると電気回路が必要です.でも専門ではないので,電気回路を作っても動くやら?そんな時にはSPICEですね.LinearTechも吸収し,いまでは世界王者AnalogDevicesからダウンロード.うん?Texas Instrument のほうが2倍でかいのか・・・
そりゃ世界に冠たるNational Instrument (今ではTexasの一部門)の...なんだったっけ?MultiSimだ!買ってたけどなあ.あれはちょいと大げさすぎる.PCB基盤の発注までやらされそうな勢いだし
要は微分方程式を解くだけのソフトである...でも式立てるのも面倒だし,配線図書いたらRUNで電圧やら電流がわかった方が便利〜
無料だしな.Windows版と違って暴走しないみたいだし!
全ての始まり
ポテンシャルの根源であり全ての始まりである, GNDを定義しよう.まずは【New Schematic】で
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
パーツを移動させたり回転させるには, まずは【Edit】【Move】 |
![]() |
まあ動かせるんだが
|
- 抵抗器は【res】コンデンサー【cap】インダクタ【ind】
- 電圧にせよ抵抗器にせよ,右クリックでスペックを定義する.
- 素子類は,【いや普通に売ってあるやつ】から選ぶ.売ってない電子素子の使用を希望する場合,入力しても良い.
こんなのが書けました. わーい
最も大切な注意:
- LTSpiceは日本語パスを理解しません.パス名に日本語が含まれていると暴走します.
- 【書類】とか別名の場合でも, 本名が【Document】であるとか英文ならOK
走らせよう
実行するには,実行タイプが必要なのです.
- 過渡応答 時間の経過で何が起こるか調べる.初期値は適当に定められる.
- 周波数解析 フィルター機能とか伝達関数とかそこいらへん
- ステップ解析 突入電流で素子破壊とか,やりますよねー
- ノイズ解析 ???よくしらん
解析するには,
【SPICE directive】を,そこらへんに,ぽこっと置いておきます.右クリックで中身を編集して解析を定義します.
過渡応答解析
ここでは過渡応答 .tran を 3msec 実行する.
走らせてみると,
この黒いやつが出力である.何も選択してねえから真っ黒だ.そこで選択する.
面白いからI(R1)を見てみると
おう.バリバリ流れてますねえ.で,ここで回路図にテスターピンが現れるので,そこの電圧も表示できるのだ.
緑の線がR1の手前(電源)の電圧-5 で乱れまくり.赤色がフィルター後 C1の+のとこ-4.5 であって,フィルター効いてるけど電圧落ちちゃった感が出てますよね.でも,インダクタンス邪魔じゃねえかこれ?まあええわ.
周波数応答解析
周波数応答を解析してみよう.入力電圧の【.AC】欄に1と書くのだ!
で,命令は .AC タイプ 点数 解析開始周波数 解析終了周波数
普通は .ac dec 100 1K 1M と書けば良い
- dec 周波数10倍を1単位とする oct 1オクターブ(周波数2倍)を1単位とする
- 点数 1単位にどんだけ解析点を置くか,指定する
んでRUN! するとこげな感じ:
www 二段構えになっちまってて,笑える.Lを取り除いちまえ.
あらら・・・RCだけだと, 高周波の減衰率が大したことない,ってことがわかりますよね.んじゃ,R取ってしまえ.
Lは高周波でバカに効くが,容量のせいで低周波に弱そう.DC-DCスイッチング電源の周波数って100kHzとかだから, それを綺麗にするにはこれで良い.であるが,AC-DCスイッチング電源だと60Hzも乗ってくるだろうから,イマイチだなー.
だいたい10Ωで5Vだと,突入電流が0.5Aになる・・・がLがいるから小さいかも.(←大学で習っただろう!なんてツッコミは無しだ.面倒だろうがあぁぁぁ.だいたい,目標は微分方程式ではちょいと無理なものだしな)
突入応答解析
突入電流の解析は, 過渡応答解析のオプションで実現できます. すにゃわち, .tran コマンドにstartupをつけると,時刻0に全ての電源がOFFからONになります.
RUNすると
おお・・・抵抗Rがないと, 1.6Aも流れてしまいます.これでは電源が壊れてしまう場合がありますね.
10Ω抵抗があると, 突入電流は0.4Aに減少しました.でもねえ・・・100mA利用すると, 定常時には1Vの電圧低下が起こるんだよね・・・だから5V電源嫌いなんだよ,作りにくいし.でもセンサー電源は5Vが多いのよね.
パラメータ解析
ほい
モンテカルロ解析
ほい
サブ回路
パーツの一部をサブ回路として,別の回路から呼び出します.
サブ回路の作成
んまあ,普通に回路(.ASCファイル)を作ります.注意するのは,外部にアクセスする端子に名前をつけとくこと,
そりゃ,名前がなかったら,アクセスしようがないですからねぇ・・・
モデルファイルの作成
回路だけではダメです.ほれ,あんたは画像を使って編集しているでしょ?画像作らないと.【File】【New Symbols】で作成します.ま〜あ,適当に暴れていればできるでしょう:
これは【Draw】【Rectangle】したものに【Draft】【Netname】したものです.重要な点は,
- ASCで設定した入出力名を準備すること
です.そしてもう一つの重要なポイント:
- ASCファイルと同じフォルダーにASYファイルを保存すること!
- 現行バージョンではバグがあるので,保存後に修正する必要がある
です.2番目の件ですが,保存したASYファイルを開くと,こんな風になっています:
Version 0 SymbolType BLOCK RECTANGLE Normal -33 -32 127 32 2 PIN -32 -16 LEFT 8 PINATTR PinName Vin ...
問題は最初の「Version 0」です.このままだと,この回路を開いた途端にLTSpiceがクラッシュします.エディターで
Version 4 ← 0 を4に変更!
SymbolType BLOCK
RECTANGLE Normal -33 -32 127 32 2
PIN -32 -16 LEFT 8
PINATTR PinName Vin
...
これで準備完了です.
メイン回路
サブ回路をメイン回路で利用するには,
- メイン回路のASC
- サブ回路のASC
- サブ回路のASY
が全て, 日本語を含まないパスに存在する必要があります.さて, メイン回路で【Draft】【Components】で,そのパスを指定して回路を選びます:
すると現れるわけね:
もちろん普通にシミュレーションできます.突入電流と周波数特性:
ノイズ解析
ノイズ源
ノイズの対策を考えるには,ノイズ源が必要である.これは【Draft】【Component】【bv】である:
で,関数は
- V=RAND(time) timeが1進むと値が0-1の範囲で変わる
- V=RANDOM(time) timeが1進むまでに値が線形に0-1の範囲で変化する
- V=WHITE(time) timeが1進むと値が-0.5-0.5の範囲で変化する
他にも, テキストファイルからのデータ取り込み,WAVEファイルからの音源取り込みも可能です.
過渡応答:フーリエ解析
ノイズを調べるには, ノイズに含まれる周波数成分が必要です.FFTを行いましょう. これは. 過渡応答解析結果で【View】【FFT】で行うことができます:
すると, 周波数分布が得られます
解析の時間ステップが有限なので, あまり高周波成分がないです.