HomeMadeGarbage Loading

シリアルサーボモータ SCS0009 で倒立振子 完結編

ホーム
電子工作
Raspberry Pi
IOT
音楽
Home > 電子工作 > シリアルサーボモータ SCS0009 で倒立振子 完結編
すき 0
うんこ 0

 

前回はサーボモータSCS0009を用いて屈伸動作する倒立振子の検討を実施しました。

シリアルサーボモータ SCS0009 で倒立振子 屈伸動作

ここでは前回でた課題の検討を進め サーボモータを用いた倒立振子の神髄に迫りたいと思います。

 

 

前回の課題

前回挙がった課題を再度掲載します。

  • UART-1Wire回路作成
    現状は公式基板使用しているけど自作して小型化。ホイール用と屈伸用の2個必要
  • バッテリ搭載
    電源線がジャマ!搭載の際には重心に気を配る
  • 安定倒立制御を目指す。
    屈伸による安定パラメータへの追従方法を探る

これらを順次検討進めていきましょう。

 

UART-1Wire回路

ちょっと大きめのUART-1Wire変換 公式基板 をやめて、自作で小型化します。
また今回は足屈伸用とホイール用のサーボをコントローラのcoreをわけて制御したいので変換回路も2ch必要となります。

回路は秋月の資料を丸々参考にしました。

https://akizukidenshi.com/download/ds/akizuki/feetech_digital_servo_20220729.pdf

 

製作した基板がコチラ。2ch。

秋月の回路は5V系ですが、3.3Vにしてシリアルサーボのシグナルラインも3.3Vにプルアップしています。

あとで気づいたのですがドライバMAX485はデータシート上の入力電源範囲が4.75~5.25Vとあり、完全に5V動作のICでした。
しかし3.3Vでも動いてしまいました。。
正しくは3.3V系のドライバを使ったほうがいいでしょう(MAX3485ED ←パッケージは異なりますがピンコンパチ)。

 

バッテリ搭載

UART-1Wire変換回路も小型化できましたので、バッテリも搭載しちゃいましょう。

倒立制御はまだイマイチですが、非常にスッキリとした機体となりました。

 

安定倒立制御

いよいよ安定倒立を実現し屈伸しながらの縦横無尽制御を目指します。

移動動作

まずは屈伸機構のない初期型の機体で安定倒立動作の検証をいたしました。
制御はノーマルのPIDでパラメータを調整。

それなりに移動制御はできるのですが、ホイール回転が上がって機体が大きく傾くと その傾きを復帰させるに必要な回転速度が実現できず制御不能になってしまいます。。

 

屈伸機体でも同様に。より機体重量が増すので姿勢復帰により高速回転が必要になります。

低速移動はできますが早い移動動作は難しいですねぇ

屈伸動作

高速移動はあきらめるとして本題の屈伸動作を確認いたしました。

いい感じ♪
前回検討したリンク機構による線形上下動作が非常に効いていますね。

 

おわりに

以下の動画に感銘をうけて開始した、倒立動作の再考。

非常に勉強になりました。
“サーボ一個で屈伸なんてしたら重心動きまくって倒立どころじゃないじゃん。こんなの制御大変でしょー”
を動機に実際に自身で検証してまたひとつ賢くなりました。

ホイールには速度の出るモータを使用したほうがいいかなと思います。サーボの連続回転で良いフィードバック値が得られなかったのもちょっと痛かったです。

サーボ1個でもリニアに上下できることが分かったことが今回の大きな収穫だと思います。
なんでもやってみないとわからないものですね。

次の記事

GW最終日 倒立振子を作ってみた

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください