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