自作コントローラにNexGuide接続端子を追加する計画を進めていましたが、
その過程で、NexGuideのマイコンを破損させてしまいました。
結果から言うと、修理完了してコントローラとの接続も出来ました。
なのでその過程を書きます。
NexGuideの4つの方向ボタンのうち、1つが反応しないという状況でした。
正確に言うと、常にボタンが押されている状態になっていました。
まず最初に、バッファと呼ばれるマイコンと外部接続機器(今の場合は自作モータードライバ)を中継するIC
の故障だと思い込んで、それを交換しました。
しかし改善されず、よく調べてみるとバッファの入力、つまりマイコンの出力の時点で異常が発生していました。
通常、ボタンが押されていないとき(ガイド補正なし)ではマイコンのポートはHigh
となるはずのところ、HighでもLowでもなく、オープン状態でした。
このようなことから、ポートが破損したと断定しました。
原因はおそらく、テスタを当てたことによるショートだと思われます。
こちらのブログに、マイコンのプログラムを読み出せるという情報がありましたので、
マイコンを交換することにしました。
http://plaza.rakuten.co.jp/startwaching/diary/201111270000/
しかし謎の付属品(プログラミングプラグ)がここで使われることになるとは思いませんでした。
必要になったものは以下の3点でした。
マイコン本体(LPC2132FBD64)、AliExpressで購入
USB・シリアル変換ケーブル、秋月で購入
Chipquik(表面実装部品用取り外しキット)、千石で購入
千石にはChipquikの他にサンハヤト表面実装部品取り外しキット
も置いてあったのですが、こちらは高いのでChipquikの方をおすすめします。
なぜかそれぞれ別の売り場に置いてあり、Chipquikはハンダ、フラックス売り場にありました。
まず、マイコンのプログラムを読み出す作業ですが、
上記のブログで紹介されていたFlash Magicというソフトを使用しました。
設定は以下のようにしましたが、最初の2つ以外はよく意味がわかりません。
デバイスをLPC2132、
COMポートを変換ケーブルで割り当てたポートに(デフォルトではCOM3でした)、
BaudRateを9600、
InterfaceをNone、
Oscillatorを12MHz
あとは、File→Save Asで、0~FFFFFFの範囲を"適当な名前.hex"として保存。
交換後のマイコンへの書き込みは、保存したhexを読み込んでStartを押すだけです。
くれぐれもオリジナルのhexファイルを消去しないようにしてください。
書き込み時のオプションは何も選択しないでうまくいきました。
ちなみにVerify after programmingを選択するとエラーが出ました。
故障マイコンの外し方は、取り外しキットを使ったのですが、
4辺を同時に溶かすのは難しかったので、錫メッキ線を外周に沿った形状に曲げ、
その熱伝導を利用しました。
一辺を熱していると徐々に辺に沿って融けてゆき、反対まで達すると自然に部品が浮き、外せるようになります。
その後部品をどうやってつまみ上げるか考えておいたほうが良いです。
その他のコツは、付属のフラックスをまんべんなく塗ることですね。(塗ったところしか特殊ハンダは馴染みません。)
あとハンダを多めに盛ったほうが固まるまでの時間が稼げそうです。
そんなわけで、これまでにコンデンサ、バッファ、マイコンを交換し、どうにか使えるようになりました。
余計なことをして壊さなければこんなに苦労しなくて済んだんですけどね。