ミニゲーム: 電気回路シミュレータ
概要
「電気回路シミュレータ」は、DC/AC のどちらのモードでもノード式回路解析を行い、電圧・電流・電力・力率を即時計算して表示するトイカテゴリの学習ツールです。 初期状態では 12V 電源と負荷抵抗を備えた基本回路が用意され、結果の要約と計測器オーバーレイを通じてリアルタイムに挙動を確認できます。
画面レイアウト
- 左パネル: ツールボタン群、解析モード切り替え、周波数スライダー、解析ステータス、結果サマリーをまとめた操作センターです。
- 中央ワークスペース: 760×520 の格子状キャンバスに SVG ベースでノードとコンポーネントが描画され、値付きのカードが中間に表示されます。
- 右インスペクタ: 選択中のノードまたはコンポーネントの名称や電気パラメータを編集し、測定値・リアクタンスなどの詳細と削除ボタンを提供します。
基本操作
ツール選択とノード配置
「選択・移動」「ノード追加」と各種コンポーネントのツールがボタンとして並びます。ノード追加ツールでグリッド上をクリックすると新しいノードが生成され、自動命名されるほか、初回のみ自動的にグラウンド候補になります。ノードはドラッグで移動でき、キャンバス境界の内側に収まるよう制限されます。
コンポーネントの接続
ツールで部品を選んだ状態で 2 つのノードを順にクリックすると、そのペア間にコンポーネントが生成されます。選択中のノードはハイライトされ、同じノードを 2 回選んだ場合は操作がキャンセルされます。導入した部品は即座に解析へ反映され、プローブ系以外を追加するとセッション XP が加算されます。
ノードと部品の編集
ノードをクリックするとインスペクタで名称変更・電位確認・グラウンド設定が可能で、削除すると接続中のコンポーネントも同時に削除されます。コンポーネントを選ぶと値入力欄が現れ、抵抗・電圧・位相などを変更すると直ちに再解析が走ります。削除ボタンには確認ダイアログが付与されています。
コンポーネントリファレンス
種類 | 初期値 | 調整可能な項目 | 備考 |
---|---|---|---|
導線 | 0.001 Ω | 抵抗 (最小 1e-4 Ω、最大 1e12 Ω でクランプ) | 低抵抗線として回路に影響します。 |
抵抗 | 100 Ω | 抵抗 (同上) | 電圧・電流・電力を表示します。 |
コンデンサ | 1 µF | 容量 (1 pF〜1 F)、AC 解析時にリアクタンスを表示 | DC モードでは開放扱いになり診断に注意が表示されます。 |
インダクタ | 1 mH | インダクタンス (1 nH〜10 H)、AC 解析時にリアクタンスを表示 | DC モードでは短絡に近い扱いとして警告が出ます。 |
電源 | 12 V、内部抵抗 0.5 Ω | 出力電圧・内部抵抗 | ノード間の供給電力に寄与します。 |
AC 電源 | 5 Vrms、位相 0°、内部抵抗 0.2 Ω | RMS 電圧、位相 (±180°)、内部抵抗 | AC モードで正弦波電圧源として解析されます。 |
電流源 | 0.05 A、位相 0° | 電流値、AC 時の位相 | 電圧差との積で電力が算出されます。 |
電流計 | 0.0005 Ω | 抵抗 (最小 1e-4 Ω) | 回路に直列接続される低抵抗測定器です。 |
電圧計 | 名称のみ | ラベル | 計器は回路に影響せず、ノード間の電圧・電流・電力を読み出します。 |
電力計 | 名称のみ | ラベル | 非侵襲でノード間の有効・無効電力を計測します。 |
解析モードと結果表示
解析モードは DC/AC の 2 種類で、AC を選ぶと周波数入力(スライダー 0〜100 kHz、直接入力は 1 MHz まで)が有効化されます。 ステータス欄では現在のモード、角周波数、選択中ツール、接続開始ノード、グラウンド設定、警告や診断メッセージが順に表示されます。 サマリー欄では供給電力・消費電力・(AC 時は力率)・最大ノード電位・最大枝電流・セッション XP・各ノードの電位を確認できます。 AC 解析では回路要素のオーバーレイに振幅と位相を含む表記が使われ、リアクティブ電力も同時に表示されます。
計測系とリアクタンス表示
電圧計・電力計はブランチ電流の集計値を参照する非侵襲型で、回路へ追加しても導通条件に影響を与えません。 コンデンサとインダクタは AC 周波数からリアクタンスを計算し、インスペクタに Xc/Xl の参考値を表示します。 DC 解析でリアクティブ素子を含む場合は「開放」「短絡」として扱うことが診断メッセージに明示されるので、モードを切り替えて検証してください。
経験値とセッション管理
ノード追加・部品追加・計器設置ごとにセッション XP が加算され、削除や編集では減点されません。サマリー欄と getScore() の戻り値で現在の合計が確認できます。 ノード/部品の削除は確認ダイアログ付きで、セッション XP はリセットされません。