その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

Eagleを使った回路設計/基板作成のワークショップに参加してきました

FabLab鎌倉にて開催された『Rapid Prototyping Lesson03 : Circuit Design』という回路設計/基板切削のワークショップに参加してきました。


Eagle という CAD ソフトを使って回路図データをつくり、「MODELA」という切削加工マシンで基板を作成、はんだ付けしてプログラムを書き込むところまでを体験できるワークショップです。

きっかけ

最近 WHILLMoff といったハードウェアスタートアップをお手伝いしてるのですが、iOSエンジニアとしての立ち位置 ではあるので、なかなか回路設計まで自分でやる機会はありません。


とはいえ「回路設計ってどんなもんなのか」というのを一度体験してみたいとは思っていたので、こんなレアなワークショップはなかなかないかも、と参加した次第です。



以下、ワークショップでやった内容です。(+Eagleの使い方のメモなど)

Eagleを使って回路設計

パーツを置いていって(add, copy)、名前をつけて (label, name)、結線して (net) こういう回路図をつくりました。



回路部品のライブラリや、回路図はあらかじめ用意されたもの。



で、実際の基板を設計します。



route っていうコマンドで配線していくのですが、当然のことながら線同士が重なってはいけないので、部品を move コマンドで動かしたり回したりしつつ試行錯誤するのですが、これがコツをつかんでくるとなかなか楽しい作業でした。


「堤」って大きく書いてあるように、text コマンドで文字列も入れられます。

基板切削

MODELA で基板を切削します。


こんなのが出来上がりました。



自分で結線して、名前を入れたら愛着湧きまくりです。

はんだ付け

コンデンサ、抵抗、マイコン、電池ボックス、LEDをはんだ付けします。


プログラミング

Arduino UNO を書き込み器にしてプログラムを書き込みます。


とりあえずLチカの定番、Blink を書き込みました。



以上で出来上がり!



シンプルな基板ですが、マイコンがついてるので、余ってるピンに他のセンサやらアクチュエータやらつなげてプログラム書き込めばいろんなことができます。

Eagleの使い方メモ

以下作業しながらメモったもの。


※人に伝えるように書いたものではなく、内容の精査もしてないのでそのあたり差し引いてご参照ください。

新規回路図作成
  • 新規プロジェクト作成
  • 新規設計図(schemetic)生成
部品配置
  • コントロールパネル の [Libraries] > [use none] 選択(既存ライブラリの部品を使わないので)
  • useコマンドでライブラリを読み込む
  • addで部品を追加する(さっき読み込んだライブラリの部品も出てくる)
    • CAPA(キャパシティ)を置く
    • 置いたらesc
    • CR2032(電池ボックス)
    • Tiny138p3
    • 回転は2本指タップ
  • deleteで部品を消せる
  • move
  • copy
  • 全部いっぺんにうごかしたいときは group で選択して move 、右クリックで move group
結線
  • 線に名前をふる
    • label
    • name
    • 同じ名前をつけると、接続するかのダイアログがでる
  • 抵抗値をふる
    • value
    • 単位も入れる
      • 1uF
      • オームは opt + z で出てくる
      • (デフォルトがオームなので、入れなくてもよい)
  • ERC(Electric Rule Check)
    • エラーあるとダイアログが出る
    • うまくいくとダイアログでない(下部にNo errors/warningsって出る)
基板設計
  • 左上のほうにある [Switch to Board] ボタンをおす
  • ワークサイズを決める
    • gridコマンド
      • display onにする
      • size10mmにする
    • moveコマンド
      • 50x50の正方形にする(5マスx5マス)
    • gridコマンドでdefaultに戻す
      • 0.5inchごとのグリッドに戻る
    • この枠の中にあるものをイメージデータとして出力して切削することになる
  • moveでパーツを枠内に移す
  • mirrorで緑のパーツは反転させる
    • 実際は2列になってるの以外は変わらない
  • ratsnest
  • route
    • ripupで消す
    • moveで回転させつつ線がかぶらないようにする
      • 電池ボックスの白い線のとこはまたがってもよい
  • DRC(Design Rule Check)
    • Clearance
      • ドリルが通るかのチェック
      • 8milを0.4mmに変える
      • エラーがあればダイアログが出る
      • なければ下部にNo errors
  • 文字を入れる
    • textコマンド
  • polygon
    • 48 Document レイヤーを選択(使わないのでいつもこれを使ってる)
エクスポート
  • export(top)
    • displayでいったんnone選択 -> top, padsを選択
    • image
    • 800dpi
    • monochromeにチェック
  • displayでpads, dimentionを選択してまたエクスポート(holes)
  • displayでdocumentを選択してエクスポート(outline)

top, holes, outlineの3つのpngファイルができる

Arduinoからのプログラム書き込みのメモ

  • Arduinoで追加ハードウェアを認識させる
    • スケッチブックのフォルダ配下にhardwareフォルダをつくり、attinyフォルダごと置く
    • これでArduinoがattinyを認識できるようになる
    • attiny13が今回のボード
  • 配線
  • Arduinoを書き込み器にする
    • Arduinoの [File] -> [Example] > [ArduinoISP]
    • [Tool] -> [Board] -> [Arduino UNO]選択
    • [Tool] -> [Serial Port] USBポートを選択
    • 書き込むと、ArduinoUNOが書き込み器に変わる
  • 書き込む
    • [Tool] -> [Board] -> [ATTINY13] 選択
    • [Tool] -> [Programmer] -> [Arduino ISP]
    • [Tool] -> [Burn Bootloader]
    • エラーが出なければ書き込み準備完了

その他メモ

  • Eagleのライセンス
    • フリー版では10cm x 10cmまでの基盤をつくれる
  • Eagleの独自ライブラリを作成する
    • 既存ライブラリを開くと編集画面になる
    • ライブラリは パッケージ デバイス シンボルの3つにわかれている
    • デバイス 外装やレイアウトを定義するもの
    • シンボル 回路図用のファイル
    • パッケージ デバイスとシンボルを関連づける
  • 基板設計ソフト、KiCad ていうのを使う人も多い 有料

所感

my基板は我が子のようにかわいいです。プログラムや電子回路の知識は一切必要なかったので、ハードをつくる予定がなくてもとりあえず体験してみるのおすすめです。


次回 Lessone04 も同様に「Eagleで回路設計 〜 基板切削」とのことなので、興味のある方はぜひ参加してみると良いかと思います!


Rapid Prototyping Lesson04 : Circuit Design [Actuator] | Peatix