20130702講義資料 arduino やのしん

5,396 views

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,396
On SlideShare
0
From Embeds
0
Number of Embeds
2,309
Actions
Shares
0
Downloads
8
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

20130702講義資料 arduino やのしん

  1. 1. 第3回 制御基礎②:ARDUINOの基礎 ∼ロボットで作る未来∼ 担当:矢野慎一郎(やのしん) ブレッソン・アンド・ビズ株式会社代表取締役 Twitter: @yanoshin 13年7月2日火曜日
  2. 2. 本日のゴール 実習1:Arduinoでサーボモータを制御 実習2:入力に応じてサーボモータ制御 実習3:実は⃝⃝⃝を簡単に⃝⃝する⃝⃝があった 課題:センサ+サーボ/LEDで何か設計実装してみよう 13年7月2日火曜日
  3. 3. 前回のおさらい Arduinoの基礎知識 実習1:ArduinoでLEDを点滅制御しよう Arduino IDE、オームの法則E=R×I、デジタル出力ピン、LED 実習2:スイッチでLEDを点灯/消灯制御しよう デジタル入力ピン、プルアップ抵抗 実習3:光センサでLEDを点灯/消灯点滅制御しよう アナログ入力ピン、Cds(照度センサ)、分圧回路 13年7月2日火曜日
  4. 4. 導入:サーボモータについて 13年7月2日火曜日
  5. 5. サーボモータとは サーボ機構において位置、速度等 を制御する用途に使用するモータ 正確な位置や速度を制御するため に、フィードバック回路によりコ ントロール(後述) 今回の位置検出の手法:ポテンシ ョメータ方式 今回の実習で使うサーボモータ: E-MAX ミニサーボ ES08A 動作電圧:4.8V ∼ 6.0V 動作スピード: 0.12sec/60° (4.8V) トルク:1.5 kg/cm (4.8V) 1個あたり480円くらい 13年7月2日火曜日
  6. 6. サーボモータの使用例 13年7月2日火曜日
  7. 7. ごめんなさい… 完成、今週に間に合いませんでした… 13年7月2日火曜日
  8. 8. 比較:DCモータ DC(=直流)電源で回転するモータ グルグルと360度以上に回転する ミニ四駆などの駆動など 13年7月2日火曜日
  9. 9. 使用上の注意 【 ご注意事項 】*サーボのスペックサイトより抜粋 最大角度でサーボがジリジリとなったり急激に熱くな った場合はサーボの最大動作角度を超えている状態な ので、すぐにニュートラル位置に戻して下さい。 またその現象が起きるエンドポイントの位置以下でお 使い下さい。 13年7月2日火曜日
  10. 10. デモ サーボモータを実際に動かしてみます 参考比較としてDCモータとの違い 13年7月2日火曜日
  11. 11. サーボモータ ホーンセット内部はモータの他、    ギアと電子回路 13年7月2日火曜日
  12. 12. ∼実習1∼ 13年7月2日火曜日
  13. 13. ①Arduinoでサーボモータを制御 実習ポイント:PWM(パルス幅変調) 13年7月2日火曜日
  14. 14. [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日火曜日
  15. 15. [Tis] PWMを理解する パルス幅(=デューティ比) サーボモータの角度 狭い 1ms 中位 1.5ms 広い 2ms 0度 90度 180度 ソースコードで表現すると?(周期は20ms=20000μsとした例) 13年7月2日火曜日
  16. 16. 回路図 回路図ってほどのものじゃ… 【今回のサーボの端子色】 黄色…信号線(pulse) 赤色…電源+ 茶色…電源−(GND) 13年7月2日火曜日
  17. 17. 実体配線図 配線図ってほどのものじゃ… 【今回のサーボの端子色】 黄色…信号線(pulse) 赤色…電源+ 茶色…電源−(GND) 13年7月2日火曜日
  18. 18. ソースコード ポイント ・周期ーパルス幅で 間を作り、合計で常に周期20ms間隔を作る 13年7月2日火曜日
  19. 19. [Tis] オシロスコープは便利 電気の波形を視覚化する道具 無くても電子工作できるんだけど、あると回路動作の理解が数倍深まる、  デバッグが早くなるなどメリットは沢山 13年7月2日火曜日
  20. 20. [Tips]コンデンサでノイズ除去 本来は、サーボモータの電源+付近にコンデンサ (0.1μF程度)を設置したほうがいい コンデンサ=電気を瞬間的に貯めこむ部品   →溜め込んだ後は電流が流れなくなる  ☆→直流を遮り、交流を通す 本来はめっちゃ重要な部品のひとつなんだけど、今回は内容の軸がブレてし まうため割愛…(ぜひ勉強してください) 13年7月2日火曜日
  21. 21. ∼実習2∼ 13年7月2日火曜日
  22. 22. ②入力に応じて角度を制御 ポテンショメータを回す量に応じて、サーボモータの回転角を制御してみます 13年7月2日火曜日
  23. 23. [Tips]ポテンショメータ(可変抵抗)とは 回転数や角度によって、抵抗値が変わる部品 13年7月2日火曜日
  24. 24. [Tips]分圧回路(復習) 抵抗値によって電圧を分圧することができる   ⇒欲しい電圧範囲を設計することができる Cdsの場合の例 13年7月2日火曜日
  25. 25. [Tips]ポテンショメータ(可変抵抗)とは 両端で10kΩ、メータを回すことで真ん中の端子と両端の抵抗値が0Ω∼10kΩ変化します 今回は分圧目的ではなく、0V∼5Vを可変で得るために使います(ボリュームつまみ) 13年7月2日火曜日
  26. 26. [Tips]サーボの仕組み ① ② ③ ④⑤ ①∼⑤が繰り返され、目的の位置・角度になった時点で停止 13年7月2日火曜日
  27. 27. 回路図 アナログ入力A0に 入る電圧は0∼5v 変化する 13年7月2日火曜日
  28. 28. 実体配線図 電源+5vとGNDは ブレッドボード経由で共通化した 13年7月2日火曜日
  29. 29. ソースコード ポイント: ・analogRead(A0) …A0ピンから電圧0∼5vを0∼1023の値で入力 ・delayMicroseconds(n)…nマイクロ秒のディレイ(待ち)を発生    → delay(n)よりも短い時間のディレイを作れる 13年7月2日火曜日
  30. 30. ∼実は…∼ なにこれ… 13年7月2日火曜日
  31. 31. ③実はもっと簡単に書ける… サーボを制御するPWMを方法があったんです Arduinoに標準で用意されてる、Servo型を使います 回路図と配線は実習②のままでOKです 13年7月2日火曜日
  32. 32. ソースコード ポイント ・map (val, min_a, max_a, min_b, max_b) …aの範囲とbの範囲をマッピング変換して、                   bの範囲でvalに対応する値を得る ・Servo.write(度数)     …指定した度(0∼180)の角度にサーボを制御 13年7月2日火曜日
  33. 33. [Tips]PWMでアナログ電圧(擬似) PWMはデジタル出力方式ですが、PWM方式によって擬似的にアナログ電圧を出力すること ができます →これは5V(直流) →平均して3.75V 5v×75%=3.75v →平均して2.5V 5v×50%=2.5v →平均して1.25V 5v×25%=1.25v 実効電圧 ↓ 13年7月2日火曜日
  34. 34. みなさんへの課題 13年7月2日火曜日
  35. 35. 課題 前回・今回で学習したことを応用して、何でもいいの で回路とソフトウェアを作ってみてください センサ(Cds)、LED、サーボモータ、その他、今回使 っていない部品で興味があれば試してみてください 使い方は講師に聞くか、Googleるとか 圧電ブザーなんておもしろいかも? 13年7月2日火曜日
  36. 36. 発表会? 13年7月2日火曜日
  37. 37. みなさん、おつかれさまでした ありがとうございました 13年7月2日火曜日

×