なお、まだハードウェア設計のみで、ソフトウェアはこれからです。
想定されるリスクは、モータドライバ(BD6231F)のデッドタイムが0.4usなので、これで誤作動や問題が起きないかというところです。1%〜2%程度の瞬時電圧低下なので、少し大きめのACアダプタ(19V程度)を使えば問題ないと思っていますが、さてどうなることやら。
設計にあたって、以下のような手順で作業しています。
・コンセプトを検討
Arduinoで使えて、60113が無くてもMM2/DCC鉄道模型を制御できるシールド(拡張基板)をコンセプトにしました。
マイコンの書き込みはよく悩ましいところなので、Arduino経由で書き込みできるように、Arduinoと全く同じAVRをマイコン(ATMEGA8シリーズ)として採用しています。シールド上にマイコンが載っていますが、オリジナルのソフト(DCC/MM2の信号を送る機能)を書き込みます。Arduinoのマイコンではないので注意が必要です。
・BSCH3Vで回路図を設計
・MBEでガーバーを設計
ミニマムルボードエディタでガーバーを作るためのPCBレイアウト(アートワーク)を行いました。

(0) ライブラリを入手して登録する
たとえば、以下のサイトでライブラリが入手できます。
・Recny
・岡山大学ロボット研究会
・PG-Tech
・アナログシンセ掲示板
(1) 外形図を書く
Arduinoの枠を作られている方がいます。それを流用すると楽です。
なお、ピンは位置にバグがあるのでいったん直さないとダメでしたが。
(2) 部品を配置する
他の人が作ってくれたライブラリを有効活用する事で、大幅に作成時間を短縮化できます。
配置の間隔や位置は、ピッチで調整しながら行います。
(3) 未登録部品は自分で穴を置いて作る
どうしても無いものもあります。今回は、発振子の部品が無かったので自分で長さを調べて穴を指定しました。
なお、基準点を毎回きちんと描いた部品の近くに指定して、Componentingしないと、あさってな所に部品番号が表示されてどうにもならなくなりますのでご注意を。
(4) 配線する
レイヤーをまたぐ配線の場合は、ビアは自分で指定しないといけません。配線上は繋がって見えるんですけどね。
ビアは、穴のサイズを線の太さに合わせて調整してまたぐところに置いてあげます。
(5) DRCをする
配線や部品の間隔が適切か自動チェックできます。私は標準設定(0.2mm)でチェックしました。
(6) ネットリストで回路図と整合しているか確認する
回路図と全く同じようにピン番号と部品名(IC1,C1,R1など)を割り当てると、BSCH付属のNL3Wで吐き出したネットリストと、MBEのネットリストがフリーのネットリスト比較ツール等で照合できます。今回、完全に一致するように設計しました。抵抗や無極性のコンデンサなど極性の無いやつも合わせました。
nl3w(BSCH用ネットリスト生成ツール):

yfnetdiff(水魚堂さんで配布されているyfnetdiffの改造版):

(7) GNDベタ
ポリゴン機能を使って、CMP(部品面)やSOL(ハンダ面)に、ベタを描きます。
基板の周りをポリゴンで囲って、GNDをターゲットに設定すれば勝手に塗りつぶしてくれます。
・基板作成業者FusionPCBへの発注
CAN-BUSシールドでいつもお世話になっている(全く違う部品が来てクレームした事もありました・・・)Seeedstudioが運営する基板作成サービスです。
今回は、最小限の5枚作成することにして、10cm×10cm以内の基板サイズに該当するので、およそ21米ドルに送料9米ドルで、合計30米ドルでした。本日のpaypalのレートで円にすると3200円弱という金額となりました。
ユニバーサル基板でボードを試作するのがアホらしくなるくらい安いです。一枚650円程度です。Prototype Shieldが買えてしまいますね。回路設計が出来る人は、即、シールドをBSCHやMBEで設計してFusionPCBに発注する事をお勧めします。
こんな気軽にサクッと基板設計が出来て、発注も簡単で、価格も激安と、凄まじい時代になっていたとは知りませんでした。
今後は、ガンガン設計して作って行きます。作ったものは、ある程度バグ取りをして熟成すれば、キットとしての配布も検討しています。