- - PR -
前回「スイッチを押したら何かが起こる!?」では、『スイッチが押された』をマイコンの入力に結び付けるにはどうすればよいかを取り扱った。次に、その入力を出力に結び付けてみよう。
今回は出力としてモータを回したい。そのためには、まず、“モータノイズ”という生々しい存在を乗りこなす必要がある。
前回までのおさらい
前回の公開から少し間が空いてしまったので、あらためて本連載の目的について確認しておこう。
本連載の目標は、安価に入手できる小学生向けロボット工作キット「2チャンネル リモコン・ボクシングファイター(以下、ボクサーロボット)」をマイコン制御することで“招き猫”化(画像1)し、読者の皆さんが求めるだけの福を招くことである。
画像1 第3シリーズのゴール「招き猫」 ※画像をクリックすると動画が再生されます(aviファイル) |
関連リンク: | |
2チャンネル リモコン・ボクシングファイター http://www.tamiya.com/japan/products/71110boxing/ |
お分かりのとおり、このボクサーロボットは招き猫化するために作られたものではない。せわしなくパンチを繰り出しながら走り回るだけの単純なオモチャである(画像2)。
画像2 説明書どおりに組み立てたボクサーロボットの様子 ※画像をクリックすると動画が再生されます(aviファイル) |
本連載では、ボクサーロボットの動作を制御して「あらかじめ決まった回数だけアッパーカットを繰り返して停止する」を行うことで、招き猫化を行うのだが、そのためには、パンチング動作を制御可能な速度に抑えなくてはならない。このため、連載第2回「ロボットの招き猫化計画始動 −電源とギアの準備−」では、ギアを交換して制御可能な速度に抑え、さらに腕の上下動を感知できるようにマイクロスイッチを設置した。
そして、連載第3回「スイッチを押したら何かが起こる!?」では、このマイクロスイッチが「押された」をマイコンの入力にするために周辺回路を設けた。
これまでの作業により、
「マイクロスイッチが何回押されたかをカウントして、プログラムで決めた回数だけの腕の上下動を行う」
の準備ができたわけだ。次に必要なのは、腕の上下動を行うことそのものの制御である。
今回の目的
ボクサーロボットの腕の上下動は、本体内のモータの回転によって行われている。モータの回転をカムによって上下の動きに変えることで、ロボットの腕が上下するという単純な仕組みである。腕の上下動の制御を行うため、連載第2回ではマイクロスイッチを設置し、腕が上がり切ったところでそれが押されるようにした(画像3)。
画像3 マイクロスイッチの形状と大きさ(左側の白いものは、マイクロスイッチが押されるときの衝撃を緩和するために巻いたサージカルテープ) |
このマイクロスイッチの状態が、押された→押されていない→押されたと変化すると、ボクサーロボットの腕は上げられた状態から下がって上がり、「招き」動作を1回行うことになる。マイクロスイッチの状態の変化にモータの回転を対応させると、「招き」動作の1回は、
マイクロスイッチが押される→モータが回転しはじめる→マイクロスイッチが再び押される→モータの回転が止まる
によって実現される。
このために必要なのは、「マイクロスイッチが押されている(押される)」をマイコンに入力させ、「モータを回転させはじめる」「モータの回転を止める」という出力に結び付けることである。
モータを制御するとは?
では、モータの回転はどのようにすれば制御できるのであろうか? マイコンの出力ピンをモータに直結できるのであれば、LEDフラッシャのLEDと同じように制御できるはずである。
しかし、モータを回転させることとLEDを点灯させることの間には、大きな違いがある。モータを回転させるのに必要な電流値は、今回のボクサーロボットに用いる工作用の小さなモータでも200mA程度となり、高輝度タイプでもせいぜい数十mA程度のLEDとはけたが異なる。マイコンの出力ピンで直接扱うことのできる電流値は、大抵は20mA程度である。これでモータを駆動しようとしても成功しないであろう。
このため、モータはマイコンとは別の電源で駆動し、ON/OFFだけをマイコンで制御するのが一般的である。本連載では、「モータには十分な電源が供給されていることにする」という安全の下に工作を行うため、モータには専用のモータ電源を用意することにした。電源キットについては連載第2回の「何はなくとも、まず『電源』」で解説している。
そのモータ電源をマイコンで制御するために、マイコンの出力ピンにトランジスタを利用した回路を設ければ、ボクサーロボットの招き猫化は簡単に終了することになるのだが、そこには“ノイズ”という壁が立ちはだかる。
これがモータノイズだ!!
ノイズ対策を行うには、実際のノイズがどのようであるかを見てみることが不可欠である。本連載では日本テクトロニクスのご好意で貸し出しを受けた、オシロスコープ「TDS2024B」(画像4)により、実際のノイズ波形を観察しながら対処していった。
画像4 日本テクトロニクスのオシロスコープ「TDS2024B」 |
まず、今回のモータを回転させたとき、モータの電圧がどのようになるのかを画像5に示す。
画像5 モータ回転時の電圧の様子 |
一見して、いわゆる「美しい」波形ではないことは明白であろう。ノイズだらけである。波形の見た目がいかに汚かろうが、目的が果たされれば問題は何もない。本連載であれば、ボクサーロボットの招き猫化に成功し、金・仕事・モテ・そのほかもろもろの福を招くことができればよい。しかし、このモータノイズは「招き猫を完成させて福を招く」を阻害するに十分なパワーを持っている。
表示されている波形は、横軸が時刻、縦軸が電圧である。横軸の1目盛りは2.50ms、縦軸の1目盛りは1Vである。確認してみると、おおむね1.0msの間に1〜2回程度、1Vを超えるスパイクが出現している。スパイクは大きいときには5Vほどにも達する。
本連載では、「ATmega16」(Atmel社)を1kHzで動作させている。1.0msの間に1〜2回現れる大きなノイズを、「クロックと連続動作時間に対して、無視できるほど長い間隔である」と考えるわけにはいかない。
また、ATmega16の動作電圧は5Vである。例えば、−5Vのモータノイズが電源に回り込んだらどうなるか? 電源電圧は0Vまで低下してしまう。そうなると、当然プログラムの動作は停止し、リセットが行われてしまう。連続動作を前提とするパソコンの場合はUPSを設置することで、突然の停電などによる電圧低下からパソコンを防護できるが、マイコン回路にもこれと同じような仕組みが必要となる。
関連リンク: | |
連載記事「読んで理解する ノイズ・EMCの超基礎」 http://monoist.atmarkit.co.jp/feledev/index/emc.html |
関連記事 半導体/エレクトロニクス
- 連載:イチから作って丸ごと学ぶ! H8マイコン道
- 特集:組み込みシステムに吹く“仮想化”の風
- 連載:組み込みマルチコア進化論(連載中)
- 連載:必修! FPGAタイミング解析の基礎(全5回)
- 連載:−ザ・組み込み−ソフトウェアのハードウェア化(連載中)
- 連載:S08ではじめるマイコン制御プログラミング(全6回)
- 連載:マイコン制御基礎の次(連載中)
- 連載:マイコン制御基礎の基礎(全10回)
- 連載:マイコン制御基礎以前(全10回)
- 連載:H8で学ぶマイコン開発入門(全13回)
- 連載:触って学ぼう FPGA開発入門(全6回)
- 連載:FPGA開発テクニック、チューニングの心得(全6回)
- 特集:いまさら聞けない FPGA入門
- 連載:バラして納得! 電子部品入門(全18回)
- 連載:完全マスター! 電子回路ドリル III(全14回)
- 連載:完全マスター! 電子回路ドリル II(全25回)
- 連載:完全マスター! 電子回路ドリル(全25回)
- 目指せ! 電子回路マスターへの道
- 目指せ! 電子回路マスターへの道 Part2
- 分かっておきたい、IP活用の落とし穴
ホワイトペーパー(TechTargetジャパン)
組み込み開発フォーラム 新着記事
- 「品質での手抜き」と「駐車違反」の共通点(2009/10/14)
- 「INtime」によるリアルタイム性能の確保(2009/10/9)
- Windows 7、Silverlightのテクノロジが組み込みに(2009/10/5)
- 非ケータイのAndroid搭載デバイスがいよいよ登場!?(2009/10/2)
- ソフトウェア業界に従事する女性技術者達の本音(2009/10/1)
- Windows Embedded Standard “Quebec”とは?(2009/9/30)
- モデリング言語 SysMLを概観する(2009/9/28)
- モータノイズの傾向と対策とは?(2009/9/25)
- 設計と実装がシンクロして見えた奥深きロボコン道(2009/9/18)
- 【番外編】新境地! プリント基板CADの可能性(2009/9/17)
- BREWアプリケーションの構成を理解しよう!(2009/9/15)
- 組み込み初心者がETロボコンを通じて得られるもの(2009/9/14)