実験の目標は簡単に言うと、
の3点です。 3番目のマルチプロセッサ間通信のことはとりあえずおいておいて、まずはRS-232C通信とラジコンサーボ制御ができるようなPIC実験用基板を作成しましょう。
PICの使い方を説明した本を見ると、多くはPIC16F84Aを例にして説明しています。しかし、16F84Aはシリアル通信に使うモジュールが組み込まれていないため、通信には向きません。そこで、通信モジュールがあるもののなかかなら、大きさ、価格、性能のバランスを考えてデバイスを選定することにします。
| 優先順位 | 項目 | 性能 | 備考 |
| 1 | 通信速度 | 調歩同期方式 38.4Kbps以上 | 20ms以内に最大36個のサーボ制御信号を送れる速度 |
| 2 | 大きさ | DIPでできる限り小さいこと ただし、最低24pinはあること |
電源、グランド、クロック入力(3)、通信(3)、AD、 サーボ制御信号(6)、4回路DIP SW(4)、LED(4)等を予定 |
| 3 | 価格 | ¥1,000−以下 | 秋月で買えば1個800〜950円 |
条件に合いそうなPICを、クロックが20MHzでUSARTを持っているあたりで探してみると、PIC16F873〜877Aあたりがよさそうな感じです。
| PIC16F873A | PIC16F874A | PIC16F876A | PIC16F877A | |
| 動作周波数 | DC - 20MHz | |||
| Flashプログラムメモリ ( x 14bit word) |
4K | 8K | ||
| データメモリ (RAM, bytes) | 192 | 368 | ||
| EEPROMデータメモリ(bytes) | 128 | 256 | ||
| I/Oポート | Ports A,B,C | Ports A,B,C,D,E | Ports A,B,C | Ports A,B,C,D,E |
| シリアル通信 | MSSP(I^2C, SPI), USART(SCI) | |||
| 10bitAD変換モジュール | 5ch | 8ch | 5ch | 8ch |
| パッケージ | 28pin PDIP 他 |
40pin PDIP 他 |
28pin PDIP 他 |
40pin PDIP 他 |
上の表を眺めてみると、876と877の方がメモリが大きいようなのでこちらが良さそうです。値段の差は200円もありません。ポート数は多いほうがありがたいのですが、ポート数が多くなるとパッケージも大きくなってしまい、基盤をコンパクトにまとめられなくなる恐れがあります。(表面実装をするなら別ですが。) ということで、28pinのPIC16F876A を使うことにします。
使用するデバイスも決まったところで、ラジコンサーボ制御と通信の実験を行うための回路を設計してみました。

クリックすると大きな回路図になります
(この回路はHitech、Futabaのラジコンサーボに対応しています)
2003/3/25 ボタン入力を Active Low に変更
実は回路図を描いたのはこれが初めてなので、普段から回路設計をされている方から見たらヘボい図になっているかもしれません。が、これでちゃんと動いていることは確かです。サーボモータに負荷がかかったときに電源電圧が落ちたことを知るためのADや、基板のIDをあらわすための4回路DIPスイッチなどをつけ損なってしまいましたが、それはまた後ほどつけることにします。
△目次 / 4.3 基礎実験:delay関数を用いたLEDの点滅 >>