はじめに
回路設計において、避けて通れないのが最悪値解析(WCA: Worst Case Analysis) です。
実務においては以下のような課題に直面することが多々あります。
部品公差の組み合わせが膨大で、どれが本当の「ワースト」か確信が持てない。
計算プロセスのブラックボックス化を防ぎ、誰がやっても同じ精度で検証したい。
これらを解決するために、MNA(修正節点解析)エンジンを搭載した回路ソルバーをPythonで開発し、GitHubに公開しました。
公開したリポジトリ
PyMNA Pro の特徴
本ツールは「部品には必ず誤差がある」という実務の前提に立ち、設計を支援するための機能を盛り込んでいます。
-
厳密な回路計算: MNA(修正節点解析)を用いて、近似ではない行列演算による正確な節点電位を算出します。
-
自動最悪値探索: 各部品の感度を解析し、最悪条件を絞り込む反復アルゴリズム
-
影響度の可視化(トルネードチャート): どの部品が設計に最も影響を与えているかをランキング表示。対策すべき箇所の優先順位が明確になります。
-
実務に即した機能: 抵抗器の電力軽減定格(Derating)計算や、LTspiceへのエクスポート機能を標準搭載しています。
今回の対応:モジュール化、UI改善
今回のアップデート(v2.2)では、長期的なメンテナンスと再利用性を考慮し、機能を以下のモジュールに分割しました。
これにより、計算ロジックのみを別のプロジェクトに転用したり、UIだけをカスタマイズしたりすることが容易になっています。
あと、UIを前回からみなおしました。 メニューバーとツールバーをわけて
頻繁に使う機能はツールバー、そうでないものはメニューバーに仕分けました。
モジュール化に伴い実行方法が今回から変更になります
リポジトリをクローンまたはダウンロードし、src ディレクトリに移動してメインスクリプトを実行してください。
python src/pymna_main.py
おわりに
本ツールが、回路設計の効率化やDX(デジタルトランスフォーメーション)を検討している方のヒントになれば幸いです。
IssueやStarなど、フィードバックをいただけると励みになります!
Author: @zyutama
GitHub: https://github.com/zyuta0720-cmd/pymna-pro-v2.2
