20130702講義資料 arduino やのしん

37
第3回 制御基礎②:ARDUINOの基礎 ~ロボットで作る未来~ 担当:矢野慎一郎(やのしん) ブレッソン・アンド・ビズ株式会社代表取締役 Twitter: @yanoshin 1372日火曜日

Upload: shin-ichiro-yano

Post on 04-Jul-2015

3.817 views

Category:

Technology


0 download

DESCRIPTION

Arduino, Servo moter サーボモーター PWM

TRANSCRIPT

Page 1: 20130702講義資料 arduino やのしん

第3回 制御基礎②:ARDUINOの基礎~ロボットで作る未来~

担当:矢野慎一郎(やのしん)

ブレッソン・アンド・ビズ株式会社代表取締役

Twitter: @yanoshin

13年7月2日火曜日

Page 2: 20130702講義資料 arduino やのしん

本日のゴール

実習1:Arduinoでサーボモータを制御

実習2:入力に応じてサーボモータ制御

実習3:実は◯◯◯を簡単に◯◯する◯◯があった

課題:センサ+サーボ/LEDで何か設計実装してみよう

13年7月2日火曜日

Page 3: 20130702講義資料 arduino やのしん

前回のおさらいArduinoの基礎知識

実習1:ArduinoでLEDを点滅制御しよう

Arduino IDE、オームの法則E=R×I、デジタル出力ピン、LED

実習2:スイッチでLEDを点灯/消灯制御しよう

デジタル入力ピン、プルアップ抵抗

実習3:光センサでLEDを点灯/消灯点滅制御しよう

アナログ入力ピン、Cds(照度センサ)、分圧回路

13年7月2日火曜日

Page 4: 20130702講義資料 arduino やのしん

導入:サーボモータについて

13年7月2日火曜日

Page 5: 20130702講義資料 arduino やのしん

サーボモータとはサーボ機構において位置、速度等を制御する用途に使用するモータ

正確な位置や速度を制御するために、フィードバック回路によりコントロール(後述)

今回の位置検出の手法:ポテンショメータ方式

今回の実習で使うサーボモータ:E-MAX ミニサーボ ES08A

動作電圧:4.8V ~ 6.0V 動作スピード: 0.12sec/60° (4.8V)トルク:1.5 kg/cm (4.8V)1個あたり480円くらい

13年7月2日火曜日

Page 6: 20130702講義資料 arduino やのしん

サーボモータの使用例

13年7月2日火曜日

Page 7: 20130702講義資料 arduino やのしん

ごめんなさい…完成、今週に間に合いませんでした…

13年7月2日火曜日

Page 8: 20130702講義資料 arduino やのしん

比較:DCモータ

DC(=直流)電源で回転するモータ

グルグルと360度以上に回転する

ミニ四駆などの駆動など

13年7月2日火曜日

Page 9: 20130702講義資料 arduino やのしん

使用上の注意

【 ご注意事項 】*サーボのスペックサイトより抜粋最大角度でサーボがジリジリとなったり急激に熱くなった場合はサーボの最大動作角度を超えている状態なので、すぐにニュートラル位置に戻して下さい。またその現象が起きるエンドポイントの位置以下でお使い下さい。

13年7月2日火曜日

Page 10: 20130702講義資料 arduino やのしん

デモ

サーボモータを実際に動かしてみます

参考比較としてDCモータとの違い

13年7月2日火曜日

Page 11: 20130702講義資料 arduino やのしん

サーボモータ

ホーンセット内部はモータの他、   ギアと電子回路

13年7月2日火曜日

Page 12: 20130702講義資料 arduino やのしん

~実習1~

13年7月2日火曜日

Page 13: 20130702講義資料 arduino やのしん

①Arduinoでサーボモータを制御実習ポイント:PWM(パルス幅変調)

13年7月2日火曜日

Page 14: 20130702講義資料 arduino やのしん

[Tis] PWMを理解するPWM(Pulse Width Modulation:パルス幅変調)

Width …幅(発音wídθ:ウィズ、ウィドゥス   ☓ ワイズ)変調=送りたい情報を送信経路に適した形の信号に変換する

パルスの周期を一定にしてパルス幅を変える事で目的に合った制御を行う

【デューティ比  = パルス幅 / 周期】左の例の場合:パルス幅1ms の時のデューティ比=  1ms / 20ms = 0.05 = 5%

パルス幅2ms の時のデューティ比=  2ms / 20ms = 0.05 = 10%

20ms

ms(ミリ秒) =0.001秒(千分の一秒)μs(マイクロ秒)=0.000001秒(百万分の一秒)

今回一番の山場!

13年7月2日火曜日

Page 15: 20130702講義資料 arduino やのしん

[Tis] PWMを理解するパルス幅(=デューティ比)

サーボモータの角度

狭い 1ms 中位 1.5ms 広い 2ms

0度 90度 180度

ソースコードで表現すると?(周期は20ms=20000μsとした例)

13年7月2日火曜日

Page 16: 20130702講義資料 arduino やのしん

回路図回路図ってほどのものじゃ…

【今回のサーボの端子色】黄色…信号線(pulse)

赤色…電源+茶色…電源−(GND)

13年7月2日火曜日

Page 17: 20130702講義資料 arduino やのしん

実体配線図配線図ってほどのものじゃ…

【今回のサーボの端子色】黄色…信号線(pulse)

赤色…電源+茶色…電源−(GND)

13年7月2日火曜日

Page 18: 20130702講義資料 arduino やのしん

ソースコード

ポイント

・周期ーパルス幅で隙間を作り、合計で常に周期20ms間隔を作る13年7月2日火曜日

Page 19: 20130702講義資料 arduino やのしん

[Tis] オシロスコープは便利電気の波形を視覚化する道具

無くても電子工作できるんだけど、あると回路動作の理解が数倍深まる、 デバッグが早くなるなどメリットは沢山

13年7月2日火曜日

Page 20: 20130702講義資料 arduino やのしん

[Tips]コンデンサでノイズ除去

本来は、サーボモータの電源+付近にコンデンサ(0.1μF程度)を設置したほうがいい

コンデンサ=電気を瞬間的に貯めこむ部品  →溜め込んだ後は電流が流れなくなる ☆→直流を遮り、交流を通す

本来はめっちゃ重要な部品のひとつなんだけど、今回は内容の軸がブレてしまうため割愛…(ぜひ勉強してください)

13年7月2日火曜日

Page 21: 20130702講義資料 arduino やのしん

~実習2~

13年7月2日火曜日

Page 22: 20130702講義資料 arduino やのしん

②入力に応じて角度を制御ポテンショメータを回す量に応じて、サーボモータの回転角を制御してみます

13年7月2日火曜日

Page 23: 20130702講義資料 arduino やのしん

[Tips]ポテンショメータ(可変抵抗)とは

回転数や角度によって、抵抗値が変わる部品

13年7月2日火曜日

Page 24: 20130702講義資料 arduino やのしん

[Tips]分圧回路(復習)抵抗値によって電圧を分圧することができる  ⇒欲しい電圧範囲を設計することができる

Cdsの場合の例

13年7月2日火曜日

Page 25: 20130702講義資料 arduino やのしん

[Tips]ポテンショメータ(可変抵抗)とは

両端で10kΩ、メータを回すことで真ん中の端子と両端の抵抗値が0Ω~10kΩ変化します

今回は分圧目的ではなく、0V~5Vを可変で得るために使います(ボリュームつまみ)

13年7月2日火曜日

Page 26: 20130702講義資料 arduino やのしん

[Tips]サーボの仕組み

④⑤

①~⑤が繰り返され、目的の位置・角度になった時点で停止

13年7月2日火曜日

Page 27: 20130702講義資料 arduino やのしん

回路図

アナログ入力A0に入る電圧は0~5v

変化する

13年7月2日火曜日

Page 28: 20130702講義資料 arduino やのしん

実体配線図

電源+5vとGNDはブレッドボード経由で共通化した

13年7月2日火曜日

Page 29: 20130702講義資料 arduino やのしん

ソースコード

ポイント:・analogRead(A0) …A0ピンから電圧0~5vを0~1023の値で入力・delayMicroseconds(n)…nマイクロ秒のディレイ(待ち)を発生   → delay(n)よりも短い時間のディレイを作れる

13年7月2日火曜日

Page 30: 20130702講義資料 arduino やのしん

~実は…~

なにこれ…

13年7月2日火曜日

Page 31: 20130702講義資料 arduino やのしん

③実はもっと簡単に書ける…

サーボを制御するPWMを方法があったんです

Arduinoに標準で用意されてる、Servo型を使います

回路図と配線は実習②のままでOKです

13年7月2日火曜日

Page 32: 20130702講義資料 arduino やのしん

ソースコード

ポイント

・map (val, min_a, max_a, min_b, max_b) …aの範囲とbの範囲をマッピング変換して、                  bの範囲でvalに対応する値を得る・Servo.write(度数)     …指定した度(0~180)の角度にサーボを制御

13年7月2日火曜日

Page 33: 20130702講義資料 arduino やのしん

[Tips]PWMでアナログ電圧(擬似)PWMはデジタル出力方式ですが、PWM方式によって擬似的にアナログ電圧を出力することができます

→これは5V(直流)

→平均して3.75V5v×75%=3.75v

→平均して2.5V5v×50%=2.5v

→平均して1.25V5v×25%=1.25v

実効電圧↓

13年7月2日火曜日

Page 34: 20130702講義資料 arduino やのしん

みなさんへの課題

13年7月2日火曜日

Page 35: 20130702講義資料 arduino やのしん

課題前回・今回で学習したことを応用して、何でもいいので回路とソフトウェアを作ってみてください

センサ(Cds)、LED、サーボモータ、その他、今回使っていない部品で興味があれば試してみてください

使い方は講師に聞くか、Googleるとか

圧電ブザーなんておもしろいかも?

13年7月2日火曜日

Page 36: 20130702講義資料 arduino やのしん

発表会?

13年7月2日火曜日

Page 37: 20130702講義資料 arduino やのしん

みなさん、おつかれさまでした

ありがとうございました

13年7月2日火曜日