BROKEN's Advanced Vehicle Laboratory

プロジェクト / 小型ヒューマノイド2003 for ROBO-ONE

4.2 PIC実験用基板の作成

実験の目標は簡単に言うと、

  1. PICを使ってラジコンサーボを制御すること
  2. PC-PIC間でシリアル通信を行い、PCからラジコンサーボを制御すること
  3. マルチプロセッサ間通信を実現すること

の3点です。 3番目のマルチプロセッサ間通信のことはとりあえずおいておいて、まずはRS-232C通信とラジコンサーボ制御ができるようなPIC実験用基板を作成しましょう。

4.2.1 デバイスの選定

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あたりがよさそうな感じです。

PIC16F87xファミリーの主要機能
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 を使うことにします。

4.2.2 実験用回路の設計

使用するデバイスも決まったところで、ラジコンサーボ制御と通信の実験を行うための回路を設計してみました。


クリックすると大きな回路図になります
(この回路はHitech、Futabaのラジコンサーボに対応しています)
2003/3/25 ボタン入力を Active Low に変更

実は回路図を描いたのはこれが初めてなので、普段から回路設計をされている方から見たらヘボい図になっているかもしれません。が、これでちゃんと動いていることは確かです。サーボモータに負荷がかかったときに電源電圧が落ちたことを知るためのADや、基板のIDをあらわすための4回路DIPスイッチなどをつけ損なってしまいましたが、それはまた後ほどつけることにします。

△目次 / 4.3 基礎実験:delay関数を用いたLEDの点滅 >>