質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

Q&A

解決済

2回答

2659閲覧

①m5stack basicでモータ動かす[解決]➁m5stack basicがブラックアウト[解決]➂m5stickcplus でモータ動かす[解決]④m5stickpulsで角度[現在]

German_p0tat0

総合スコア26

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

0グッド

0クリップ

投稿2021/08/24 03:39

編集2021/09/06 21:20

前提・実現したいこと

~~m5stack basicを使い,MG996Rのサーボモータを動かしたいのですが,端子をどこに刺せばいいかわかりません.
サーボモータは茶色、赤、黄色の線があります.
この問題はm5stack basicの端子から茶色はGNCに、赤は5Vに、黄色は2pinに接続してPWMのブロックで動きました。

しかしそのあとブラックアウトしてしまい.電源を入れてうっすら黒い画面で10ぐらいたつと電源が切れます~~
上の事は解決済み

画像⑧のようなUIFlowの加速度を使って角度を求めたいのですが,x、y、zを使ってそれぞれのアークタンジェントを求めると画像⑨の右側の表のような結果になりました.私は左側の机にM5StickPlusの裏面をおいた状態で上から見た角度を表示させたいのですが、どうすればよいでしょうか?

試したこと

~~現在,USB以外の外部配線を外してPCにつなげると,ディバイスマネージャーのポート(COMとLPT)の所にCOM8と出てくるのでPCは認識していると思います.

そこでUIFlowのデスクトップで掲載した画像➂の通り接続をトライするとdisconnectになります.
また,ブラックアウトになる前にArduinoでサンプルのテトリスのスケッチを流し込めたので試したのですが,画像④のようなエラーが出ました.
そこでドライバ(CP210x)とM5bunnerを再インストールしました.
しかし、Burnしようと思ったら
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
のようなエラーが出ました.
またファームウエアを書き込もうとすると
Get UIFlow settings failed, check your COM and retry.
のようなエラーが出ました
M5bunner上でもCOM8と出ているのに、認識していないようなエラーが出ています。
なので現状はコードを流し込めないです.~~

⑧角度表示ためのUIFlow
イメージ説明
⑨角度表示の結果とやりたい事
イメージ説明

補足情報

m5stack basic
UIflow
MG996R

追加情報

①正常に動いた時のUIFlowの画面(左下が接続済みになっています)
イメージ説明
➁UIFLOWのPWM出力
イメージ説明
➂COM8が接続できている画面
イメージ説明
④Arduinoのエラー(以前はできていた)
画面右下を見るとポート番号の詳細が分かります
イメージ説明
⑤シリアルモニター実行
イメージ説明
⑥m5stickcplus でMG996Rを動かすためのプログラム
(黄緑のブロックはset hat_se~と書いているやつ)
イメージ説明
⑦シリアルモニター画面
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

UIFlowは使ってないので知りませんが、

黄色はBATに接続した

そうした根拠はなんでしょうか。BATはバッテリーの意味ですよね。一切制御線ではありません。さすがにそれで動くことはないと思いますが...それで動かしている例があるのでしょうか。

で、WebでUIFlowを立ち上げて Servo Unitを追加する時にcustomを選んでみると、SDA/TX, SCL/RXという選択になります。これはいわゆるシリアルサーボを接続するための設定ではないでしょうか。

'M5 UIFlow Servo'あたりで検索してみると、SG90などのサーボはPWMで制御している例がひっかかります(https://burariweb.info/electronic-work/m5stickc-servo-control.html 等)。パルス幅(というかデューティー)で制御するサーボはこの辺を参考にしてみてはいかがでしょう。

投稿2021/08/24 23:13

thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

German_p0tat0

2021/08/25 16:37

ご返信ありがとうございます. 黄色ピンについては同じ色だったのでさしました(笑) また、追加情報に画像を載せたのですが,UIFLOWにPWM用のブロックがあるので試してみます.
thkana

2021/08/25 22:41

> 同じ色だったのでさしました(笑) そのやり方をしているとそのうちにマイコンや部品を壊すという笑えない事態を招くかもしれません。
German_p0tat0

2021/08/31 16:40

そのことについてなのですが,質問の件はオスxオスの線を使い黄色を2pinにさすことで回ったのですが,一回だけ成功してそのあと画面がブラックアウトしてしまいました.ずっとうっすら電源が入っている黒い画面です.ボタンを押しても反応しません.USBでパソコンにつないでもUIFLOW側もdisconnectedとなります.しかしCOM8とポート番号が出るので認識はしていると思います.これは壊れたのでしょうか.....
thkana

2021/08/31 22:54

> 黄色を2pinにさす これはどういう意図をもってそうしたのでしょう? PWMは26ピンに設定しているようですが。 で、2ピンの配線を外しても復旧しないのですか? ESP32自身はUSB機能を持っていないので(USB機能を持ったバリエーションも出てきてはいるようですが日本にはまだ入ってきていない)、別途シリアル-USB変換のICを積んでいます。CPUが動いていなくても変換ICの働きでCOMポートとしての認識はします。 IO0とIO2はESP32のブートモードを決める作用も持っているので、プルアップされている負荷をつなぐと立ち上がらなくなる可能性があります。「黄色い線」がどういう入力になっているか把握していますか? わからなければIO0,2と他ESP32で内部的に使われているIO6~11(他M5Stackの内部でペリフェラルに繋がっているIOピン)には繋ぐべきではないでしょう。
German_p0tat0

2021/09/04 23:59 編集

返信ありがとうございます. >「黄色い線」がどういう入力になっているか把握していますか? 把握してなかったですね.もっと初心者でも簡単にいじれると思っていましたhttps://www.youtube.com/watch?v=JXIP9GSDwEU この動画を参考にしました 同じようにすると一回は動作したのですが、そこからブラックアウトです. でもUSBでPCとつなぐと追加画像のようにCOM8とでるので認識はしていると思うのですが,disconnectとなります....
thkana

2021/09/05 01:17

解決にしたということはあきらめたということでしょうか。 同じことを繰り返して同じになることを確認するのも一手ですが、「壊れているのか」という判断であれば基本に立ち返って試してみたらどうなるのでしょう。 USB以外の外部配線を外して、単純なLCD表示をするスケッチ(or UIFlowのプログラム)を流し込んでみるとか。
German_p0tat0

2021/09/05 06:35

>解決にしたということはあきらめたということでしょうか。 モーターが動いた時に問題を解決にして、今の問題に気づいたので解決済みになってしまってます. 7日にm5のコンテストがあり、アイディアとプログラムは考えているのであきらめてないです.... >USB以外の外部 説明不足ですみません. 現在,USB以外の外部配線を外してPCにつなげると,ディバイスマネージャーのポート(COMとLPT)の所にCOM8と出てくるので認識はしていると思います. そこでUIFlowのデスクトップで掲載した画像の通り接続をトライするとdisconnectになります. また,ブラックアウトになる前にArduinoでサンプルのテトリスのスケッチを流し込めたので試したのですが,上の画像のようなエラーが出ました. そこでドライバ(CP210x)とM5bunnerを再インストールしました. しかし、Burnしようと思ったら上の画像のようなエラーが出ました. M5bunner上でもCOM8と出ているのに、認識していないようなエラーが出ています。 なので現状はコードを流し込めないです.
thkana

2021/09/05 08:58

追記ではなく問題を差し替えられてしまうと、こちらの回答が頓珍漢なものになっちゃうんですけど(teratailを使い慣れた人なら質問の履歴を追ってくれるでしょうけれど)。追記とするか、別の問題が発生したのなら質問を新しく起こして欲しいところ。 それはともかく。 Arduino IDEからシリアルモニタを起動して115200bpsに設定し、M5Stackの電源ボタンでリセットをかけたときにファームウェアからのメッセージが出ないようだったら故障でしょうね。メッセージが出るなら、その内容によって次を考えることになりますが。 それと、現時点では関係ないことだけれど、秋月からサーボの仕様書( https://akizukidenshi.com/download/ds/towerpro/mg996r.pdf )をみるとストール電流(軸をロックしたときの電流)が1.4Aとのこと。これは一般的なUSB2.0とか3.1とかの供給電流を超えるので、USBからの給電ではちゃんと動かない場合があり得る、ということなのでそのつもりで。で、その5Vをマイコン基板経由で供給した場合、M5Stackの電源IC(5V出力2.4A)は大丈夫みたいだけれど、一般論として他のモノだと https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13248703358 みたいなことは起こり得るのでそのつもりで。
thkana

2021/09/05 09:02

現時点では関係ないことをもう一つ言っておくと、MG996Rは制御入力処理がアナログなのでPWM周波数を50Hz以外にすると意図通りには動かないこともありそうです。
German_p0tat0

2021/09/05 17:03 編集

上のUrlを参考にm5stickc plusをUIFlowで画像⑥のようなプログラムを流したのですがBボタンを押すと背景が白に変わるので、流せていると分かったのですが,Aボタンを押すとモーターがブツブツブツと90度に回転せず(電力が足りていない感じ?)動作しないです.type-cケーブルをPCから外しても外さなくてもモーターが頑張っている音しか聞こえないです.ちなみにピンクのPWMブロックを使いましたが、urlで紹介されている黄緑のサーボブロックを使っても同じでした.
thkana

2021/09/05 22:46

> 画像⑤のようなエラーが出ます プログラムの書き込みではなく、シリアルモニタを起動してリセットを試して、リセット時になにが表示されるか(あるいはされないか)調べてください。
thkana

2021/09/05 22:55 編集

ちゃんと調べてから試さないと、本体を壊すことがある、ということを知った上でのことですからそれなりに調べたのでしょう。なら好きにすればよいと思います。それこそ自己責任。 M5StickPlusの電源の石は1.1Aまでとなっているようです。動かないことはないと思いますが、わたしならそこに1.4Aを消費する可能性のある負荷を繋ぐような「いじめ」はしません。過電流でも保護回路は入っているでしょうから壊れることはないと思いますが、なんの保証もできません。 少なくとも、サーボモーターとして多く使われるSG90よりもMG996Rというのは消費電流が多いということを肝に銘じて設計を行うべきでしょう。 > urlで紹介されている これまでのやりとりでURLはいくつも出てきたと思いますが、どれ?
German_p0tat0

2021/09/06 06:03

> 画像⑤のようなエラーが出ます 画像⑦のように何も表示されないです >これまでのやりとりでURL 直近のこれです https://burariweb.info/electronic-work/m5stickc-servo-control.html また、MG996Rの電流について, https://neo-sahara.com/wp/2015/05/17/%E3%82%B5%E3%83%BC%E3%83%9Cmg996r%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%8F%E3%81%91/ より、500~900mAほどと思っていました 電流が足りていないとすると、どうすればいいでしょうか. 新たに機材が必要ですか?
thkana

2021/09/06 13:13

> 画像⑦のように何も表示されないです あぁ、それは...多分、ダメですね。 仕様書は都合のよいところだけ読まないように。最悪の場合はストール電流が流れます。また、モーターですから、起動時等にはそれに近い大電流が流れる可能性があり、それだけの電流を流せないと動き出せないこともあります。 1.4Aと2.5Aどちらが本当なのか私は知りませんが、怪しいときは安全方向に振る、つまり2.5A流れることを想定して備えるのがスジかと思います。 別の話として、半導体は定格以上の電流(や電圧)が一瞬でも流れると以降の動作は保証されません。簡単に言えば、「壊れても文句は言えない」です。保護回路は(多分)あるとはいえ、1.1A仕様の電源ICに2.5A流れる可能性のある部品を繋ぐというのは、それなりの覚悟が必要と思います。 諸々考え合わせると、5V3A程度を供給できる別の電源を用意してサーボの電源はそちらから供給する、というのがひとつやることと言えるのではないでしょうか。
German_p0tat0

2021/09/06 21:44 編集

なるほど、ありがとうございます. 私にはサーボは早いようなので、M5StickPlus単体でできることを考えてみます. そこで質問なのですが画像⑧のようなUIFlowの加速度を使って角度を求めたいのですが,x、y、zを使ってそれぞれのアークタンジェントを求めると画像⑨の右側の表のような結果になりました.私は左側の机にM5StickPlusの裏面をおいた状態で上から見た角度を表示させたいのですが、どうすればよいでしょうか?(yaw?を表したいです)
thkana

2021/09/06 21:53

今度こそこれまでと全く別の内容に変わっていませんか? 一旦諦めるなら諦めるで自己解決にでもして(解決してないけど)仕切り直してはいかがですか。
thkana

2021/09/06 21:54

回答の一番最初に > UIFlowは使ってないので知りませんが、 と書きましたが、敢えてその相手に聞きたいのですか?
German_p0tat0

2021/09/06 22:11 編集

そうですね、仕切り直した方がいいですね ちなみにArduinoを使うと可能ですか?
thkana

2021/09/06 22:57

このままダラダラ続くことのないよう、別の話題にはこの質問では回答しません。
guest

0

自己解決

①m5stack basicでモータ動かす→UIFlowの場合ではPWMブロックを使う
➁m5stack basicがブラックアウト→私と同じ症状の場合は壊れてる確率が高い
➂m5stickcplus でモータ動かす→モーター用に電力を別で確保

投稿2021/09/06 22:10

編集2021/09/06 22:12
German_p0tat0

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問