Skip to content

Releases: K2EXTER/circuitCad

v0.1.0-alpha.7

v0.1.0-alpha.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 12:04

v0.1.0-alpha.7

アルファ版です。動作確認は Windows のみで、基板の発注の実績はまだありません (README の「現在の状態と既知の制限」を参照)。

今回は、学習パスが 3 本・レッスン 46 本に増えたことと、画面なしで動かせる ccad、配線した基板の銅の抵抗・インダクタンスまで含めたシミュレーションが大きく変わりました。

学習

  • 学習パスが 3 本になりました: 安定化電源を作ろう / Arduino 互換ボードを作ろう / Arduino Mega 互換ボードを作ろう。2 本目と 3 本目は、レッスンの関係を樹形図 (学習の地図) で見られます。順番は強制ではなく、先に済ませると分かりやすいものが線でつながります。
  • レッスンが 46 本になりました。 新しいもの: 水晶とクロック・リセット・バイパスコンデンサ・プルアップ・ピンの LED・レベル変換・シリアル・データシートの読み方・USB の電気 (VBUS・速度の見分け・信号線)・PWM・フライバックダイオード・ボタンのチャタリング・温度/光/電流センサ・LDO・TL431、Mega 向けの ADC の入力・電源ピン 5 組・水晶の負荷容量・CH340G と USB のノイズ。どれも、サンプル回路を動かして数値を確かめ、「実物との違い」と「実機で確かめよう」の注意がつきます。
  • 基板のレッスンが 6 本になりました: 配線の太さと電圧降下 / 発注前チェックを通す (チャレンジ) / マイコンの基板の置き方 / USB の差動ペア / 100 ピンの基板を手で仕上げる (Mega)。
  • 「実機の作業」のチェックリスト: 表面実装のはんだ付け・ブートローダの書き込み・100 ピン (0.5mm ピッチ) のはんだ付け。アプリが判定できない作業を、安全の注意と「うまくいかないとき」の表つきで見せます。
  • 「学ぶ」メニューは、学習パスごと・段階ごとのサブメニューになりました。学習パスの窓は、画面の大きさに合わせて開きます。

画面なしで動かす ccad (AI エージェント・自動化向け)

  • 1 行 1 コマンドのスクリプトで、名前ベースの回路作成・ERC・DC/過渡/AC 解析・基板・製造データの書き出しを実行し、答えを 1 行 1 個の JSON で返します (cargo run -p cli -- script.ccad、使い方は docs/cli.md)。
  • ccad mcp で MCP サーバーにもなります。--strict で、ERC にエラーがあるときは解析を拒みます。値の計算 (14 種)・周波数応答・スペックの合否・発注前チェックも使えます。

基板

  • 配線した基板の銅を含めたシミュレーション (レイアウト後シミュレーション): 配線の抵抗・インダクタンス・配線どうしの磁気結合・ベタの上の配線の容量・ビアのインダクタンス・表皮効果の警告を、解析に入れられます。数式は FastHenry2 との比較テスト (自己 1.0% 以内、相互 0.7% 以内など) で確かめてあります。
  • 発注前チェックに、回路図と基板の食い違い・配線の電圧降下・発注先の料金の枠 (基板の大きさ) を追加しました。
  • 自動配置はバイパスコンデンサを電源ピンのそばへ寄せます。自動配線は、手で引いた配線の遠回りやビアを引き直す「配線を短くする」と、一直線の配線のまとめ、パッドの垂直な出入りを備えます。GND ベタは表面にも広がります。
  • 基板エディタの左パネルを「手で引く」と「手順」に分け、数字キーでツールを選べます。ツールの設定は、そのツールのボタンの下に出ます。

SPICE モデルと解析

  • メーカーのモデルを読む力が上がりました (デジタルのゲート・フリップフロップ、結合インダクタ、伝送線路、.func・TABLE・POLY、LTspice の A デバイスなど)。同梱の検証用の集まりで、読める割合が 8 割台から 9 割強になりました。
  • ngspice との照合を、AC 解析にも広げました (CI で保存した答えと比べます)。結果は docs/accuracy.md に載せています。
  • CH340G の仮のモデルと、学習用の電圧制御スイッチ (SW_SAMPLE_DEMO) を同梱しました。どちらも「学習用の仮のモデル」です。USB のプロトコルは扱いません。
  • 過渡解析の刻みの制御と、故障シミュレーション (全コアで並列、進行表示と中止ボタン) が速く、止まらなくなりました。

サンプル・部品

  • Arduino 互換ボード (ATmega328P) と、Mega 2560 互換ボード (ATmega2560 + CH340G。シールドなし) の回路図。Mega の基板は、自動配線が 18 本残した「仕上げ待ち」の状態で docs/examples/work_in_progress/ にあります (手で仕上げる練習用)。
  • 大きな混合信号のサンプル (電源・555 とカウンタ・温度アラーム・アンプ)、3 相電源の部品、センサ (LM35・TMP36・NTC・LDR・フォトダイオード・INA180・ACS712) などの部品を追加しました。

既知の制限

  • Windows のみ動作確認です。実機で作った・発注した実績はありません。
  • Mega の基板は、自動配線では通らない線が残ります。手で通しきれるかは、確かめていません。
  • 「実機で確かめよう」の内容は、文章だけです (実際に作って確かめてはいません)。

v0.1.0-alpha.6

v0.1.0-alpha.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 13:44

v0.1.0-alpha.6

アルファ版です。動作確認は Windows のみで、基板の発注の実績はまだありません (README の「現在の状態と既知の制限」を参照)。

今回は、基板まわり (自動配置・自動配線・配線の仕上げ・GND ベタ) と、メーカーの SPICE モデルを読む力 が大きく変わりました。

基板: 自動配置

  • IC を中心に、つながる部品を周りに集める配置を追加しました。つながりの強い順に1つずつ、すでに置いた部品のパッドにピンが近づく位置へ置きます。従来の「段に並べる配置」も作り、ネットの長さが短いほうを採ります。段に並べる配置のほうは、部品の順番を入れ替えて、ネットが短くなる順番を探します (結果は毎回同じです)。
  • 部品の隙間を 1.6mm から 2.4mm に広げました。同梱サンプルを自動配置→自動配線して比べると、通らなかった線が 8 本から 2 本に減りました (今回の変更をすべて入れると 0 本です)。
  • 73 部品の基板で、自動配置が 1.4 秒から約 0.15 秒になりました。

基板: 自動配線

  • 通らなかったネットを先に引き直す再試行を入れました (最大 3 回、時間の上限つき)。同梱サンプル 40 個は、自動配置のあとの自動配線で、未配線が 0 本になります。
  • パッドの出入りがきれいになりました。 パッドから垂直に出る短い区間 (リード) の先が、格子とずれて短い斜めの段差や出っ張りになっていたのを直しました。IC のように間隔が狭くてリードを置けないパッドも、水平・垂直・45° の線でつなぎます。
  • GND ベタのボタン (左パネル「② 配線」): 裏面ぜんぶを GND の銅箔にして、表面の GND パッドを短い線とビアで裏のベタにつなぎます。GND の長い配線が要らなくなります。自動配線の前に押します。四角い外形の基板で使えます。
  • 速くなりました。 73 部品の基板で、自動配線の1回が 13.5 秒から約 0.9 秒、整えた形の計算が 0.59 秒から 0.013 秒になりました。配線の結果は変わりません。
  • 自動配線は、パッドの上に垂直に出入りします (「パッドに垂直に出入り」のチェック)。手で引くときも、パッドの両端に吸い付き、垂直な区間が付きます。
  • 配線ツールの自動経路: 始点からカーソルまでの経路を、障害物を避けて、その場で探して見せます。
  • 押しのけ配線は、両端が固定された配線も、45° の折れで脇へよけます。

基板: 配線の仕上げ (「③ 仕上げ」)

  • 整えた形で表示・出力: 配線そのものは変えずに、角丸め・太さの段差・パッドの涙型・分かれ目と T 字の凹みを、表示・ガーバー・DRC のときだけ計算します。「配線に確定する」「選んだ配線だけ確定する」もあります。
  • 涙型は、自動配線の短いリードにも付きます。根元は、パッドの幅にそろえて、配線が横にずれても、はみ出しません。
  • 整えないネットを選べます (差動ペアや形が特性を決める線を守ります)。3D 表示の銅の光り方も、整えた形に従います。
  • 長さ合わせ (蛇行配線): ネットを目標の長さに合わせます。山の形は、四角・面取り・丸から選びます。

SPICE モデル

  • メーカーが配っている実際のファイルを読めます。 順序によらない .param と {式}、ネストした .subckt、TABLE・VALUE・POLY、パラメータ付きのモデル行など。読めない書き方は、部品作成フォームの「試し読み」ボタンが、小さな回路で試して、理由を説明します。
  • トランジスタ・ダイオード・コイル・MOSFET の精度が上がりました。 BJT のアーリー効果・コレクタとエミッタの抵抗・接合容量・拡散電荷・リーク、ダイオードの電荷蓄積と再結合、コイルの飽和 (ISAT/LDROP)、MOSFET の W/L/M。過渡・AC・ノイズ解析で使われます。
  • 部品作成フォームの「かんたん作成」: ダイオードの IS/N/RS を、データシートのグラフの点から求めます。チップ部品 (コンデンサ・コイル・抵抗) は、インピーダンスの表から、ESR・ESL などを当てはめます。リード付き部品は、データシートの図面の寸法から、穴・パッド・ピッチ・本体の目安を出します。

画面と学習

  • 初回起動のようこそカード、ファイル → サンプル回路を開く メニューを追加しました。
  • ツールバーにアイコンを付け、「アイコンのみ」の表示に切り替えられます (設定は保存されます)。
  • 画面の説明文を、(?) のホバーと表に移して、すっきりさせました (基板パネル、部品作成フォーム、解析パネル)。過渡波形・AC・ノイズ・ステップ応答の数値も、表になりました。
  • 部品一覧に、記号の小さな絵が付きました。
  • 学習パス最後の「組み立てて測る」が、実際に測る窓になりました。スペック表に、実測の欄が付きました。

部品

  • 18650 リチウムイオン電池の部品 (LIION_18650、LIION_18650_CHG) の基板の形を、電池ホルダー用 (パッド間 77mm) から、配線やコネクタをはんだ付けする 2 穴 (2.54mm ピッチ) に変えました。サンプル tp5100_cell_charge と li_ion_cell_charge も、これに合わせて作り直しました。

互換性について

  • 自動配置の結果が、前のバージョンと変わります。 保存した基板 (.pcbjson、.ccproj) は、そのまま開けます。「自動配置」を押し直すと、配置が変わります。
  • 基板の保存ファイルに、整えた形の設定 (finish)、整えないネット (finish_exclude) などの項目が増えます。古いバージョンで開くと、それらは無視されます (読み込みは失敗しません)。
  • 以前から入っている部品ライブラリのうち、手を加えていない 18650 の 2 つの部品だけ、起動時に一度だけ更新されます。 手を加えた部品は、そのままです。
  • 以前に 18650 を使って保存した回路図・基板も、そのまま使えます。 古い基板の形 (BatteryHolder_18650、パッド間 77mm の電池ホルダー) は、組み込みの形として残してあります。回路図から基板へ取り込み直しても、電池ホルダーの形のままです。新しい 2 穴の形にしたいときは、部品を置き直してください。

開発者向け

  • CI に Linux と macOS のジョブを足し、保存した ngspice の結果 (動作点 38 個、過渡 32 個) との比較を足しました。
  • DRC と接続グループの計算を、全部品の組を調べる方式から、外接矩形の掃引に変えました (結果は変わりません。全サンプルの配線・整えた形と一致を確認しています)。
  • 73 部品の LED 基板で、配置・配線・仕上げの時間と成績を測る試験を足しました (cargo test -p pcb-core --release large_led_board -- --ignored --nocapture)。
  • 詳しい仕様は docs/code-notes/pcb-core.md に書きました。

Full Changelog: v0.1.0-alpha.5...v0.1.0-alpha.6

v0.1.0-alpha.5

v0.1.0-alpha.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 05:45

v0.1.0-alpha.5

アルファ版です。動作確認は Windows のみで、基板の発注の実績はまだありません (README の「現在の状態と既知の制限」を参照)。

保存と作業の流れ

  • プロジェクトファイル (.ccproj): 回路図と基板を1つのファイルに保存して、まとめて開けます (ファイル → プロジェクトを開く / 保存)。
  • 未保存の変更を確認します。 新規作成・ファイルを開く・ウィンドウを閉じるときに、保存していない変更があれば「はい / いいえ / キャンセル」で聞きます。
  • スペック表 (合否の表) が保存されます。 .schjson と .ccproj に入るので、閉じても目標値が消えません。目標値を書き換えただけでも「未保存の変更」になります。古いファイルは、そのまま開けます。
  • 回路図を変えたあとの基板の ● 表示: 基板が回路図とずれると、基板のタブに ● が付き、基板パネルに追加・削除・値の変更の件数が出ます。

基板

  • 押しのけ配線のプレビュー: カーソルに合わせて、押しのけられる配線の今の位置 (細い線) と動く先 (太い線) を橙色で表示します。違反になるときは赤です。配線が多い基板では、計算を間引いて軽くします。
  • サーマルビア: 放熱パッドの下に足りない分を自動で置くボタンを追加しました。同じネットの大きなベタが接していれば、必要な数が半分になります。
  • ベタ: どこにもつながらない銅の島を捨てるオプションを追加しました。
  • 自動配線: パッドの上にビアを置かなくなりました。電流を宣言したネットは、必要な太さで配線します。
  • シルク: スルーホール部品の本体の外形と極性の印 (ラジアルコンデンサの +/−、ダイオードの帯、LED の平らな側など) を出します。
  • 選択ツール以外のツールを選ぶと、選択が外れるようになりました。R・B・Delete キーは選択ツールのときだけ働きます。
  • BOM の値から、シミュレーション用の値 (ESR=… など) を除きました。

3D 表示

  • 部品の向きの印を追加しました (IC の 1 番ピンの点、ダイオード/LED のカソード、電解コンデンサの−側の縞)。部品の高さは、部品データの値を使います。
  • 選択した部品への寄り、選んだネットの銅を光らせる表示、画面の PNG 保存を追加しました。
  • ケース高さを超える部品を赤くして知らせます。回す・動かす・拡大している間は、粗い絵で軽く描きます。

回路図と部品

  • ダイオード・トランジスタ・オペアンプなどを、JIS/IEC の標準的な記号で描きます (新しく作る部品は小さめの形)。
  • 部品作成フォームを作り直しました。 最初に部品の種類 (IC・トランジスタ・ダイオード・チップ・コネクタ) を選び、タブ (基本・ピン・基板の形・シミュレーション・定格) で入力します。右側に、記号と基板の形が実寸比で常に見えます。データシートの本体の大きさ・高さ・放熱パッドを入れると、シルクと 3D 表示に反映されます。
  • コンデンサ (セラミック・電解・タンタル・フィルム)・抵抗・コイルの種類を追加しました。電解コンデンサは、リップル電流と寿命を定格に入れておくと、過渡解析の結果と比べて、許容を超えていないか・推定の寿命を表示します。
  • 部品一覧は、コンデンサ・ダイオード・トランジスタをフォルダに分けました。フィルムとタンタルのサンプル部品を追加しました。
  • リード付きのコンデンサは、スルーホールとして扱います。

学習

  • レッスン 23「可変電源」 (商用電源 → トランス → ブリッジ → LM317 とダイヤル) を追加しました。レッスンは全 23 本、「作ってみよう」は 9 本です。
  • 「作ってみよう」の開始画面で、GND の記号がツェナーダイオードに重なっていた問題を直しました (ツェナー、エミッタフォロワ、直列レギュレータ)。
  • 部品作成フォームのエラーを、原因と直し方が分かる日本語にしました (例: 部品名が空のとき)。

互換性について

  • スペック表の保存のため、.schjson と .ccproj の回路図の部分に specs という項目が増えることがあります。古いバージョンで開くと、スペック表は無視されます (読み込みは失敗しません)。
  • 以前から入っている部品ライブラリの一部は、起動時に一度だけ更新されます (変更していない部品だけ。リード付きコンデンサの形など)。

開発者向け

  • 大きかったファイル (part_form、main、drc、view3d、lessons、challenge) を、役割ごとのファイルに分割しました。動作は変わりません。clippy の警告も整理しました。
  • CLAUDE.md を短いコードの地図にして、詳しい説明は docs/code-notes/ に移しました。

v0.1.0-alpha.4

v0.1.0-alpha.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 06:34

v0.1.0-alpha.4

アルファ版です。動作確認は Windows のみで、基板の発注の実績はまだありません (README の「現在の状態と既知の制限」を参照)。

基板

  • 多層基板に対応しました (2 / 4 / 6 / 8 層)。内層に配線とベタ (ゾーン) を置けます。自動配線、DRC、ガーバー出力、発注前チェックも内層に対応します。画面右上の「層」パネルで、作業層の切り替えと層ごとの表示/非表示ができます (L キーでも切り替え)。
  • 差動ペア: ペア配線、長さの差の点検、蛇行による長さ合わせ。
  • 押しのけ配線: 新しい配線で邪魔な配線を脇へ寄せます。
  • 自動配置は、部品の原点を 0.5mm の格子に合わせるようになりました。

シミュレーション

  • 過渡解析が、波形の曲がり具合を見て時間刻みを自動で細かくします。 指定した刻みは「最大の刻み」になりました。刻みを粗くしても結果が崩れにくくなります (オープンソースの ngspice と比べて、RLC のリンギングで誤差 5.45% → 0.06%)。設定画面に「過渡解析の刻みの誤差」を追加しました。
  • 熱電圧の誤りを直しました。 内部の定数が 0.05% 低く、ダイオードやトランジスタの電圧が約 0.3mV、電流が最大約 1% ずれていました。前のバージョンと比べて、数値が少し変わります。
  • 555 や充電 IC (IP2332、TP5100) のDC動作点が、解けるようになりました (スイッチで作った回路で収束しなかったため)。
  • 降圧コンバータのレッスンの効率の数値を、約 89% から約 91% に直しました (ngspice の結果は 91.6%)。
  • 過渡解析の時間軸は、等間隔ではなくなりました。

部品とサンプル

  • KiCad のシンボル (.kicad_sym) とフットプリント (.kicad_mod) を、部品として取り込めます。
  • 電源 IC、センサ (温度・光・電流)、リチウムイオン電池 (充電できるもの) などを追加しました。ライブラリは約 90 部品になりました。
  • サンプルを追加しました。降圧コンバータ (電解 / セラミックの比較)、コンデンサのインピーダンス比較、温度/光/電流センサ、リチウムイオン電池の充電 (TP4056 / TP5100)。
  • クイック追加 (A キー) で、部品を検索して置けます。部品作成フォームの並びを整理しました。

書き出し

  • SPICE ネットリストの書き出しで、MOSFET が 4 端子で出るようになりました。SIN / PULSE などの電源の値が、そのまま読める形で出ます (以前は他のシミュレータで読めませんでした)。

開発者向け

  • circuitCad --xcheck <ファイル|フォルダ> で、DC動作点 (電圧と電流) を ngspice と比べられます。--tran を付けると過渡波形も比べます。同梱サンプルは、ngspice と一致するものがほとんどです。結果と既知の差は CLAUDE.md にあります。ngspice は別に用意が必要です。

v0.1.0-alpha.3

v0.1.0-alpha.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 02:49

circuitCad v0.1.0-alpha.3

回路図 → SPICEシミュレーション → 基板 → ガーバー出力を1本でこなす、初学者向けのソフトです。アルファ版なので、動作や保存形式は今後変わることがあります。Windows 用のみです(下の zip を展開して circuitCad.exe を起動)。

部品の追加がかんたんになりました

  • 部品一覧: カテゴリごとに折りたたみ(件数つき)。☆でお気に入り、「最近使った部品」を先頭に表示。「一覧を広く」で高さを広げられます。
  • SPICEモデルを貼るだけ: .model / .subckt を貼る(または SPICE ファイルを読む)と、種類・モデル名・素子記号・ピン表・ノード順を自動で入力します。
  • チップ部品(コンデンサ・抵抗・コイル)をデータシートの数値からつくる: 値に ESR・ESL・DCR・並列容量・自己共振周波数・DCバイアスによる容量低下を足すと、実物に近いモデルになります。回路図ではコンデンサ・抵抗・コイルの記号で描かれます。見本 C_100n_0603、C_10u_0805、L_10u_0805、R_10k_0603 を同梱(数値は例です)。
  • インピーダンス表から ESR・ESL を求める: データシートの周波数特性から数点を書くと、最小二乗で求めます。共振付近の行が足りないときは注意を出します。
  • 標準のフットプリントを選べる: 0603・0805・DIP・ピンヘッダなどを、寸法を入れずに選べます。
  • USBポートなどの固定穴: 部品に付くめっきなしの穴(位置決め用)と長穴(めっきあり・なし)に対応。部品を動かす・回すと穴もついてきて、ドリルファイル(長穴は G85)にも出ます。部品作成フォームの「追加のパッドと穴」で、シェル脚・穴・面実装パッドを足せます。見本 USB_DEMO_TH(寸法は仕組みの見本です)。

故障・安全の解析

  • 故障後の回路に定格チェックをかけ、**安全度(安全 / 注意 / 危険)**を出します。
  • コイルの層間ショート(巻数の10・20・50%)と、連鎖故障の追跡(部品が順に壊れていく様子、ショートした巻線の発熱)。
  • レッスン22「コイルの層間ショート」(ヒューズの選び方つき)。

解析と基板

  • 過渡解析に平均電力と効率の表示。
  • 波形の**「前」との比較**(薄く残す)と、スペックの合否表。
  • 基板の配線の電圧降下(ネットの銅を抵抗の網として計算)。
  • ベタを実際の形で扱い、ガーバーと同じ結果で表示。発注前チェックに、放熱パッドのサーマルビア、ソルダーマスクの帯、ベタの細いかけら・島を追加。
  • 3Dプレビューの描画を改善(面の透け、銅の位置、選択の正確さ)。
  • 配線・ビアをパッドや線の端に吸着、部品の固定(ロック)、選択できる対象の切り替え。

学習

  • レッスン18〜22(直列レギュレータ、78xx、熱と定格、保護、コイルの層間ショート)と、作ってみよう(チャレンジ)8種と最終課題「安定化電源をつくる」。

注意

  • 受動部品のモデルは、温度による変化と、電圧による容量変化(DCバイアスは固定値の近似)を扱いません。
  • 同梱の見本部品の数値は例です。実際の部品のデータシートで確かめてください。

Full Changelog: v0.1.0-alpha.2...v0.1.0-alpha.3

v0.1.0-alpha.2

v0.1.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Oct 13:50

v0.1.0-alpha.1

v0.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Oct 11:30

What's Changed

  • 解析・故障シミュレーション・基板の配線の太さを追加(初学者向け計算ツールと整流レッスンつき) by @K2EXTER in #2
  • 学習から発注までの一本化: 解析の拡充・ライブラリ・自動配線・発注の導線 by @K2EXTER in #1

New Contributors

Full Changelog: https://github.com/K2EXTER/circuitCad/commits/v0.1.0-alpha.1