PWMを使ったサーボモーターの制御:Arduinoで学ぶ基礎からのモーター制御(6)(1/3 ページ)
ラジコンカーのステアリングやロボットの関節などに用いられ、角度を指定して動かす機能を持つのが「サーボモーター」です。今回はArduinoからこのサーボモーターの制御をPWMを用いて行う手法を紹介します。
はじめに
前回は“マブチモーター”に代表される「直流ブラシ付きモーター」を、PWM(Pulse Width Modulation)と呼ぶ技術によって制御する手法を紹介しました。今回はこの続編として、PWMを使った「サーボモーター」の制御について紹介します。
サーボーモーターとは
一般にサーボモータと言えば「フィードバック制御が可能なモーター」を指しますが、ここで扱うサーボモーターはラジコン模型などに用いられる、「PWMで軸の回転角度(0〜約180度)を制御できるアクチュエーター」を指します。
その内部にはギア付き直流ブラシ付きモーターと軸の角度によって抵抗値が変わる角度センサーの1つであるポテンションメーターが搭載されており、この組み合わせによってフィードバックの制御が行われています。
サーボモーターはこれまで紹介してきた直流ブラシ付きモーターのように360度以上、回転するものではありません。角度を制御するという特長を持つことから、ラジコン模型の車であればステアリング、飛行機あればラダーの制御などに用いられます。
SG-90
今回は低価格で入手性の良いTowerProのサーボモーター「SG90」を例に(Amazonや秋月電子通商などでは1個400円程度で販売されています)、マイコン(Arduino)からの制御方法を紹介します。以下が、SG-90のデータシートから抜粋した仕様です。
Specifications | |
---|---|
1) Weight | 9 g |
2) Dimension | 22.2 x 11.8 x 31 mm approx. |
3) Stall torque | 1.8 kgf-cm |
4) Operating speed | 0.1 s/60 degree |
5) Operating voltage | 4.8 V (〜5V) |
6) Dead band width | 10 μs |
7) Temperature range | 0 ℃〜55 ℃ |
1)がサーボモーター本体の重さです。2)が寸法。3)が最大トルクです。4)が軸の回転スピードを表します。60度回転するのに0.1秒必要ということになります。5)が電源電圧のその範囲を示しています。4.8Vが最適な電圧で5Vは超えてはなりません。
6)は後に説明しますが1ミリ秒から2ミリ秒のパルス幅でサーボモーターを制御しますが、その分解能力を示しています。角度で表すと180度×(1ミリ秒/10マイクロ秒)ですから1.8度単位の制御が可能であることを示しています。数値が小さいほど高分解能となりますがノイズ等による小さな信号の変化にも反応しやすくなります。この値を調整できるサーボモーターもありますがSG-90の場合は10μsに固定されています。7)は運用可能な温度範囲を示しています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- PWMでマブチモーターを制御する
「マブチモーター」でもおなじみ「直流ブラシ付きモーター」は安価で入手性もよいモーターですが、マイコンからの制御を考えると一工夫必要になります。今回は「PWM」を使った回転制御を紹介します。 - 困ったら読みたいマブチモーター制御のTips
この連載ではここ数回、「マブチモーター」に代表される直流ブラシ付きモーターをマイコンから制御する話をしていますが、今回は困ったときに読みたい、知っておくと便利なTipsを幾つか紹介したいと思います。 - マブチモーターのノイズ対策
「マブチモーター」に代表される直流ブラシ付きモーターは安価で入手性も良好ですが、Arduinoなどと組み合わせる際には発生するノイズが問題となることがあります。そこで今回は、「直流ブラシ付きモーターのノイズ対策」について解説します。 - マブチモーターをArduinoで制御する
「マブチモーター」でもおなじみ「直流ブラシ付きモーター」は安価で入手性もよいモーターです。これをArduinoで制御するとしたら、何を理解して何を用意して、どんなプログラミンが必要でしょうか。実験します。 - 「マイコンによるモーター制御」を学ぶ前に知っておくべきこと
「動くモノ」の制御ができると手を動かした実感がわくものです。この連載では、マイコンを用いたモーター制御の基礎を学んでいきます。