dsPIC/PIC24ライタを作ろう(ハードウェア編)

■dsPICモジュールの加工

まずはトランジスタ技術2007年8月号のdsPICモージュール裏面のパターンを忘れずにカットします(写真の赤丸)。
その後、連結ピンプラグを半田付けします。連結ピンプラグの太い足を半田付けします。細い足がICソケットに入ります。

■基板

ここではマルツの専用基板を使って製作します。

まずジャンパー線の位置を確認します(赤線)。7本あります。抵抗の余った足を使います。

シルク印刷と部品の対応表です(代替部品)。
1S15881S1588, 1N4148, 1S2076A
Z12VHZ12, RD12E, ツェナーダイオードはクラスわけされているものがあります。たとえばHZ12A2は11.9-12.4Vで最適です。
1S21S2, 1S3, 1S4, 11EQS04G, ショットキー・バリア・ダイオードはdsPIC30での電源不足を補うものです※。順方向電圧が低いものを使います。
※dsPIC30のバルク消去は仕様上VDD=4.5V以上必要ということになっていますが、それでは不十分で実際には4.8V以上必要です。

作業しやすいように背の低い部品から半田付けします。RS-232Cのピンが少し入りにくいですが、それ以外は簡単です。
以下の部品の極性に注意してください。部品の向きは写真を参考にしてください。

dsPICモジュールとADM3202をセットして完成です。
RS-232Cの留めネジは10mmを使います(部品表の誤りです。申し訳ありません)。留めネジをつけなくても強い力を掛けない限り、強度的には問題ありません。

DC電源はセンタープラスのACアダプタです。DC5.5V-7Vくらいが最適です。

■製作のポイント

動作しないとのことで様々な問い合わせを受けてきましたが、かなり初歩的なミスが多いことがわかりました。
そこでこのミスを防ぐべく、製作のポイントをまとめましたので活用ください。
思いこみがあるとなかなかミスに気が付かないものです。

●RS-232C
PC標準搭載のシリアルポート(RS-232C)は使用できません。
必ず、USBシリアル変換ケーブルを使用してください。
兆候としては dsPICer.exe の "Connect" 実行時に次のエラーメッセージを表示します。
"SetCommState Error=87"
これは通信速度230kbpsで通信できないときに発生します。
ソフトウェアが自動的に通信速度を設定します。そのとき設定できないのでエラーを出力します。

●電解コンデンサの極性
マイナス側に印があります。極性を間違えると、破裂などの危険があります。


●ダイオードの種類と極性
まずは種類を見分けてください。
スイッチング・ダイオード 1N4148(ガラスモールド、"4148"の刻印があります。黒い帯がカソード側です。)

ツェナー・ダイオード HZ12(ガラスモールド、"12"の刻印があります。黒い帯がカソード側です。)

ショットキー・バリア・ダイオード 1S2(黒い樹脂モールドです。白い帯がカソード側です。)

極性を確認してください。帯印があるのがカソード側です。
ダイオードはアノードからカソードに電流が流れます。一方通行です。
向きがわからない場合は実際に確かめましょう。
ダイオードの向きを間違えると動作しません。
特にショットキー・バリア・ダイオード(1S2)の向きを間違えることが多いようです。

●トランジスタの向き
2SC1815 と 2SA1015 の端子。

取り付け向きを間違えると動作しません。
写真を参考にしてください。
特に2SA1015の向きを間違えることが多いようです。

●3端子レギュレータの向き
48M05 と 48M033 の端子。

取り付け向きを間違えると動作しません。
写真を参考にしてください。

●抵抗
10K(金橙黒茶)

100K(金黄黒茶)


●インダクター
100uH(銀茶黒茶)


■改良編(dsPIC30のプロテクト解除問題対策)

dsPIC30の消去には仕様でVdd=4.5V以上とありますが、実際にはVdd=4.8V以上必要です。
dsPICerはICSPのVddをコントローラであるdsPIC30F2012のI/Oポートで制御しています。
dsPIC30F2012のI/Oポート出力能力は25mAあり、書き込み対象であるdsPIC30の消費電力が低い場合は4.5V以上を保つことができます。
ところが、ピン数の多いdsPIC30の消費電流は大きく、消去時のVdd電流が大きいため、Vdd電圧が低下する現象を発生します。
つまりdsPIC30F2012のI/Oポートのドライブ能力不足が発生します。
そこで、別のI/Oポートからショットキー・バリア・ダイオードD3経由で電流を補う対策を施してきました。
しかし最近の問い合わせ状況から、これでも完全な対策とはならなかったようです。
そこで根本対策を行うことにしました。
対策にあたってはできるだけ簡単かつ安価に行えることを考慮しました。
その対策はICSPのVddを74AC08でドライブするという簡単なものです。AND回路を4並列してドライブ能力を強化します。
CMOSのACシリーズはポートあたり24mAの出力能力がありますので、4並列で96mAのドライブ能力があります。

まずはドライブ能力を確認してみました。dsPIC30F2012のI/Oポート(Max25mA)と74AC08の4並列出力(Max96mA)を比較してみました。

大幅にドライブ能力を改善できることがわかります。74AC08を使えば、50mAのドライブでも4.8Vを確保できます。
ドライブ能力が必要なため、ACシリーズでなければなりません。HCシリーズでは能力不足です。
ACシリーズの動作電圧は2.0V-6.0Vであり、Vdd=3.3VでもVdd=5.0Vでも動作します。
全体の回路図です。

この改良により、dsPIC30のプロテクトは確実に解除できるようになりました。
注意事項としては74AC08のVCCは5Vと3.3Vで切り替えて使用できるように接続します。
この改善に伴うソフトウェア調整もしました。
基板例です。


専用二層基板を作りました。サイズは80mmx50mmですので、ほぼPICkit2と同じです。
dsPICモジュールの下に74AC08を配置しています。

小型になり、扱いやすくなりました。dsPIC30のプロテクト解除も確実に行えます。

(C)2008-2009 All rights reserved by Einstein. inserted by FC2 system