- TodaProduction
- 5156
- 3
- 0
- 0
3.標準 Servo ライブラリを使う時は、角度指定の write を使うよりも、パルス幅指定の writeMicroseconds を使う方が圧倒的にサーボの動きがなめらか。 4.writeMicroseconds の指定 μS を求める時は map 関数が大変便利。 5.サーボ固有の MaxPulse と MinPulse は定数で定義すると管理がラク。 pic.twitter.com/dGCyw7OAv6
2018-12-05 22:07:44続いて今日の段階ではまだ良く判らんこと。 1.一定角度まで回したあとPWM電流を切れないか? writeMicroseconds(0) しても detach() しても初期化されちゃうみたい? 2.角度を保持したまま、動的 attach、動的 detach させてみたい。 3.Arduino 電源オン時に、前回の角度を復元させたい。
2018-12-05 22:09:13終日夢中でやってた今日の実験中のひとコマ。半固定抵抗の値に同期してサーボモータが左右に首を振る! 実に他愛のない動画だけど、これぞまさしくサーボの「プロポーショナル制御」と呼ぶのだと思う。 pic.twitter.com/nzJtJ6wj2B
2018-12-05 22:14:16中学生の頃、R/Cプロポが欲しくて欲しくてたまらず、しかし当然そんな高価なモノは買えるはずもなく、本屋で「ラジコン送受信機の作り方」みたいな本を立ち読みし、これまた内容など到底理解出来るわけもなく、唯一知り得た知識が「R/Cプロポのプロポは、プロポーショナル(比例する)の略」だった。
2018-12-05 22:16:09もちろん、大人になってからは数知れぬラジコン模型を買い込んできたし、今だって書斎にいくつかR/Cプロポが転がってるわけだが、こんなふうに、自分で組み立てた?回路とソフトでサーボモータを動かせたのは本当に嬉しい。40年間の時を超えて、本当に感無量なりだ w。
2018-12-05 22:17:51@natsumikangut もっと勉強して、アナログとDCCと Arduino をレイアウトに組み込みたいと思います (^_^)。
2018-12-06 09:28:13本日の Arduino - Project 21: 9g Servo Control (2) GitHub - netlabtoolkit / VarSpeedServo github.com/netlabtoolkit/… 昨日の続きで色々とググっていたら、またもや素敵なライブラリを発見した。標準 Servo ライブラリの機能を拡張してくれる、とても高性能で有名なサーボ制御ライブラリらしい。 pic.twitter.com/eReXWyMKLY
2018-12-06 15:51:41最大8個のサーボが動かせ、すべてのサーボの同時非同期制御が可能、SV.write (角度, スピード, 移動完了待ちフラグ) という命令が使えるから、昨日あれほど苦労した「ゆっくりサーボを回す」ことも簡単に実現出来そう。writeMicroseconds のあとで delayMicroseconds とか無駄にしなくて済むかも?
2018-12-06 15:54:34使い方も簡単、標準 Servo の代わりに VarSpeedServo をインクルードして、スケッチ冒頭でそのインスタンス (VarSpeedServo SV) を作るだけ。あとは元のコードをそのまま流用しても良いし、スピード指定可能な新しい SV.write を使っても良い。他にも新メソッド?追加されてるから試すのも面白い。 pic.twitter.com/1uxv7jW8sY
2018-12-06 16:02:41昨日は如何にサーボを「ゆっくり滑らかに回す」か?に苦心したが、試してみたら VarSpeedServo.write の速度10(左) は、概ね 昨日こしらえた自前ルーチン MoveServo の待ち時間 5000 μS (右) に相当するようだ。速度を10より小さくするとサーボが暴れ気味になる。余裕見て15以上で使うべきかも? pic.twitter.com/S434q4PrFf
2018-12-06 16:16:40自前ルーチン MoveServo の場合は delayMicroseconds で待ってるから、理論的にはあと3倍くらい遅く出来るけど (delayMicroseconds(15000);)、それでも極端に遅くするとサーボの軸が微妙に振動してしまう。今日のところの結論は、やっぱりサーボを「ゆっくり滑らかに回す」のは本当に難しい、かな?
2018-12-06 16:18:57どうも最近、このアカウントは「鉄道模型とは全然関係のないアカウントだ」と思われているフシがありそうなので (^_^;)、ちょっと鉄道模型クラスタっぽい動画を撮ってみた。将来、こんな遮断器をレイアウトに組み込めれば良いけど… (^_^)。 pic.twitter.com/mE4i4aXnGM
2018-12-06 16:25:04@ht_deko 有り難うございます。あんまりハードル上げないでください (^_^)。DEKO さんの Arduino ページ、折にふれて何度も読み返しています。「やっぱり流石ですね」と思うことしきりです。
2018-12-06 16:33:44昨日少し悩んだ、実行中の動的 attach と動的 detach、今日やったら案外簡単に実装出来た。このスケッチなら、ボタンを1回押すと遮断器が降りて元に戻ったあとサーボへのPWM電流がカットされる。Servo オブジェクトに pinNO みたいなプロパティがあれば、もっとコードがスッキリするんだけどなぁ? pic.twitter.com/XBSr7h8Dc9
2018-12-06 20:17:43もひとつ疑問だった Arduino 電源投入直後のサーボのキャリブレーション?も、初期処理の中で attach するタイミングを意図的に遅らせれば、前回停止位置から暴れることなくサーボを制御可能みたいだ。長年の疑問も試してみて初めて納得出来た。何度も言うが、本当にこの学習キットはお買い得だった。
2018-12-06 20:26:46あとは複数サーボの一括制御だが、この学習キットにはサーボモータが1個しか入ってないので将来のお楽しみとして取っておく (^_^)。色々なサイトをググって調べたので、サーボさえあれば「なんとかなりそう」な感じではある。それにしても今のサーボは安いなぁ。1個400円だなんてバチが当たるぜ?
2018-12-06 20:34:50Togetter にまとめました 初めての Arduino 入門 (後編) togetter.com/li/1343062
2019-04-30 10:31:03