半導体をちゃんとシミュレーションしようとすると
有償、無償、専用、汎用いろんなツールがありますが、
無料の数値計算ツールでScilabというのがあり、
scilab 半導体 シミュレーション
で検索すると、例えば以下のサイトが見つかりました。
偏微分方程式を解いて半導体中のキャリアの運動を求めているとのことです。
ここでも、物理量の正確さは欠いているいるようですが、私の作ったランダムなツブツブよりも数式的正確さはありそうです。
https://user.numazu-ct.ac.jp/~mochizuki-k/scilab/#j5g
こちらは、真正半導体のフェルミ準位をScilabで解いてます。正確性を求めるとこうなりますね。
http://gomisai.blog75.fc2.com/blog-entry-778.html
ほか、半導体、シミュレーションで画像検索すると、こんな感じの画像を見つけました。
これはもう有償専用パッケージですね。
https://www.msiism.jp/article/semiconductor.html
なんかいろいろできそうな、Nova TCAD の動画解説も貼っておきます。
無料の数値計算ツールでScilabというのがあり、
scilab 半導体 シミュレーション
で検索すると、例えば以下のサイトが見つかりました。
偏微分方程式を解いて半導体中のキャリアの運動を求めているとのことです。
ここでも、物理量の正確さは欠いているいるようですが、私の作ったランダムなツブツブよりも数式的正確さはありそうです。
https://user.numazu-ct.ac.jp/~mochizuki-k/scilab/#j5g
こちらは、真正半導体のフェルミ準位をScilabで解いてます。正確性を求めるとこうなりますね。
http://gomisai.blog75.fc2.com/blog-entry-778.html
ほか、半導体、シミュレーションで画像検索すると、こんな感じの画像を見つけました。
これはもう有償専用パッケージですね。
https://www.msiism.jp/article/semiconductor.html
なんかいろいろできそうな、Nova TCAD の動画解説も貼っておきます。
トランジスタの簡易シミュレーション
20年位前にちぃったpn接合のシミュレーションを元にしてトランジスタの簡易シミュレーションを作りました。
初期値としてベースに順方向、コレクタに逆方向バイアスが適当に入っててスタート。
図のように電子正孔が黒丸、白〇で表示されて動きます。

これでわかることは、
1)エミッタ、ベース、コレクタの順に不純物密度が高くなってる。
2)エミッタからベースに電子が流れ込み、ベースからエミッタに正孔が流れ込んでるが、正孔の方が少ない。
3)ベースに流れ込んだ電子は拡散によりコレクタ接合に達すると、電界によりコレクタに吸い出される。
4)エミッタの電子数を一定にしてコレクタに流れていった分をコレクタ電流としてカウントし、ベースの正孔がエミッタに拡散して再結合により消費された分の補充をベース電流としてカウントしている。
5)ベース電流より、コレクタ電流の方が多い。(実際は、けた違いに多いけどこの視覚的なシミュレーションでは数倍程度)
6)コレクタ電圧を大きくしても、右側のエネルギーが低くなるだけで、コレクタ電流の量は原理的にほとんど変化なし。(実際はコレクタ接合の空乏層幅の変化で少し増加)
7)エミッタ電圧を大きくすると、ベースへの流入が増え、それがベースを通り越してコレクタ電流も増える。
電流値は不正確、P,N型領域中の無電界の部分の平衡状態も崩れてしまってます。
簡易的なつくりだけにこのあたりが限界です。これ以上正確性を求めるなら、極端な例外処理をあちこちいれるか、視覚めーじを犠牲にするかですので、ここで改良は終わりにします。
ダウンロードはこちら、transistor.zip
.exeに直リンクを貼ると警告がでるので、zip圧縮しました。警告出ると思いますが一応ウィルスチェックは通したので実行してみてください。
初期値としてベースに順方向、コレクタに逆方向バイアスが適当に入っててスタート。
図のように電子正孔が黒丸、白〇で表示されて動きます。

これでわかることは、
1)エミッタ、ベース、コレクタの順に不純物密度が高くなってる。
2)エミッタからベースに電子が流れ込み、ベースからエミッタに正孔が流れ込んでるが、正孔の方が少ない。
3)ベースに流れ込んだ電子は拡散によりコレクタ接合に達すると、電界によりコレクタに吸い出される。
4)エミッタの電子数を一定にしてコレクタに流れていった分をコレクタ電流としてカウントし、ベースの正孔がエミッタに拡散して再結合により消費された分の補充をベース電流としてカウントしている。
5)ベース電流より、コレクタ電流の方が多い。(実際は、けた違いに多いけどこの視覚的なシミュレーションでは数倍程度)
6)コレクタ電圧を大きくしても、右側のエネルギーが低くなるだけで、コレクタ電流の量は原理的にほとんど変化なし。(実際はコレクタ接合の空乏層幅の変化で少し増加)
7)エミッタ電圧を大きくすると、ベースへの流入が増え、それがベースを通り越してコレクタ電流も増える。
電流値は不正確、P,N型領域中の無電界の部分の平衡状態も崩れてしまってます。
簡易的なつくりだけにこのあたりが限界です。これ以上正確性を求めるなら、極端な例外処理をあちこちいれるか、視覚めーじを犠牲にするかですので、ここで改良は終わりにします。
ダウンロードはこちら、transistor.zip
.exeに直リンクを貼ると警告がでるので、zip圧縮しました。警告出ると思いますが一応ウィルスチェックは通したので実行してみてください。
IoTで室温を時系列で記録して可視化、その6
今日の研究室の室温。

最初の数日と比べてここ数日はずいぶん安定して、1日のわずかな気温の変化が見えるようになりました。
北側の部屋でエアコン入れない、隣の部屋はエアコン入れて日中は少し温度が上がってる状態で今は11度から14度くらいです。
このデバイスについて書くのはこのくらいにして後は何か別のことに流用するまでは放置。
IoT公開サーバーはこちら
広告

WiFiモジュール - ESP8266

最初の数日と比べてここ数日はずいぶん安定して、1日のわずかな気温の変化が見えるようになりました。
北側の部屋でエアコン入れない、隣の部屋はエアコン入れて日中は少し温度が上がってる状態で今は11度から14度くらいです。
このデバイスについて書くのはこのくらいにして後は何か別のことに流用するまでは放置。
IoT公開サーバーはこちら
広告

WiFiモジュール - ESP8266
IoTで室温を時系列で記録して可視化、その5
昨日の夕方ソフトとハードを改良して一晩ログを取った結果です。

ずいぶん改善されましたがまだノイズがあります。
温度センサはアナログで電源は直近に大きめのコンデンサが入っているので、マイコン側のアナログ入力の値が安定してないのだと思います。
プログラムでは、意図的に通信してないものの、WifiとESP8266が接続されたままになっているので、通信を維持するために不定期的に通信しててその際のマイコンの電流消費による電源のふらつきかもです。
回路的にはマイコン直近にでっかいコンデンサをいれるか、ソフト的には、Wifiは通信終わったら切断して、通信するときにまた繋ぎなおすようにするかですね。
IoT公開サーバーはこちら

ずいぶん改善されましたがまだノイズがあります。
温度センサはアナログで電源は直近に大きめのコンデンサが入っているので、マイコン側のアナログ入力の値が安定してないのだと思います。
プログラムでは、意図的に通信してないものの、WifiとESP8266が接続されたままになっているので、通信を維持するために不定期的に通信しててその際のマイコンの電流消費による電源のふらつきかもです。
回路的にはマイコン直近にでっかいコンデンサをいれるか、ソフト的には、Wifiは通信終わったら切断して、通信するときにまた繋ぎなおすようにするかですね。
IoT公開サーバーはこちら
トランジスタのシミュレーションは途中。
昔のフォルダを調べたら、トランジスタの定性的シミュレーションを作りかけて終わってました。
Visual Basic 6で作ってて、いまはVB6をPCにインストールしてないので続きが作れません。
せっかくなのでトランジスタまではあると良いんですが。
Visual Basic 6で作ってて、いまはVB6をPCにインストールしてないので続きが作れません。
せっかくなのでトランジスタまではあると良いんですが。