Workbench

日付

著者

Workbench

Quiltuino Unoのご紹介

日付

初回公開日

January 22, 2023

著者

レビュー担当者

シリーズ全体を読む

/ 6

この記事は、Quilterの物理法則に基づくレイアウト自動化を使い、NXP i.MX 8M Mini搭載コンピューターを再現した過程を詳しく紹介するシリーズの一部です。 

Arduino Unoは、電子工作の愛好家から専門家まで、試作プロジェクトで広く使われているオープンソースのマイクロコントローラ基板です。この分野に足を踏み入れた人が最初につくるプロジェクトになることも多く、さまざまな意味で、電気工学の世界における「Hello World」プログラムといえます。

そのため、Arduino Unoの設計は、Quilterにとって格好の出発点です!Quilterの生成設計が、人の介入なしに、Arduino Unoのレイアウト全体をゼロからコンパイルした過程をご紹介します。

An Arduino Uno design compiled entirely with Quilter's generative design engine.
Quilterの生成設計エンジンだけでコンパイルした、Arduino Unoの設計。

入力の準備

私たちはQuilterを、PCB用のコンパイラとして捉えています。回路図はコンパイルされる「コード」であり、基板が実行する論理を定義します。そしてレイアウトは、その論理を実行する物理的な装置を製造業者がつくるための命令群です。Cが機械語にコンパイルされるのと、よく似ています。

Arduino Unoには既存のオープンソース設計があるため、公式ウェブサイトで公開されている回路図を、そのまま使えます。

The schematics for the Arduino Uno ( source )
Arduino Unoの回路図 (出典)

回路図で記述される論理的な制約に加え、コンパイラにはいくつかの物理制約も指定する必要があります。具体的には、希望する基板外形と、コネクタの位置です。これにより、今回のUno設計は、元のUno向けにつくられた既存のシールドや筐体との互換性を維持できます。

これらを定義するには、外形を指定し、コネクタを希望の位置に配置した基板ファイルを作成するだけです。

The input file for Quilter's compiler.
Quilterのコンパイラへの入力ファイル。

この入力ファイルを詳しく確認したい方は、こちらからダウンロードできます。

Quilterの実行

ここからは簡単です!入力ファイルをQuilterのオンラインダッシュボードにドラッグ&ドロップし、魔法のような処理が進むのを見守るだけです。約1時間で、Quilterは数千の設計候補を検討し、最良の候補を提示します。

The best layout candidate generated by Quilter.
Quilterが生成した最良のレイアウト候補。

この設計を詳しく確認したい方は、こちらからダウンロードできます。なお、これは2023/03/09時点の最新設計であり、画像の設計とは一致しません。

設計ルールは どうなるのでしょうか?

コンパイラの例えを続けるなら、基板設計は機械語、製造業者はその機械語を実行する「プロセッサ」と考えられます。

異なるプロセッサを対象にコードをコンパイルできるように、Quilterも、製造業者ごとの具体的な製造能力を対象としてPCBレイアウトをコンパイルできます!

現在、QuilterはJLCPCB、PCBWay、OSHParkという3社の製造能力を対象にし、製造先の選択肢が最も柔軟な候補を提示します。上に示した基板は、このいずれの製造業者でも製作できます!

Quilterは出力ファイルに設計ルールを自動設定するため、ユーザーは独立してDRCを実行し、エラーがないことを確認できます。

製作してみましょう!

ハードウェアがなければ、ソフトウェアは面白くありません!もちろん、人の介入なしですべてのDRCを通過する、製造可能な設計ができると、すぐにガーバーファイルを製造業者へ送りました。Quilterが完全自律でコンパイルした最初の基板なので、どのように動くか、気が気ではありませんでした!

中央のマイクロコントローラー、USBコネクタ、DC電源ジャックを備えた実装済みQuiltuino Uno基板。
USBケーブルを接続し、表示LEDが点灯したQuiltuino Uno。
はんだ接合部、Quilterロゴ、ソフトウェアによるレイアウトであることを示す表記が見えるQuiltuino Unoの裏面。
Quiltuino Uno基板の裏面を縦向きに撮影した写真。

注:この設計は2022/09/14に、PCBWayのみを対象にできた旧バージョンのコンパイラで完成しました。この基板そのものの設計ファイルはこちらです。

テストしてみましょう!

「Hello World」の基板には、「Hello World」のスクリプトが欠かせません!Quiltuino Unoで実行してみましょう。

Hello World!
こんにちは、世界!

Quiltuino Unoが起動し、コンピューターに接続され、簡単なプログラムを実行できました!ただし、これではUnoのIO機能をあまり試せていません。そこで、これらをテストするため、Unoをタッチスクリーンシールドと組み合わせることにしました。

Quilterを実際に試す

Project Speedrunは、自律的なレイアウトの実際の姿と、Quilterが実現する時間短縮を示しました。次は、ご自身のハードウェアでお確かめください。

利用を始める

設計の検証

仕上げが完了したら、最後に確認するのはハードウェアが動作するかどうかです。電源投入時には電気的な不具合の多くが現れます。エンジニアにとって、緊張と期待が入り交じる瞬間です。

第4回に進む

設計の仕上げ

自律的なレイアウトにより、DRCを実施済みの完成した設計が得られます。仕上げは、製造に向けて最終調整するための短い精密な作業です。

第3回に進む

設計のコンパイル

設計の準備ができたら、次はQuilterに引き渡します。従来のワークフローでは、この段階でエンジニアとレイアウト担当者が設計意図を確認します。Quilterはこの打ち合わせを回路理解のプロセスに置き換えます。プロジェクトをアップロードし、制約条件がどう解釈されたかを確認して、ジョブを実行します。

第2回に進む