CNCでの基板作成の練習をしている話の続き(といいつつ、仕事で1週間ほど出張に行っていたので前がどこまでやったか忘れちゃった!)です。
基板を切削してみたものの、一部Gコードになっていないパスができちゃったということで、そのまま半田づけをしても余計面倒なことになりそうなので、修正をしようと考えました。銅箔パターン図を見るとちゃんとArduinoのページにある通りの銅箔なので、Gコードの生成をしているULPに問題があるんだろうな、ってことで、他の方法でGコードを生成してみることにしました。
使ったのは、pcb-gcode というulpのセット。
これでG-CODEを生成させて、Optiという最適化ソフトで最適化します。
そのうえで、Gコードをチェックして前の切削がされていなかったパスを探してその部分だけを抜き出して追加の切削をしました。切削されていなかったパスは2本だけでしたが、探すのがかなりめんどくさかったです。また、前のGコードと座標が違うので、位置合わせをするために穴を一つ選んでG-CODEに追加、その場所を基準にすでに切削してあるパターンと追加切削のパターンを合わせこみました。

追加切削をやり、基板部分を切り出せるよう切削をしたところ。
基板は両面テープで張っていますが、これをはがすのにえらい苦労した。みんなどうやっているのだろうか。。。
一部基板を痛めてしまったので補修をしつつ、パーツを載せてArduinoボードを作ってみました。
部品をひたすら半田づけをしていきますが、私はこの作業を「半田セラピー」と呼んでいます。ああ、癒されるひととき・・・


部品は、ジャンク箱の中から漁って拾い出したので28pin 幅狭DIP ICソケットやジャンパピンやら、1列ピンソケットなどぴったりくるのがなく、適当にあるのから切り出して作りました。
また、パーツを乗せて半田づけしてから、部品の背が高くてシールドと干渉しそうなことが分かり、部品の取り付け方を縦から横に変更したり、それなりにハマりました。あ、そうそう。このボード、RS232Cの通信にトランジスタをPNP,NPNそれぞれ1個ずつ使っているのだけど、イタリア(?)製の基板なので、使用しているトランジスタが2SC1815, 2SA1015とかじゃなくて謎のTRなのはいいけど、ECBの並びじゃなくてCBE というもっとも収めにくい順序になっていたため、2SC1815をツイストする羽目になってしまいました。
ハードもハマったのですが、ソフトもなかなかハマりまくり(まだハマっているところだけど、忘れたら困るのでメモとして書いておきます)。
まず、ATmega328PにArduinoのブートローダーを書き込もうと思ったら、Arduino IDE, Atmel Studioのどちらでも、AVRISP mkII が認識できてない。Atmel Studioでできないのは、OSがWindows8.1 になって、ドライバーに問題が出ているためのようで、デバイスマネージャのJungo Connectivityというところにあるデバイスのドライバ更新をやり、デバイスの一覧から、Jungo ConnectivityのWINDriverというのを選んだら、Atmel Studio からはAVRISP mkIIを使ってAtmega328pに接続できるようになった。
Arduino IDEから書き込みができないのは相変わらずで、ブートローダーの書き込みをしようとすると、avrdude: usbdev_open(): did not find any USB device “usb”
というエラーがでてしまう。
いろいろググってみたけど、いまだ問題解決せず。Atmel studio からブートローダーを書き込めばいいような気がするけど、まだやり方がわからないし、どのブートローダーが適切か調べないとなあ、と思ったところで、今日はおしまいにしました。

こんな感じでつないでます。
とりあえず、LEDチカチカをやって動作確認までしたかったけど今日は挫折。