サルでもわかるエンジニアリング(生きた証拠がここに)

2017年2月2日

Mohamed Ismail 著者:Mohamed Ismail
 テクニカルサービス、テクニカルスタッフシニアメンバー、マキシム・インテグレーテッド


初めて自分でゼロからPCBを設計し、作成したのは、エレクトロニクスに関する私の経歴の中でも特に胸躍る出来事でした。同時に、ひどい有様でした。

大好きだったギターヒーロー(ギター形のコントローラを使ってロックミュージックを演奏するゲーム)に触発されて、私は弦のないギターを自分で設計したくなりました。夏期インターンシップの間に数種類のタッチセンサー技術に触れていたため、それほど難しくないだろうと思いました。エンベデッドCプログラミングの授業を受けたことがあり、Arduinoプラットフォームについても大まかに知っていました。I2Cというのが何かは知りませんでしたし、私が最終的に選んだセンサーがそのインタフェースを使うことも知りませんでしたが、容量式タッチセンサーのシールド(Arduinoボードに接続するように設計された特定機能ボード)と、そのセンサーシールドを動作させるためのオンラインのコードライブラリを見つけました。

シールドを動作させるのは簡単でした。ボードをコンピュータに接続し、容量式タッチシールドをボードに接続して、無変更のままのサンプルコードでマイクロコントローラをプログラムしました。ボタン押下を記録しているときに、初めてデータシートが用意されていることに気付いたほどです。エンジニアリングの容易さは、まさに私の机の上にある本のタイトルのように「サルでもわかる」ものでした。

最初のプロトタイプ設計 – 私がビギナーズラックの存在を信じる理由

概念実証の動作を数分で確認することができたため、いよいよ自分の回路基板を設計する番でした。ギターを手に取って、各フレット(個々の音程を区切るために使用されるギター上の間隔)の長さと幅を計り、その音程に関連する各弦の下の面積を概算しました。次に、Eagle CADツールをダウンロードし、無料の教育用ライセンスを使って回路図およびPCB設計を開始して、各弦の可動サイズに一致する金属パッドを製図しました。信号完全性やクロストークに関する知識がなかったため、48の金属パッドすべてを、長く、細い、密集したトレースで、PCBの反対側にある多数の容量性センサーチップに接続しました。すべての電源、グランド、および通信トレースが、同じように長く、細く、密集しており、リファレンスとして使用していたシールド上のピンに合わせて、それらを苦労して配線しました。オンラインのフォーラムで、I2Cデバイスは同じ通信ラインを共有することができるというのを読んでいたため、4つのセンサーを相互に接続しました。奇跡的に、各センサーと個別に通信するためのアドレス端子の接続方法を思いつきました。この時点で、私の回路図は容量性センサーシールドにほぼ合致し、レイアウトからは何のエラーも出なかったため、一度で完璧なものができたに違いないと考えました。

ギターヒーローをプレイするのが大好きだったことが、弦なしギターの設計につながりました。

ベアボーンPCBを割引価格で作ってくれる基板製造業者をネットで見つけて、ギターセンサー基板の作成を注文しました。基板はソルダーレジストやシルク印刷なしで作成されるということでしたが、それらが何なのか私が知っているわけがありません。必要な部品は、SparkFunとDigi-Keyで非常に簡単に注文することができました。

注文品がすべて到着し、基板上に全部品を取り付けようとしたところ、非常に大変だということがわかりました。それまで表面実装部品を使った経験がなく、Digi-Keyで最初に見つかったものを注文したのですが、こんな0402サイズのコンデンサをはんだ付けすることになるとは思いませんでした。あとになって、実際には色々なサイズのコンデンサがあることを知りました。容量性センサーICは20ピンQFNパッケージに封止されていたため、楽しみながらはんだペーストを塗り、使用するホットエアガンを探しました。上限温度や温度プロファイルが存在することも気にせず、はんだが溶けて部品がきれいに並ぶまで、私はそれらのチップに熱風を浴びせました。トレース上のはんだの表面張力で部品が勝手にきれいに並ぶと友人が言っていましたが、チップが所定の位置に滑り込むのを見るのは実に壮観でした。すべてが冷めてから、私は自分のやった作業を検査しました。あらゆる部分がはんだで埋まっていました。私ははんだ吸取線を使って見える限りの余分なはんだを除去し、ようやく再び端子間の区別が付くようになりました。すべての部品が基板に実装され、テストの準備が整いました。胸の高鳴る瞬間でした。

私の設計はなぜ動作しなかったのか?

カスタムボードがArduinoプラットフォーム内にきれいに収まったため、すべての電源をオンにしました。結果は非常に衝撃的でした。まったく何も起きなかったのです。回路図を正確にコピーし、すべての部品を基板に実装し、(書いたのは私ではないので)動作することがわかっているコードを使ったのですから、動かないのは変です。ロボットクラブの友人に見せると、バイパスコンデンサが1つもないじゃないかと言われました。バイパスコンデンサって一体何だ?偶然にも、私はICの近くにいくつか追加のグランドバッドを配置していました。ソルダーレジストのないベアボーンPCBを使っていたため、GNDパッドは露出しており、センサーICの近くにいくつかコンデンサを実装することができました。追加で少しはんだ付けをしたあと、もう一度ボードに電源を入れてみると、私にとってさらに衝撃的なことが起きました。今度は動いたのです。すべてのセンサーパッドを押すテストを開始し、ボタン押下を記録することができました。

それから6年が経ち、2つの学位を取得して電子工学とアナログ設計の知識を身に付けた今では、あのとき作ったものが動いたことがほとんど信じられません。もし今あのボードが出てきたら、それを見た私は間違いなくレイアウトのいい加減さにたじろぐでしょう。自分のボードが初めて不完全な動作を示したときになって、私はようやく実際にデータシートを開き、レジスタマップについて読み、I2C通信について調べ、バイパスコンデンサの使い方を知り、アプリケーションで最適に動作するようにセンサーチップを設定する方法を考えたのでした。

エンジニアの迅速な設計開始を可能にするもの

私の初めて経験したエンベデッドデザインの話は、ツールのエコシステムがエンジニアにとってどれだけ大切かを思い出させてくれます。必要なすべてのサポート情報が最初から提供されていたため、メーカーに連絡してサポートを求める必要は一度もありませんでした。すべてのツールが用意されているため、誰でもすぐに作業を開始することができます。

  • プログラマを内蔵したマイクロコントローラ開発ボード
  • オープンソース開発環境
  • 抽象的プログラミング言語
  • コミュニティによるコードライブラリ
  • 特定機能のリファレンスボード
  • YouTubeのビデオとGoogle検索
  • 無料のPCBソフトウェア
  • 安価な基板製造費

50ドルと電子工学に対する興味があれば、誰でもこれらの設計ツールをすべて入手し、部品を注文し、カスタムボードを作成することができます。このツールの組み合わせによって、その分野の専門家でなくても、はるかに多くの人々が電子回路を内蔵した製品のプロトタイプ作成と構築を行うことが可能になりました。たとえばマキシムは、「設計について」のウェブページで、技術資料、ビデオ、リファレンスデザイン、設計ツール/モデルなど、設計を開始するためのリソースを数多く提供しています。マキシムのEE-Simデザイン生成/シミュレーションツールに内蔵された機能を一切使用せずにスイッチング電源を設計することなど、想像も付きません。確かに、内部を詳しく調べるまで私のカスタムアプリケーションを動作させることはできませんでしたが、この新しいツールのエコシステムは、多くのクリエーター/作り手とICとの遭遇の仕方を大きく変化させました。