HomeMadeGarbage Loading

SHISEIGYO-1 を改良 APモードでパラメータ調整 ーリアクションホイールへの道37ー

ホーム
電子工作
Raspberry Pi
IOT
音楽
Home > 電子工作 > SHISEIGYO-1 を改良 APモードでパラメータ調整 ーリアクションホイールへの道37ー
すき 1
うんこ 0

以下で1軸 姿勢制御モジュール SHISEIGYO-1の製作例をまとめたレシピを販売しております。

SHISEIGYO-1 の制作レシピ

上記レシピのサンプルコードでは各種パラメータをコードに書き込んでいるため、調整が容易ではありませんでした。

 

2軸 姿勢制御モジュール SHISEIGYO-2ではコントローラにM5Stack CORE2を用いているためタッチパネルでパラメータ調整できるように改良を施しました。

SHISEIGYO-2 を改良しました ーリアクションホイールへの道36ー

 

SHISEIGYO-1はM5 ATOM Matrixを用いていますので、ここではAPモードでM5 ATOMに接続してブラウザでパラメータを調整できるようにしました。

 

 

APモード

M5 ATOM Matrix (ESP32-PICO) をアクセスポイントにして、スマホやPCをWiFi接続してブラウザでパラメータ調整できるようにしました。

 

ブラウザには起き上がりボタンと各種パラメータ調整が表示されます。

参考

 

サンプルコード

サンプルコードは以下でダウンロードできます。
zipファイルでダウンロードされますので解凍してご使用ください。

https://welno.homemadegarbage.com/products/make/shiseigyo-1-AP/SHISEIGYO-1_Ap.zip

動作

 

 

使用方法

  • 改良版サンプルコードを書き込んだSHISEIGYO-1を起動
     
  • スマホもしくはPCのWiFi接続設定でM5 ATOMに接続
    サンプルコードではSSID:SHISEIGYO-1、パスワード:passwordとしています。
     
  • ブラウザページにアクセス
    サンプルコードではIP:192.168.22.1
     
  • GetUpボタンで起き上がり動作、各種パラメータ調整は-/+クリックで実施
    パラメータは電源OFF後も保持されます。

起き上がり動作

今回の改良で左右の起き上がり時の起き上がり直前の最大回転速度を左右それぞれ独立で指定できるようにしました (rotMaxL, rotMaxR)。

回転速度は0~1023で指定でき、0に近づくほど高速になります。

IDRS (倒立角動的再調整システム)

倒立後のモータ回転速度をフィードバックして、逐一 倒立ターゲット角度を調整する手法 IDRS を導入しました。

 

IDRSを使用しない場合はコードの変数IDRSを0にしてください(デフォルトは3.0)。

 

おわりに

今回の改良でSHISEIGYO-1のパラメータ調整が容易になりました。

WiFI設定やパラメータの追加などいろいろアレンジしてご使用ください。

次の記事

SHISEIGYO-3 eternal 改良 ーリアクションホイールへの道38ー

「SHISEIGYO-1 を改良 APモードでパラメータ調整 ーリアクションホイールへの道37ー」への8件のフィードバック

  1. HomemadeGarbage 様
    いつも楽しく拝見させていただいております。
    SHISEIGYO-1_Jr の発表と同時に、レシピを購入し、ブラシレスモーター他を手配しました。
    ブラシレスモーターが入荷したので、早速組み立てを行い、M5 ATOM のテストを行ったところ、
    error: suggest parentheses around ‘&&’ within ‘||’ [-Werror=parentheses]
    となってしまいます。
    本テキストのサンプルコードでも同様のエラーとなってしまいますが、何が原因でしょうか。
    アドバイスの程お願い致します。

  2. ご購入いただき誠にありがとうございます。
    Arduino IDEをご使用でしょうか?

    IDEのバージョンとボードマネージャの設定など
    詳細教えていただきたくよろしくお願いいたします。

  3. HomemadeGarbage 様

    お手数をおかけします。
    Arduino IDE のバージョンは、1.8.13
    ボードマネージャー:” M5Stick-C ”
    Upload Speed: ” 1500000 ”
    Partition Scheme: ” 初期値 ”
    Core Debug Level: ” なし ”
    ライブラリーは、
    Kalman Filter 1.0.2
    FastLED 3.3.3
    を使用しています。

    1. ありがとうございます。特に問題なさそうですね。

      私のコード以外は問題なく書き込みできているのでしょうか?

      1. HomemadeGarbage 様

        答えになっているかわかりませんが、「 M5StickC で倒立振子 」のコードはコンパイルできています。
        エラーメッセージの後の項目をもう少し説明しますと、
        if(GetUP == 1 && kalAngleY 0) {
        となっています。

        1. 他のコードの書き込みは問題ないとのこと承知いたしました。

          if(GetUP == 1 && kalAngleY 0) {
          が何を指しているのか理解できないのですが
          こちらでも調査進め、わかり次第報告させていただきます。

          1. HomemadeGarbage 様

            書き込みができました。
            if(GetUP == 1 && kalAngleY 0){
            のところにエラーが出ていたので、
            if(GetUP == 1 && kalAngleY 0){
            と書き換えたところ、コンパイルに成功しました。
            お騒がせしまして申し訳ありません。

コメントはこちらから

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

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