Robot Watch logo
記事検索
バックナンバー
【 2009/04/17 】
月刊ROBOTウォッチング
~心機一転、MANOI企画設立!
[12:03]
【 2009/04/15 】
ノモケンの「素組でロボット」
バンダイ 1/100スケール MG「RX-78-2 ガンダム Ver.2.0」(その2)
[14:24]
【 2009/04/09 】
ノモケンの「素組でロボット」
バンダイ 1/100スケール MG「RX-78-2 ガンダム Ver.2.0」(その1)
[15:40]
【 2009/04/06 】
世界最小級の二足歩行ロボット「ROBO-Q」レビュー
~全高3.4cmの超小型ロボットが自律動作する!
[14:09]
【 2009/04/03 】
石井英男のロボットキットレビュー
ヴイストン「Beauto Balancer」
~倒立振子制御を手軽に学べる工作キット
[12:59]
【 2009/03/27 】
通りすがりのロボットウォッチャー
男の憧れか? 女性型ロボット
[01:19]
【 2009/03/24 】
「新型ASIMO」のフィギュアが登場!
~フィギュアで実感、ASIMOの進化~
[02:00]
【 2009/03/18 】
ノモケンの「素組でロボット」
バンダイ 1/72スケール「VF-25F メサイアバルキリー アルト機」(その3)
[14:28]
【 2009/03/11 】
ノモケンの「素組でロボット」
バンダイ 1/72スケール「VF-25F メサイアバルキリー アルト機」(その2)
[00:05]
【 2009/03/06 】
月刊ROBOTウォッチング
~2月はエンタメ路線を爆走!?
[11:31]
【 2009/03/04 】
ノモケンの「素組でロボット」
バンダイ 1/72スケール「VF-25F メサイアバルキリー アルト機」(その1)
[13:05]
【 2009/02/27 】
通りすがりのロボットウォッチャー
脳とロボットを直接つなぐBMI
[00:10]

芝浦工大「大人のためのロボットセミナー」レポート

~ワンチップマイコンで8足ロボットを自作する
Reported by 井上猛雄

芝浦工大のロボット教育の取り組み

講師をつとめた芝浦工業大学の安藤吉伸氏(工学部 電気・情報系 電気工学科 助教授)。実際の製作に先だち、今回のロボットに関する概要や、同校のロボット教育の取り組み、ロボットの基礎知識などを解説
 芝浦工業大学は、社会人を対象としたロボット工作教室「大人のためのロボットセミナー」を、6月24日、7月1日、7月8日の3回にわたって実施した。同セミナーは日本科学未来館「友の会」会員を対象にした有料の特別企画である。

 会場となった芝浦工業大学生涯学習センターでは、社会的貢献事業の一環として、「ロボット教材を用いた創造性教育の総合的取り組み」を実施している。国内各地の教育委員会と協力し、小中学生向けのロボットセミナーや、高校生向けのライントレースロボット講座、さらに今回レポートする大人のロボットセミナーなど、レベルに応じた創造性カリキュラムを開発している。この創造性教育の取り組みが評価され、同校では2003年度のグッドデザイン賞(新領域デザイン部門)を受賞している。

 大人のロボットセミナーは、ワンチップマイクロコンピュータを利用した多種目競技用の8脚歩行教材ロボット「SPIDER」を1から組み立てながら、コンピュータの基本原理や、ロボットの機構部の仕組み、C言語によるプログラミング、制御工学などさまざまな要素技術を学習できるように工夫されている。

 とはいえ、「大人~」と銘打つだけあって、その内容はとても濃く、充実したものとなっている。実際このセミナーの内容は、芝浦工業大学の授業に取り入れられており、工学部の学生の教育に大きな効果をあげているという。

 なお、「SPIDER」は、下諏訪町工業振興協議会が機構部の開発を行ない、有限会社サカヅメエンジニァリングが設計・製造を担当、芝浦工業大学の事業法人エスアイテックにてキットが販売されている。

 第1回目のレポートでは、セミナー初日に行なわれたワンチップマイコンボードの製作について、実際の製作過程を見ながら、その仕組みを解説していこう。


芝浦工業大学で実施されている「ロボット教材を用いた創造性教育の総合的取り組み」。少年・少女から大人まで、さまざまな教育プログラムが用意されている 今回のセミナーで製作する8脚SPIDERロボットの説明。自律型とするため、ワンチップマイコンボードと電池を上部に搭載する。脚の駆動にはDCモータを用い、左右の脚の回転数を変えることで進行方向を制御する仕組み

ロボットに搭載するワンチップマイコンボードの一例。写真の専用ボード「PIC CPU Board 2003」は、ライントレース用に開発されたもの。PIC回路パターンに、ラインをトレースするためのモータ駆動回路やセンサ回路を搭載できる汎用パターンを持っている。今回のセミナーでは別のボード「PIC Motor Driver Board 2003」を利用。これらはエフテックで購入することができる セミナーの模様。大人のロボットセミナーだけあって年齢層はかなり高いが、参加者の8割がたはプログラミングの経験があると回答。ハンダ付けの経験が豊富な方も多数参加していた。また親子での参加もあった

頭脳となるPIC、心臓となる発振器、足回りのモータドライブIC

 ワンチップマイコンボード製作の前に、まずキットに同梱されている重要な電子部品について紹介する。

 必要となる電子部品は【表1】のとおり。これらのうち、特にポイントとなる電子デバイスは、発振素子とマイクロコンピュータ、DCモータ駆動ICだ。

部品名型番
マイクロコンピュータ(U1)PIC16F84A-20P
ICソケットDIP-18P
セラロック(X1)ZTT20.00MX
リセット(SW1)/スタート(SW2)用スイッチいずれもAP-402(50mA,12V)
電源スイッチ(SW3)Q22(3A120V)
電源表示用LED1用抵抗(R1)1kΩ
リセット回路抵抗(R2/R3)20kΩ/680kΩ
スタート回路抵抗(R4/R5)10kΩ/200kΩ
ライタ回路抵抗(R6/R7)10~100Ω
LED用抵抗(R8)1kΩ
LED(電源表示用/プログラム用)GL3KG8/GL3PR8
ダイオード(D1/D2/D3)1SS133
電解コンデンサ(C1/C4/C8)50V 10μF/16V 330μF/16V 180μF
積層セラミックコンデンサ(C2/C3/C5~C7)いずれも50V 0.1μF
モータドライヴIC(U2/U3/U4)TA7257P
電池ボックス単三電池×4本用
(*)今回は3端子レギュレータ(U5)は使用しない
【表1】ワンチップマイコンボードの製作で必要となる電子部品の一覧。今回はモータ駆動用のドライバーICは2個だけ利用する


 「セラロック」は、マイクロコンピュータを動作させるための発振素子で、一定の周波数の信号を出力して、基本クロック信号をPIC側に供給する。いわばマイコンが頭脳とすれば、セラロックは心臓のような役割りを果たすものだ。今回はPICの仕様に合わせて、20MHzのクロックを発振する素子を採用している。このクロックに同期する形でPICが動作する。一般に発振用の素子はセラミック振動子と水晶振動子に大別できる。水晶振動子のほうが精度は良いが、電圧制御発振回路で周波数を可変をする場合には、セラミック振動子の方が広い範囲で可変できるメリットがある。


発振周波数20MHzのセラロック。CPUは基本となるクロックに同期した形で動作する。人間の体でいえば、セラロックは心臓、CPUは頭脳にあたるもの 東芝製のDCモータ専用ドライブIC「TA7257P」(後方に直立している2つのIC)。このチップでモータに流れる電流の方向を切り替える。今回のボードでは3つのDCモータ専用ドライブICを搭載できるように設計されているが、利用するのは2つのみ

米マイクロチップテクノロジーのワンチップマイコン「PIC16F84」。コンピュータの周辺機器との接続部分を制御する。メモリとしてEEPROMを内蔵しているため、何度でも(公称1000回)プログラムを消去して簡単に書き換えられる。また、プログラマブルな入出力ポートを備え、LEDも直接駆動できる。外形は種類により、18/28/40ピンDIPがある。PIC13F84は18ピンDIPだ

 「TA7257P」は、東芝で発売しているDCモータ駆動用の専用ICだ。これは、いわば足回りとなるエンジンの駆動・制御部分にあたるもの。通常、DCモータを駆動・制御するためには4つのトランジスタをブリッジ状に組んで、モータに流れる電流の方向を切り替えて正転・逆転を制御する。このドライブICはトランジスタによるブリッジ回路と、それを制御するための回路、さらに過電流保護回路、熱遮断回路を内蔵している【図1】。


【図1】DCモータ専用ドライブIC「TA7257P」の内部構成。通常DCモータを制御するためには4つのトランジスタとダイオードを組み合わせて、DCモータに流れる電流の方向を切り替える。この回路が1つのICにパッケージングされている。出力電流1.5A(AVE)、4.5A(PEAK)まで対応

 ドライブICの制御部は2bitになっており、【表2】のように正転・逆転・ストップ、ブレーキのモードを切り替えることが可能だ。PICの出力ポートBからドライブICの制御部へビットパターンを送ることで、ロボットの走行を制御できるようにしている【表3】。セミナーで利用する「PIC Moter Driver Board 2003」の基板では、最大で3つのモータドライブICを搭載できる仕様だが、今回のロボットは左右2つのモータを使用するため、基板上にある残りのICの配線はそのままにしておく(ドライブICも2つだけ搭載)。

 マイコンからの入力モータへの出力
モードIN1IN2OUT1OUT2
ブレーキ11LL
正/逆転01LH
逆/正転10HL
停止00ハイインピーダンス
【表2】PICでDCモータ専用ドライブICを制御する場合のドライブICの入力ビットパターン。入力ビットは2ビットなので、00(停止)、01(正転または逆転)、10(逆転または正転)、11(ブレーキ)の4通りのパターンがある。このビットパターンをPIC側のポートから出力させ、ロボットを前進させたり、後退させたり、方向を変えたりできる

ロボット進行制御RBポート出力RB7RB6RB5RB4RB3RB2RB1RB0
 左モータへの割当て右モータへの割当て 
左脚前進/右脚前進0x1400010100
左脚前進/右脚バック0x1800011000
左脚バック/右脚前進0x2400100100
左脚バック/右脚バック0x2800101000
左脚停止/右脚停止0x0000000000
左モータはRB5、RB4の2bit、右モータはRB3、RB2の2bitで割り当てられている
【表3】モータ制御用のビットパターン


 最も重要なロボットの頭脳にあたるマイクロコンピュータについては、マイクロチップテクノロジーの「PIC16F84A」を採用している。PICとは「Peripheral Interface Controller」の略称で、コンピュータの周辺機器との接続部分を制御する目的で開発されたRISC(Reduced Instruction Set Computer)型のワンチップマイコンである。RISC型のため、命令数も35命令と少なく、高速で動作できるという特徴がある。PICは組み込み制御用のワンチップマイコンとして大変ポピュラーな製品であり、価格も安く、秋葉原などで500円ぐらいから購入することができる。

 PICは、ワンチップマイコンとしてメモリのほかに、アナログ信号をデジタル信号に変換するA/Dコンバータ、シリアルポート、DCモータの速度制御に用いられるPWM(Pulse Width Modulation)回路などを内蔵したさまざまな製品がラインアップとして用意されている。命令ビット長で分類すると、12/14/16ビットの3系列に大別することができる。

 このうち、PIC16F84Aは14ビットタイプに属し、製品シリーズの中ではミッドレンジのタイプに属する。前述のとおり、CPUはクロックに同期して動作する。PIC16F84Aの場合はクロック周波数が20MHzで、4クロックで1つの動作が完結する仕組み(CPUサイクルと呼ぶ)。従って、1クロックが50nsとなるので、理論上は1命令あたり200nsで処理できる計算だ。本来、PICシリーズでは命令の呼び出しに4クロック、命令のデコード(解読)に4クロックを要するので、2CPUサイクルで動作が完了することになるが、命令の取り込みと実行を並行して処理できるため、見かけ上では1CPUサイクルで動作が完了する。

 内蔵メモリは、プログラムコードを記録する1Kワードのプログラムメモリ(EEPROM)、内部レジスタとして利用される68バイトのファイルレジスタ(RAM)、データを保持する64バイトのデータメモリ(EEPROM)で構成される。専用のPICライターを利用して、プログラムの書き込みが可能だ。

 入出力ポートのピン配置は【図2】、【表3】のようになる。AポートがRA0-RA04まで、BポートがRB0-RB07までで、合計13個のポートがある。これらのポートは、レジスタの設定値を変えれば、ポートごとに入出力のモードを変更することが可能だ。ここではBポートのRB05/RB04を左モータの制御用出力に、さらにRB03/RB02を右モータの制御用出力に割り当てている。

 また、各ポートの許容シンク電流(引込み電流)は25mA、許容ソース電流(供給電流)は20mAとなっており、ポートからダイレクトにLEDを点滅させたり(今回はRA0にLEDを接続)、トランジスタのベース部と接続して、モータのスイッチング制御も行なえる。

 このほかPICの特徴として、タイマ/カウンタ機能によって、一定の設定値からクロックをカウントして割り込みを発生させたり、ウォッチドッグタイマ(WDT)でリセットをかけたり、プリスケーラでクロックを分周することが可能だ。


【図2】PICのピン配置図

いざ、ハンダ付け開始。プリント基板のため作業は簡単!

 では早速、ロボットの制御の中枢となるワンチップマイコンボードの製作にとりかかろう。


セミナーでの作業環境。「SPIDER」ロボットキット一式と「ロボット製作例集」、パッキングリストのほか、ハンダごて、ノートPCなど必要なものがすべて用意されている。また不明な点がある場合は、指導員に気軽に相談できるので安心だ 「SPIDER」ロボットキットの内容。電子部品、ワンチップマイコンボード(基板)、ロボット部品、タミヤ製のリモコンとギアボックスなどが含まれている

キットに同梱されている電子部品一式。セミナー第1回目では、電子部品をハンダ付けしてワンチップマイコンボードを完成させる。電子部品の詳細は【表1】を参照のこと 完成したワンチップマイコンボード「PIC Moter Driver Board 2003」のサンプル。あらかじめ基板に回路パターンがプリントされているので、必要な電子部品をハンダ付けしていけば。誰でも製作できるようになっている

 今回のセミナーで利用しているのは、芝浦工業大学電気工学科が設計、エフテック株式会社が製作したPICマイコンの学習ボード「PIC Moter Driver Board 2003」である。PICの基本回路に加え、DCモータを再逆転できるドライブICを3つ搭載できるようなっている【図3】。ただし、今回のロボットでは前述のとおり2つのDCモータのみ使用する。


【図3】PIC Moter Driver Board 2003回路図

 あらかじめガラスエポキシ両面基板に回路パターンがプリントされているため、キットで用意されたICや、抵抗、ダイオード、コンデンサなどの電子部品を手順に沿ってハンダ付けしていけば、誰でも簡単にマイコンボードが完成できるように工夫されている。さらに、電子部品を取り付けるピッチも、通常部品の2.54mm間隔以外は、すべて2倍間隔にしてある。初心者でもスムーズにハンダ付け作業が行なえるように配慮されている点がうれしい。

 また、安定した動作電圧を供給できるように、3端子レギュレータを搭載できるようにあらかじめパターンがつくられている。これは、専用ボードの電源を単三電池から供給するようにしているためだ(ただし、今回の製作ではレギュレータICは利用していない。パターンの一部をショートさせて、そのまま利用するが、これでもボードは安定して動く)。このほか、スタート/リセットスイッチ、電源動作/回路動作用の発光LEDなども取り付ける。後述するPICライター接続用の転送回路とコネクタなども用意されている。

 基本的にパターン基板に指定された電子部品を挿入して、ハンダ付けしていけばよいので作業自体は簡単に行なえる。実際に、この作業は2時間弱で終了した。できるだけ背の低い電子部品を先に取り付けていくと、あとあとの作業がラクになる。たとえば、ICソケット、抵抗、ダイオード、IC、コンデンサといった順番。

 ハンダ付けをする際には、いわゆる「てんぷらハンダ」や「いもハンダ」にならないように気をつける。これらはハンダの加熱の調整がうまくいっていない場合に起こる。今回は取り付ける電子部品のピッチが広いので問題はないが、ハンダが隣の部分とつながってしまう「ブリッジ」にも注意したい。

 また、ダイオード、発光ダイオード、電解コンデンサ、DCモータドライブ用ICなどのように極性をもつ電子部品は、取り付け方向に十分注意する必要がある。PIC用のICソケットの方向にも気をつける。ICソケットのように1度にハンダ付けをするピン数が多い場合には、あらかじめソケットをセロテープでとめてから作業すると、ソケットが浮いたりせずに、うまく取り付けられる。


いよいよハンダ付け開始。電子部品を挿入して、ハンダ付けしていく。できるだけ背の低い電子部品を先に取り付けていくと、付けた部品が邪魔にならず、ハンダ付けの作業がスムーズに行える 手前の2個のデバイスがDCモータドライブIC。極性をもつ電子部品D1、D2(ダイオード)などは、取り付け方向に注意。PIC用のICソケットは、ソケットをセロテープで固定して作業すると、ハンダ付けがうまくできる。後ろに見える青い部品が積層セラミックコンデンサ。モータのノイズを吸収する役割をもつ。こちらは抵抗と同様に極性はないので取り付け方向は特に気にしなくてもよい

【動画】完成したワンチップマイコンボードの動作チェック。あらかじめPICのEEPROMに焼き付けてある動作チェックプログラムでLEDを点滅させる。PICのRA0ポートをオン/オフさせている。点灯時間はプログラムのforループのパラメータで調整している
 ワンチップマイコンボードに電子部品をすべて取り付けたら、ICソケットにPICを挿入する。ここではPICがICソケットにしっかりと押し込まれているか注意する。最後に、ボードが正常に動作するかチェックを行なう。

 今回のセミナーでは、ハンダ付け作業中に回収されたPICに動作チェック用プログラムが焼き付けられている。ボードのICソケットにPICを挿入し、スタートボタンを押して、LEDが点滅すれば、動作チェックはOKだ。さらにPICライターを使って、DCモータ駆動プログラムをPICのEEPROMに書き込み、動作チェックを行なった。

 今回はセミナー初日に行なわれた「ロボットの頭脳」であるワンチップマイコンボードの製作について紹介した。次回は、統合開発環境「MPLAB IDE」と、PICライターによるプログラムの書き込み方法、動作チェックに使われたプログラムについて紹介する。


URL
  芝浦工業大学
  http://www.shibaura-it.ac.jp/
  マイクロチップ・テクノロジー・ジャパン
  http://www.microchip.co.jp/

PIC (R) microcontroller,MPLAB (R) Integrated development environmentは、Microchip Technology Incの登録商標です。

Certain materials contained herein are reprinted with the permission of Microchip Technology Incorporated.No further reprints or reproductions may be made of said materials without Microchip Technology Inc.'s prior written consent.



2006/07/25 00:01

- ページの先頭へ-

Robot Watch ホームページ
Copyright (c) 2006 Impress Watch Corporation, an Impress Group company. All rights reserved.