こんにちはエレキ旦那です!
今日は回路設計の第一歩から始めたいと思います!
プログラミングでいうところの”Hello World”的なところから始めます
回路設計の説明用ツールとしてLTspiceという回路シミュレータを使用します。
こちらのインストールについては以前紹介しているので割愛します。
回路の第一歩はスイッチ作りから!

電気回路の勉強してみたい!
でも最初は何から始めたら良いんだろう??
電気回路を始めるとき、何から勉強して良いか悩みますよね
プログラミングを始める時は、C言語でもPHPでもpythonでも”Hello world”の表示から始まるのが定番ですよね
回路設計の場合はあまり定番というほどのものはないかもしれません。
でも私は”スイッチ回路”をオススメします!
だって回路設計をするなら「LEDを点灯したい!」「モータを動かしたい!」
何かを動かすのが目的になることが多いですよね!
LED点灯 = LEDのON / OFF切替
モータ制御 = モータ回転のON / OFF切替
つまり、電気的なスイッチが必要なんです!
究極を言ってしまえば、世の中の電化製品はON / OFFの切替でほとんど動いているんです。
パソコンの中だってミクロで見れば電気信号のON / OFFで成り立っています。
なので、まずはON / OFFを切り替えるスイッチ回路を作っていきましょう!!
スイッチ回路の作り方
5Vで点灯するLEDを使い、1秒おきに点灯 / 消灯を切り替える
そこで今回、このような回路を作成しますよ!

こちらLTspiceの画面になります。
左半分が回路図作成画面、右半分がシミュレーション結果画面になります。
V1の電源で、1秒おきにON / OFF(3V/0V)が切り替わる信号を発生
Q1のトランジスタで、LEDにかかる電圧を1秒おきに切り替え(約5V/0V)
結果、D1のLEDが1秒おきに点灯 / 消灯を繰り返すようになっています。
それではまず、1秒おきに切り替わる電源から作成します。

ツールバーから”Componet”を選択します。

Componetにはデフォルトでインストールされている汎用部品(回路要素)が入っています。
その中から”voltage”電圧源を選択します。

voltageを作図上に配置したら右クリックで条件を設定します。
ただの固定電圧の場合は”DC value”に数値を入力。(電池はここに3.3Vなど)
今回は1秒おきのON / OFFを再現したいので詳細設定を決めていきます。

1秒おきのON / OFFのため、電圧を1秒おきにHIGH / LOWのPULSE(矩形波)にします。
矩形波の詳細はPULSE選択下部の8つの項目で決めていきます。

※分かりやすくするため、先ほどの回路とは数値は変えています。
No. | 設定項目 | 設定内容 |
---|---|---|
1 | Vinitia | 初期電圧 |
2 | Von | ON(HIGH)時の電圧 |
3 | Tdelay | 矩形波が始まるまでの時間 |
4 | Trise | ONに立ち上がる時間 |
5 | Tfall | OFFに立ち下がる時間 |
6 | Ton | ON(HIGH)の時間 |
7 | Tperiod | 矩形波1周期の時間 |
8 | Ncycle | 矩形波の回数 ※指定しなければ出し続ける |
作成図上には、1〜8の数値が”( )”の中に羅列表示される。
今回は1秒おきの点灯をするため以下の値としました。
(0 3 1 1m 1m 1 2 5)
※立ち上がり立ち下がりの影響がほとんどないものとするため”1ミリ秒”としました。
これで1秒おきの入力は完成。

次に各部品を回路作図のように配置します。
ツールバーの”Componet”から
”voltage”を1つ追加
”LED”を1つ追加
”npn”を1つ追加
そして作図画面上でキーボードの”R”を打つと”Resistor”が選択されるので3つ追加
さらに作図画面上で”G”を打つと”Ground”が選択されるので4つ追加
次に各コンポーネントの設定を行います。
各コンポーネントを右クリックで設定画面が開きます。
この”voltage”V2は ”DC value:5V”
”LED”、”npn”、”Ground”は設定不要
”Resistor”R1〜3は ”Resistance:1k”
各コンポーネントの設定を終えたら各端子を繋いでいきます。

ツールバーから”Wire”を選択し、見本の回路図のように端子を繋いでいきます。
これで回路としては完成です。
ここでシミュレーション結果を見やすくするためにひと工夫入れます。

ツールバーから”Label Net”をクリックします。

先ほどひいたWireにラベル(名前)を付けます。
通常この工程をしない場合は各Wireには”n001”のような数字が自動で割り振られます。
しかしそれではシミュレーション上で読みにくいので必要な箇所にはラベルを付けます。
ラベル名は自分が分かり易ければなんでも良いです。今回は”Vin”、”Vout”
”Port Type”でラベルの形状を選択します。
配置は回路作図の見本を参考にしてください。
最後にシミュレーション時間を決定します。

ツールバーの”Spice Directive”を選択します。
シミュレーションのためのコマンドを入力することができます。

今回は6秒分のシミュレーションを実行するため”.tran 6”入力
作図上には文字だけ表示されます。
これで作図上で行うことは完了です。
スイッチ回路のシミュレーション結果
回路作図が完了したら実際にシミュレーションを実行します。

ツールバーから人が走っているアイコン”Run”をクリックします。

作図の右側(もしくは下側)にシミュレーションの波形結果画面が表示されます。
この段階ではどこの何を見たいか指定していないので波形は出ていません。

まずは入力信号源が指定通り1秒おきに矩形波を出しているか確認します。
”Vin”のネットをクリックするとこのように波形が表示されます。
0Vから3Vまでの矩形波が出ていることが確認出来ます。

次に入力に対してnpnのトランジスタがしっかりとON / OFF切り替えられているか確認します。
npnのコネクタ側の”Vout”のネットをクリックします。
すると先ほどの”Vin”の波形と重なって表示されます。
これでは見にくいので波形表示の枠を追加します。

波形結果画面上で右クリック
”Add Plot Pane”を選択します。

このように波形の枠がもう一つ追加されます。
重なっている波形の上部にある”V(vin)”を上の枠にドロップして移動します。

波形のカラーを変えるには波形の名前”V(vin)”を右クリックし
”Default Color”から変更したいカラーを選択します。

さらに波形が枠いっぱいに表示されていて最大最小が見にくい時は左側の軸を右クリック
軸の”Top”最大値、”Tick”間隔、”Bottom”最小値を入力します。

これで波形確認用の準備は完了です。

出力された結果を確認してみましょう!
おおよそVoutには0Vから5Vに切り替わっているように見えますが実際どうしょうか
”V(vout)”をクリックすると十字の破線(Cursor)が出ます。
この破線が波形と重なっている箇所の時間、電圧の詳細が数値として表示されます。
2回クリックするとCursor1,2の2つが出てきます。
Cursor1をLOW(1.4s)時点に当てると電圧”Vert = 43.239173mV”
Cursor2をHIGH(2.4s)時点に当てると電圧”Vert = 4.8407002V”
となっていました。
npnトランジスタでダイオードのカソード側の電圧ON / OFFが出来ていることが分かります。

ダイオードにはどのぐらい電流が流れているかをチェックするには
作図画面でダイオードをクリックします。
すると”I(D1)”というダイオードに流れる電流の波形が表示されます。
ここからもダイオードに電流が1秒おきに流れていることが確認出来ました!
Cursor1,2がなぜ0V、5Vではなく中途半端な値だったのか?
☆Cursor1をLOW(1.4s)時点に当てると電圧”Vert = 43.239173mV”
⇨ この時点ではVoutに対してnpnトランジスタの”コレクタ-エミッタ間飽和電圧”がかかっているため0Vとはならないのです。
☆Cursor2をHIGH(2.4s)時点に当てると電圧”Vert = 4.8407002V”
⇨ この時点ではLEDの”順方向電圧”がかかっているため5Vとはならないのです。
まとめ
LEDを点灯するための回路設計とLTspiceの使い方が理解出来たか?
LEDを配置しているところにDCモータをおけばモータを駆動することも出来ます!
スピーカーユニットを入れて音を出すことも出来ます!
1秒おきの入力信号電源は、ArduinoやRaspberry piで実現しても良いし、手動のスイッチでも構いません!
スイッチ回路ができれば夢は広がります!!
スイッチ回路はまだまだ応用があるので今後続きを書いていきます!
コメント