HomeMadeGarbage Loading

DCモータで姿勢制御 SHISEIGYO-1 DC 爆誕  ーリアクションホイールへの道43ー

ホーム
電子工作
Raspberry Pi
IOT
音楽

常々 姿勢制御モジュールを小型化したいと考えており、重たくサイズもそこそこのブラシレスモータの使用がネックとなっておりました。

ここでは姿勢制御モジュールを小型化をめざしてDCモータの使用を検討してみましたので報告いたします。

 

 

DCモータ

小型で入手性のよいDCモータで姿勢制御モジュールの実現を目指します。
姿勢制御の際にはモータの回転速度の検知が必須となります。

そこで以下の磁気エンコーダを試してみました。

 

早速DCモータにつけてA相、B相のパルスを確認してみました。
いい感じで回転を検出できているようです。

 

モータには回転検出用の磁気ディスクと姿勢制御用のリアクションホイールを接続する必要がありますのでダブルシャフトの以下のモータを採用することにいたしました。

 

姿勢制御モジュール構成

DCモータの回転検出ができそうですので姿勢制御モジュールの製作に進みます。

SHISEIGYO-1と同様にATOM Matrixでモジュールの傾きと角速度を検出しつつモータを制御します。

以下、モジュールの構成概要です。

部品

 

モータと磁気エンコーダは3Dプリンタで治具を出力して両面テープでうまいこと固定しました。
モータドライバもモータ上部に固定しました。

 

 

リアクションホイール検討

ひとまず部品を結線して動作確認

 

筐体やホイールも3Dプリントして本格的に姿勢制御モジュールを構築します。

 

ネジやナットでホイールのトルクを増やして、制御の調整もしますがなかなか難しいです。

磁気エンコーダ検証

ホイールのトルクを上げても なかなか制御がうまくいかないのでモータの回転速度を検出する磁気エンコーダを詳細調査しました。

SHISEIGYOは以下を参考にエンコーダのクロック数を検出しております。

ロータリーエンコーダを使う part 1 : 外部割込みとチャタリング対策

 

使用した磁気エンコーダは1周20カウントと記載あったので買ったのですが、よくよく見ると1周5クロックしか出ていませんでした。
これでは分解能が足りず正確に回転速度を計測できません。。

販売サイトの文言を見直すとA相、B相のクロックのエッジの合計が1周 20カウントとのことでした。。
てっきり各相で20クロック出ているものかと。。。

“The encoder board senses the rotation of the magnetic disc and provides a resolution of 20 counts per revolution of the motor shaft when counting both edges of both channels. “

ESP32のパルスカウンタ機能 採用

モータの回転速度検出の分解能が低く狼狽していたところ非常に有益な情報をいただきました。

 

なんとESP32には割り込み使用せずともパルスカウントができるとのことで早速試したところ本当にエンコーダ出力をカウントでき無事に1周20カウントで回転速度検出できるようになりました。

ESP32のパルスカウンタ機能なんて全然知らなかった。。。

以前 POVディスプレイでESP32を使用した際に、回転を割り込み使ってわざわざチャタ防止でシュミットトリガ入れてたけど この機能使えばよかったんだ。。
とても勉強になりました。

SHISEIGYO-1 DC爆誕

回転速度検出の精度が改善され無事に倒立が達成されました!!

課題はまだ多いけど

おわりに

無事にDCモータを使用した姿勢制御モジュールが実現され、大いなる可能性を見出すことができました。

しかしまだまだ SHISEIGYO1 DC 自体に課題が多いです。

  • 制動が甘い:じっくり調整します
  • モータノイズ:ノイズがガンガンのってLED点滅もおかしくなっているので要対策
  • バッテリ駆動にしたい
  • 起き上がり倒立:これはさすがに無理かも

まずはSHISEIGYO1 DCの精度を高めるべく頑張ります!

Related Posts

コメントはこちらから

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

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