マイコン制御基礎の次

マイコン制御基礎の次(5)

回路図なんか怖くない!−「招き猫」回路を読む

みわよしこ(執筆協力:山本栄一、小椋秀一、宇野雄騎)  2009/10/19

自作のマイコン制御プログラムで実際にモノを動かしてみよう! 「マイコン制御基礎」第3シリーズでは、LEDの点滅とは一味違う、“ボクサーロボットの招き猫化”にチャレンジする。(編集部)

- PR -

 小学校の理科の授業に出てくる程度の回路図を読むのに苦労する人はいないだろう。しかし、何か実用的な役割を果たせるレベルの回路の回路図となると、途端に読む気になれなくなるのが通常の“初心者の心理”ではないだろうか? 「難しそうだな」と感じて尻込みするのは、当然といえば当然の反応だ。でも、近寄ってみる努力くらいはしてみようではないか!

 今回は、小難しそうに見える回路図を眺めてみるところからはじめ、「なーんだ! そんな簡単なことなのか!」という拍子抜けへと、読者の皆さんをお誘いしたいと思う。

回路図が読めなかった筆者

 筆者は小学校に入る前から電子工作になじんで育った。小学校高学年のころには、少年向け電子工作誌を参考にして、トランジスタを1個2個使って作れる単純な回路を組み立てて遊んでいた(部品点数は10〜20個程度である)。そのレベルの回路図だったら、当時の筆者にも「何がどうなっているので、この回路が動くのか」を理解することができた。

 その電子工作誌には、読者が投稿した回路をプロの設計者が批評・添削するコーナーがあり、高校生や大学生が投稿した力作がいくつも掲載されていた。部品点数は数百個に及んでいただろうか。当時の筆者にとって、彼らの力作はまったく理解の及ばない代物だった。正直なところ、「こんなものを読んで理解できる人がいるなんて、信じられない!」と思っていた。こんな複雑な回路を作る人、そしてそれを職業とする電子回路技術者という人種は、M78星雲からやって来たウルトラマンか何かのように感じていた……。

 いま同じ回路図を見ても、電子回路技術者と同じレベルでは読めないだろう。当然、独力で読みこなそうとすれば、多くの時間を要する……。しかし、いまの筆者には“大人の知恵”がある。その回路図を読む必要に直面したら、まず「回路図を作った人に話を聞く」「回路図の設計仕様書など周辺ドキュメントを入手する」という手段によって外堀を埋めるだろうう。

 そして、

  • その回路が何をするものなのかを理解する
  • その回路がどのような構成になっているのかを理解する
  • その回路の各部分がどのようになっているのかを理解する

という手順で、「なるほどね」程度の理解に至るだろう。

 それでは、詳細な理解に至れない? きっとそうだ。けれども、詳細な理解はプロフェッショナルに任せておけばいいのだ。重要なことは、そのときに、その道のプロフェッショナルと意思疎通が図れることだ。1人で全部を理解することは不可能だし、その必要もない。

 最近の携帯電話のソフトウェアのソースコードは1000万行にも達するという。そのソースコードを読まなくてはならない場合に、1000万行を冒頭から末尾までいきなり読もうとする愚か者はいないだろう。しかし、本格的な回路図に向かい合っていた小学生のころの筆者は、大規模ソフトウェアのソースコードをいきなり全部理解しようとする人と同じ種類の愚か者だったといえる。「全部を理解しなくちゃいけない」と思っても、個人が全部を理解することは不可能だ。そうであれば、「何をどこまでどう理解すれば十分」というラインを設定し、「それでよし」と割り切らなくてはならない。妥協といえば妥協であるが、「妥協しても困らないライン」の見極めにこそ、大人が知恵を働かせる余地がある。

 回路の誤動作は、場合によっては人命や社会へ深刻な被害を与えかねない。しかし、回路図に襲われて死んだ人はいない。「回路図は、回路ほどには怖くない」。自分にそういい聞かせて、回路図に向かい合ってみようではないか。

ブロック図で「分かったような気分」になろう

 しつこいようだが、本連載の目標である「招き猫」ロボットの動作の様子を再掲する。この「招き猫」ロボットの正体については、連載第1回を参照してほしい。

画像1 第3シリーズのゴール「招き猫」
※画像をクリックすると動画が再生されます(aviファイル)

 画像1の招き猫ロボットの動作の制御は、

スイッチが押されているかどうかの情報をマイコンに入力する」「マイコンからモータを回転させ続ける(回転を止める)ための出力を行う

だけで行われている。

 この制御システムをブロック図にすると、図1のようになる。たったこれだけ、なのである。

図1 招き猫ロボット制御システムのブロック図

 情報の流れは、

スイッチスイッチインターフェイスマイコンモータドライブモータ

の一方向のみである。目的とする制御のためには、これで十分である。この回路の構成と制御の流れは、小学校低学年の子供でも理解できるであろう。

回路図を眺めよう

 それでは、単にブロック図を見て「分かった気分」になって満足するのではなく、回路図を理解する糸口をつかんでみよう。

 まずは、回路図を眺めることからはじめるしかない。今回の「招き猫」の制御システムのうち、スイッチインターフェイス部分の回路図を図2に、マイコン周辺の回路図を図3に、モータドライブ部分の回路図を図4に示す。

図2 スイッチインターフェイス部分の回路図

図3 マイコン周辺の回路図 ※画像をクリックすると拡大表示します。

図4 モータドライブ部分の回路図

 回路図を見慣れていない方は、ちょっとおじけづかれるかもしれない。しかし、正直に白状すると、筆者も数カ月間「回路図を見る」から離れていると、このレベルの回路図でもおじけづいてしまう(大いに安心していただきたい)。

 ちなみに、この回路を自力で設計できるレベルとは、新卒・未経験でハードウェアの仕事に入って2〜5年目である。「理解できるようになりたい」「作れるようになりたい」と思いながら本稿を読んでいる読者諸兄姉は、「こんなもの、自分ではとても設計できない」と思われるかもしれないが、そのことに劣等感を抱かれる必要はない。

 自分が設計できないとしても、どういう回路であるかを理解すること、作ってみることならできるだろう。今回は最後に「P板.com」に発注を行うための回路データを提供する。やってみたいと思えば必ずできる(注)。安心していただきたい。

注:筆者らは実際に試作を行い、この回路の動作を確認している。しかし、「製作してみたが所期の動作をしなかった」「製作途中でケガをした」「製作に熱中していて予定を忘れた」「思いどおりに福が招けなかった」などなどの損害・損失に対しては、どのような保証を行うこともできない。すべて自己責任で作業をしてほしい。

回路図目線

 回路図は通常、処理ブロック単位で作成する。つまり、ブロック図で流れを理解し、それらに対応する回路を理解すれば、全体を理解できたことになる。

 次に課題となるのは、回路図をどのように読むかであろう。回路図では可能な限り、処理の流れを左から右に、電流の流れを上から下に書く。つまり左上から右下に目を動かすと、何がどうなっているかの大まかな流れくらいは理解できる可能性があるということだ。なお、電源そのものについては通常は記載せず、「VCC」「GND」のように記載する。話を「そこに電源が供給されたことにする」からはじめるためだ。電源の技術は独立した基盤技術で、考慮しなくてはならない問題が非常に多い。だからこそ、電源を何で・どのように作るのかという問題はいったん棚上げにしないと、回路の話ははじめられないのだ。

 とにもかくにも、左上を見てみよう。その辺りに「電流が流れはじめる」と「処理が流れはじめる」の2つの流れの入り口が見付けられるはずだ。

 そして、目線を右下に動かせば、電流と処理の流れが次の何かにつながる出口が見えるはずだ。

>>次ページで、回路図を読み解くヒント「回路図のどこを見ればよいか?」を紹介

  • 連載バックナンバー
  • 全記事インデックス
  • 組み込み開発トップ
  • MONOistトップ

スキルアップ/キャリアアップ(JOB@IT)

スポンサーからのお知らせ

- PR -
@IT Sepcial

震災関連・復興支援情報

震災関連・復興支援情報
@IT MONOist/EE Times Japan/環境メディアの製造業技術者向け3メディアを中心に、震災関連/復興支援情報を集めました

次世代エンベデッドコーナー

次世代エンベデッド
“次世代”の組み込み機器を開発するエンジニアを支援するコーナー。新潮流・新技術をインタビューやコラム、解説記事で分かりやすく紹介!

Windows Embeddedコーナー

Windows Embedded
Windows Embedded専門コーナー。Windows Embedded StandardやWindows Embedded CEをはじめとする「Windows Embedded」ファミリの最新動向や技術情報をお届けします!!

Androidコーナー

Android
Android専門コーナー。組み込みデバイスへの適用からアプリケーション開発、イベントレポート、ニュースなどAndroidに関するさまざまな技術情報がここに集結!!

@IT MONOist 求人情報

- PR -