PIC開発用の回路とあったら便利な道具

前回の投稿ではPICを用いたテスト用回路を使用しました。今回の投稿では、この回路について掘り下げたいと思います。

早速ですが、前回の回路はこちら。

開発用回路(仮)

回路図

前回はシリアルデータ転送できるだけのシンプルな回路にしましたが、実は私がいつも使用している回路にはもう少しパーツがあり、さらに測定器も接続されています。かなり前の記事なのですが、「Raspberry Piでの電子工作にあたって購入した道具」では、電子工作をする上で購入した材料や道具をご紹介しました。あれから既に5年が経ち、使っている道具も少しずつ変化しました。今回はそれらについて解説したいと思います。

私が使用しているPIC用回路はこちらです。開発最中なので、説明していないものも刺さっていますが。(^^;

開発用回路 v1.0.5 実物

開発用回路のみをFritzingで清書すると、このようになります。

開発用回路 v1.0.5 ブレッドボード

開発用回路 v1.0.5

まずはPICkitと回路をつないでいるケーブルの作り方から説明します。

ケーブルの自作

5年前にはワイヤーストリッパーを紹介しました。それは今もよく使いますが、現在ではこちらも多用しています。

PA-21

これはケーブルの端子を作成する工具です。マルツパーツ館で購入しました。他にも以下の材料が必要です。

ワイヤー自作材料

左上 TJC8コネクターオス (秋月電子 C-09247) メスもあります。 (秋月電子 C-09248)

左下 QIコネクター1×6 (千石電商 2550-1×6)

右上 より線ワイヤー AWG24(?)、外径1.3mm (千石電商 測り売り KV0.18)

右下 熱収縮チューブ 直径1.5mm (秋月電子 P-06788)

これらのサイズを購入しておけば、ピッタリのものができます。

作り方

ワイヤーをワイヤーストリッパーで3mmほど剥ぎ取り、TJC8コネクターへ挿入します。そのままPA-21でかしめます。

カシメているところ

PA-21の幅が狭いので、1握りでは前方しかかしめられません。後方へずらして再度かしめてください。

次に強度アップのため、より線部分をはんだ付けします。写真がありませんが、より線の上から半田ごてをあて、はんだを少しだけ染み込ませるようにします。

オス端子を作る場合は、熱収縮チューブを被せて半田ごてでササっと加熱します。

オス端子

ピンヘッダへ接続できるオス端子を作る場合は、QIコネクターへ挿入します。

ピンヘッダへ接続できるオス端子

上段の赤い方は挿入前、下段の白い方が挿入後です。少し入れづらいことがあるので、あらかじめツメを浮かせておくといいです。

ツメを浮かせているところ

作成したケーブルはこちら。

ケーブルとPICkit3

PICkitへ挿入したところ

このケーブルをいくつも作ってみました。

開発環境とケーブル

このようにブレッドボード、PIC、ケーブルをセットで作り置きしています。PICで開発していて問題が発生すると、ちょっと前に作った環境に戻ってみたい、ということがよくあります。そういう時に簡単にPICkitを差し替えてテストすることができるようになりました。

ピンそろった

ピンそろった

これはICチップの足を少し内側へ曲げる道具です。このようにICをはさみ、グリップを握ります。

ピンそろった (表)

大きいICも対応します。

ピンそろった (裏)

ICチップの足はハの字になっています。そのため、ブレッドボードや基板へ差し込む時には、少し内側へ足を閉じる必要があります。この道具を使えば、足を一度に綺麗に閉じる事ができます。これはマルツパーツ館で購入したかと思います。

ピンヘッダ

ピンヘッダ

これはピンヘッダです。回路にはんだ付けするものとは異なり、長さが15.1mmと長めになっています。秋月電子で購入できます。(両端ロングピンヘッダ C-09056) 後述のロジックアナライザーをひっかけるのに便利です。

スイッチ

スイッチ

ICSPDATとICSPCLKを橋渡しする部分にあるスイッチは、秋月電子のSS-12D00-G5 (P-08790)です。今後RA0とRA1に何か機能を持たせたい場合は、スイッチがあればPICkit3を接続したり切り離したりするのに便利です。機能を持たせない場合は不要です。

クリスタル(水晶発振子など)

よくCPUが何GHzと言いますよね。例えばクロックが2.8GHzのCPUの場合、1秒間に2.8ギガ回(28億回)のクロックパルスが生成できる能力があります。性能は異なりますが、クロックパルスを生成するのが以下のパーツです。

左から水晶発振器、水晶発振子、セラミック発振子

大まかな違いは以下の通りです。

名称 足の数 特徴
水晶発振器 4本(1本は未使用) VDDとVSSが必要。他に必要なデバイスがない。水晶発振子よりも値段が高い。中には水晶発振子と回路が入っている。
水晶発振子 2本 PICなどのデバイスがないと駆動しない。別途コンデンサが2個必要。
セラミック発振子 3本 PICなどのデバイスがないと駆動しない。コンデンサが不要。水晶発振子より精度が落ちる。

水晶とは鉱石の水晶で、クリスタルとも言われます。クリスタル、というと、私はファイナルファンタジーを思い浮かべます。(^^;; 魔法で何かを生成するみたいで面白いですね。クリスタルに電圧を掛けると、左右に物理的に振動するようです。その振動と同時に電圧も上下するので、それをクロックパルスとして利用するようです。

CPUや最近のPICは、これらのパーツがなくても動作します。クリスタルが内蔵されているのだと思います。以前のPICではクリスタルを購入して回路へ追加する必要がありました。しかし、PICで正確な時間をカウントしたり、スリープ状態から一定時間後にレジュームしたりするには、外部からクロックパルスを与える必要があります。

RSコンポーネンツ水晶発振器のページでは、様々なスペックのものが販売されています。

ロジックアナライザー

saleae Logic8

この機械はロジックアナライザー(以下ロジアナ)といい、電圧の変化を記録してグラフ化します。その周りにあるのはプローブといって、引っ張ると電極がツメのように出てくるので、それを引っかけて使用します。

引っかけたところ

製品に付属しているプローブは一度に8本脱着するため不便でした。そこで、この写真のように短くて単独で脱着できるものを自作しました。クリップ部分は秋月電子のICクリップ(P-06345)を使用しました。反対側は前述のQIコネクタです。やっぱりケーブルを自作できると便利です。\(^o^)/

先程の水晶発振器を計測するとこうなります。

水晶発振器(8MHz)の発振

8MHzとは1秒間に8,000,000回の振動を意味します。1回の振動の長さは1/8,000,000 =0.000000125秒(s) = 0.000125ミリ秒(ms) = 0.125マイクロ秒(us) = 125ナノ秒(ns)です。

グラフでは、電圧が60ナノ秒で高くなり、さらに60ナノ秒で低くなっています。合計すると120ナノ秒なので、ほぼ計算通りです。測定場所によりますが、測定値は60ナノ秒だったり70ナノ秒だったりしますが、その2つしかありません。恐らく私のロジアナの分解能は10ナノ秒なんだと思います。(10ナノ秒より細かく計測できない)

このsaleae Logicは秋月電子で販売されています(M-08975)。私は2017年1月に購入しましたが、当時は28400円でした。今日見たら48500円になっており、若干引いています。(^^;;

価格は当時でもちょっと高いと思いましたが、買ってみて大正解でした。次回掲載予定のI2C通信が手に取るようにデバッグできるようになりますし、原因不明な電圧の変化を発見できるようになりました。アプリの出来がとてもよく、サクサク使えます。無料の評価版があるので、是非使ってみてください。また製品を購入したら、接続するだけでそのまま評価版が本番に変わるので便利です。!(^^)!

ちなみに交流モードもあります。先ほどの測定を交流で行うとこのようになりました。

水晶発振器(8MHz)の発振 (交流モードでの測定結果)

綺麗な波ですね・・・。

ちなみにsaleae Logicを購入する前はこれで頑張っていました。

LCDオシロスコープキット

これはロジアナではなくオシロスコープです。オシロスコープが何なのかわからないために購入してみました。結構高いものばかりのなか、これは5000円位だったので、試しに購入してみました。勉強にはなったのですが、実用することはほぼありませんでしたが。ちなみにこれは秋月電子のLCDオシロスコープキット (K-04279)です。

他にもRaspberry Piとexcel、ビジースリーププログラムの組み合わせで四苦八苦していたのもいい経験になりました。(^^;; 詳しくは「Raspberry PiでRHT03を制御する」を参照してください。

コメントを残す

頂いたコメントは見逃さないようにメールでも送られるようになっています。