• 締切済み
  • すぐに回答を!

Arduinoによるモーター制御

Arduino microとモータードライバを用いてモーターを制御しようと考えています。なるべくモーター制御機構を小さくしたいので外部電源を取り付けたくないのですが、外部電源がない場合Arduinoがショートしてしまうことはありますでしょうか? また、どれくらいの電圧、電流だと大丈夫なのかを調べるにはどのように計算をすればいいのでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数800
  • ありがとう数0

みんなの回答

  • 回答No.4

ショートはないが サーボ数が多かったり負荷が大きいと 電源のコンデンサーが吹っ飛ぶか ICが焼ける

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Arduino UNO R3とモーターシールド

    Arduino UNO R3とモーターシールドL298を使用して制御を行おうとしています. シールドはArduinoだけでは電流値が足りず, 外部電源(単三乾電池4本)を用いるために導入したのですが, このシールドを用いるとテスターで確認してもプログラム通りに電圧を出力してくれません. プログラムは,Arduino単体で動かした時には正常に動いたものを モーターシールドを動かすために改変したもので,間違いは無いと思われます. モーターシールドはこれを使っています. http://www.elecfreaks.com/wiki/index.php?title=L298_Motor_Shield 電圧が供出力されない原因はなにか,まったくわかりません. 回答の程よろしくお願い致します.

  • Arduino の不可解なリセットの回避について

    Arduinoの互換機(ArduinoUNOと同じようなもの)を使って電子工作の練習をしている初学者なのですが、不可解なリセットに悩まされています。リセットが起きてしまう状況を自分なりに調べてみたのですが、よくわかりませんでした。以下に状況を示しますのでリセットの原因や回避方法を教えてください。 ・モータードライバでモーターを動かしたときにリセットする(モーターは別電源で動かしている) ・かなりの確率でリセットするが、モーターを動かしてもリセットしないこともある。 ・テスターで測ったところ異常に大きな電流は流れていなかったし、逆電流もなかった。 ・正転、逆転のどちらでもリセットが起きていた。モーターの両極にコンデンサーをつないでみてもリセットした。 ・Arduino のGPIOピンを2か所のGNDだけ刺さっている状況にして、別電源だけでモータードライバとモータを動作させてもリセットが起こった。 ・GNDのピンを1か所減らした回路にしてみたら、リセットが起こりづらくなった。 ・5Vの電源ピンを別のセンサーにつなぐとリセットが再発した。よってこれを外したところ、リセットは殆ど無くなったように見えた。(Vccは別電源と定電圧レギュレータを用いることにした) ・モータードライバとモーターを2つずつにしてみたところ、リセットが起こった。モータードライバを新品のスペアに替えてみると、リセット確率は低下したが稀にリセットした。 以上です。モータードライバはTA7291P、モーターはFA130を使っています。ぼくはもうお手上げなのでどうかよろしくお願いします。

  • Arduinoでサーボモーター制御

    Arduinoでサーボモーターを制御するためのソフトを探しています Arduinoはモータに信号を送って動かすだけにしたいので、Arduinoに信号を送るソフトが欲しいのですがなかなか見つかりません。 主に三角関数をArduinoに送りたいのでそういったものを計算でき、Arduinoとリンク出来るいいソフトはありませんか?

  • 回答No.3

>ArduinoはRapberry piのシリアルポートから電源を頂こうと考えているので そもそもですがArduino電源はUSBからでしか供給出来ないのですか? 市販マウスでもあるまいに https://www.switch-science.com/catalog/1120/ USBからでも電源供給が可能になってるだけで 本来はピンヘッダから電源供給するハズなのだが? さもないとパソコン無しの単体運転できないでしょ? それとも、電源ケーブルを抜き差しする必要が有るのですか? しかもArduinoを10台も繋いで このスレは 「民生用ロボット」 なので、恐らく↓を作りたいのでしょうけれど https://kondo-robot.com/product-category/robot/khrseries 初心者ならそのまんまキットを買った方が早くて安いのに サーボモータ https://kondo-robot.com/product-category/servomotor/b3m これをArduinoで自作しようとしてるんでしょうけれど 恐らく、徒労に終わる事でしょう 何しろこんなに小さく作れないし 旋盤やフライス盤も必須だし http://www.toyoas.jp/products/category/senban/detail.html?p=54 そして何よりこれらの操作スキル獲得は マイコンプログラムよりも遥かに困難だし

共感・感謝の気持ちを伝えよう!

  • 回答No.2

少なくとも↓の配線ではArduinoの電源がショートする事はないですね https://www.petitmonte.com/robot/motor_driver_ta7291p.html 但し、配線間違いすれば ArduinoのI/Oがショートする可能性は無きにしも非ずですが >どれくらいの電圧、電流だと大丈夫なのかを調べるにはどのように計算をすればいいのでしょうか? Arduino基板から外部へ電源供給するような設計は悲惨の極致です 電源ユニットからArduino電源とその他基板電源へ並列供給すればオシマイ 計算不要!

共感・感謝の気持ちを伝えよう!

質問者からの補足

やはりArduinoからの電力供給は悲惨の極致なんですね。 ArduinoはRapberry piのシリアルポートから電源を頂こうと考えているので並列で供給するにはシリアルポートを諦めるしかなさそうですね。 シリアルポートを使うとしてなにか別にいい方法はないでしょうか?

  • 回答No.1
  • ohkawa3
  • ベストアンサー率58% (576/979)

ご使用になる予定のモータードライバーとモーターを具体的にご呈示になることをお勧めします。 また、モーターを組み込む機器の用途や使用環境、外部とのインターフェースなどがシステム設計に影響を与えますので、可能な範囲で背景をお知らせください。

共感・感謝の気持ちを伝えよう!

質問者からの補足

モータードライバ はBD6222HFP、モーターはなるべく大きいものがいいのですがとりあえず、マブチモーターで3vくらいのものを考えています。 使用環境はモーターを回すだけなのですが、何時間も連続で回し続けるという使い方ではなくて、断続的に何回か回すといった使い方を想定しています。 外部との接続は、arduinoの電源をRaspberry piからシリアルポート経由で供給している状態です。 またRaspberry piから複数のArduinoを制御しようと考えています。 よろしくお願いします。

関連するQ&A

  • モーターの制御回路と電源について

    20個程のDCモーターをモータードライバを用いて制御する装置を作っています. モーター側の電源をバッテリーから,ロジック側の電源を5Vスイッチング電源から供給しており,互いのグランドを共通にしています.モーター側の電源はLM338Tを二個介して5Vまで落としています. しかし,モーターにマブチモーターを使用していて消費電流が大きいためか一度に多くのモーターを駆動させると電源が不安定になり,それがグランドを通してマイコンのロジック電源も不安定になり,どうもマイコンの電圧が動作電圧未満に瞬間的に落ち,リセットされているという現象が起きているのかもしれなく誤動作が生じてしまいます. それぞれの電源をフォトカプラなどでアイソレートする方法もあるかもしれないのですがなんとか二つの電源のグランドを共通にした状態で以上の問題を解決できるような方法はあるでしょうか? どうぞよろしくお願いします

  • モータのベクトル制御について

    今晩は、 モータのベクトル制御について、教えて下さい。 1、 ベクトル制御の原理は、「電流位相」を制御して行う。すなわち励磁電流を一定にして、変動するトルクに合わせて、トルク電流を変えることと理解しております。すなわち、「電流」を制御する。 2、 一方、実際には、モータを制御するのは、電圧型インバータであり、インバータ出力の「電圧振幅」「電圧周波数」「電圧位相」を調整して、目的の回転速度、トルクに制御しているはずです。 原理は、「電流」位相を制御するはずなのに、実際はインバータの「電圧」を変化させてモータを制御している。この溝は、どのようにして埋まっているのでしょうか?また上記の考え方で間違いがあれば、訂正願います。

  • モーターとPIC用の電源

    電子工作でPICを用いてモーターを動作させる回路を作成しています。 モータードライバIC(TA7291P)をPICで制御してモーター(FA-130)を回転させようとしています。 (最終的には3つドライバを使用して3つのモータを制御するつもりです。) 9Vの006P電池を5Vのレギュレータを用いてPICとモータードライバの電源にしたのはいいのですが、この5Vの電源をモーターの電源にしたところ、回転速度が非常に遅くて、PICにつないだLEDが点滅(電流が足りていない?)して上手く動作しませんでした。 調べてみるとIC側の電源とモーターの電源を別にしないといけないことを知りました。 そこで、IC側はそのままでモーター側の電源をスイッチングACアダプタに変えることにしましたが、出力電圧と出力電流はどのようなものを選べばよいでしょうか。 これは希望なんですが、ACアダプタ一つでモーターとIC用の電源にすることはできないでしょうか。

  • Arduinoを使ったLEDランプの制御

    添付した画像の通り,LEDランプの電源供給をArduinoによって制御したいな と考えております.書籍等を参考にしてまず考えたのが, リレースイッチ「G5V-2」(https://www.omron.co.jp/ecb/products/pry/111/g5v_2.html)と MOS-FET「2SK2925」(http://akizukidenshi.com/download/ds/renesas/2sk2925.pdf)を 利用した,外部電源の制御とスイッチングを行うような仕組みでしたが,動作させることが出来ませんでした.次に考えたのが,ソリッドステートリレーでの切り替えでしたが,どのようなものを購入すればいいのか分からず,断念してしまいました.制御したいLEDランプのACアダプタには「入力:AC100V~50/60Hz 0.2A,出力:DC12V 0.32A」と書いてあり,DCジャック付きコードとDCプラグ付きコードをそれぞれターミナルブロックを用いてブレッドボードに接続しています. 当方電磁気学を苦手としており,電流や電圧,抵抗の計算がよく分かっておらず,先述したパーツでは過電流や過電圧といったことが生じていたのかもしれません. このLEDライトをArduinoで制御するためには,どのようなパーツを使って,どういった回路を組めばいいかご教授願いたいです. なお,参考になりそうな書籍やサイト様を挙げていただけると大変嬉しいです.よろしくお願いします.

  • ArduinoでDCモーターの角度制御

    arduinoでDCモーターの角度のフィードバック制御をしたく思っており、エンコーダーで角度を計測しながら、一定時間毎(10ms)にモーターに制御入力を入れたいです。エンコーダーで角度を計測するには外部割り込みが必要で、一定時間ごとにモーターへの電圧を変化させるにはタイマー割り込みが必要だと思います。この場合どのようなプログラム構成にすれば良いのでしょうか?void setup( )の中に、 attachInterrupt(interrupt, function, mode) ; MsTimer2::set(unsigned long ms, void (*f)()) ; MsTimer2::start(); を書けば良いのでしょうか?この場合、タイマー割り込みで実行される関数 void (*f)()の処理中に、外部割り込みのイベントが発生した場合、functionを実行してくれるのでしょうか?また、functionの実行中にタイマー割り込みが入ることもあり得るのでしょうか?この場合、エンコーダによる角度計測がきちんと行われないことになると思うので、どうすれば良いでしょうか? ご教授のほどどうぞよろしくお願い致します。

  • 【Arduino】モーターが最高速でも遅い

    Arduinoからブラシレスモータを4つ制御しようとしています。 Arduinoと4つのモータドライバを繋げ、各モータドライバとモータを繋げています。 モータドライバのSet Value Speedというピンに0~5Vの電圧をかければそれに応じた回転数が得られる事になっています。 しかし、5Vをかけてもモータの本来の最高速の1/3くらいしか得られません。 Set Value Speedにかける電圧を徐々に上げていくと、0.5Vくらいまでは回転数が上がっていくのですがそれ以降は変化しません。 使用しているのは以下の通りです。よろしくお願い致します。 Arduino: Arduino UNO モータドライバ: maxon DEC Module 50/5 http://www.maxonjapan.co.jp/media_releases_10284.html http://www.maxonjapan.co.jp/manual/dec/DEC%20Module50-5_J(380200).pdf モータ: maxon EC 22 100W http://www.maxonjapan.co.jp/media_releases_10331.html http://www.maxonjapan.co.jp/products/datasheets/151.pdf ギアヘッド: maxon GP22 HP http://www.maxonjapan.co.jp/products/datasheets/224.pdf

  • DCモーター2つを制御する際の障害について

    マイコンの勉強がてら、赤外線ラジコンを制作しようと試みているのですが、モーター制御で躓いてしまい、質問させて頂きました。 秋月電子で購入したモータードライバDRV8832を2つ用いて、FA-130の制御をしようと試みています。 本モータードライバは障害検知機能があり、過電流、電圧降下、温度上昇で、出力を停止するようです。 このドライバを用いで、2つのモーターの正転⇔逆転(動作反転時は10ms待機)を1秒単位で繰り返すプログラムを作成し、動かしてみたところ、何回か動作を繰り返した後、片方のモーターが障害検知して、動作停止してしまいます。 試しに、1つのモーターのみを接続した場合は、障害が発生することなく、回り続けました。 また、モーターはギアを噛まして車輪に接続しているのですが、この車輪を外してモーターだけで動かした場合は、 2つ同時に回して障害が起こることはありませんでした。 電圧降下を疑って、ドライバにコンデンサを追加してみましたが、特に改善はされず、温度についても触った限り高温になっている感じではありません。 モーターの反転時に高負荷がかかり、消費電流が増えていることは理解できるのですが、モーター1つでは正常に動くのに、2つ駆動だと障害が発生する理由が分からず、行き詰ってしまいました。 お知恵を頂けると幸いです。

  • 分巻直流モーター制御について

    分巻直流モーター制御についてですが、 モーターのアーマチュアに直列に可変抵抗と並列に可変抵抗をつけ、直列に繋がった抵抗を可変したとしてもモーター側にかかる電圧は変わるけど電流は同じになりますよね?また、並列に接続された抵抗を可変した場合モーターにかかる電圧は同じで電流の方だけが変わると思うのですが、そこで、モーターの回転速度とトルクを別々にコントロールできないでしょうか? アーマチュアに流す、電圧は同じで電流だけ下げるとどうなりますか? また、アーマチュアに流す電流は同じで電流だけ上げるとどうなりますか? また、フィールドコイルの方に流す電圧のみを変えた場合どのような動きになるのでしょうか? 実際に分巻きタイプの直流モーターが無い為、実験できないのでわかる方教えてください。 よろしくお願いします。

  • モーターへの分圧抵抗

    モータードライバからの出力電圧7.2vをマブチモーターRE-280に加圧したいのですが、モーターの定格電圧が3vのため抵抗にて分圧し、だいたい3vくらいをモーターにかけたいと思います。 本来であればモータードライバのVrefで出力電圧を決めてやるのが正解なんでしょうが、完成品のモータードライバユニットのため内部の回路に手を加えたくないので、こういう方法しかないかなと思います。 ちなみに出力制御はPWM波なので、0vか7.2vです。 で、問題は何オームの抵抗を入れるかなのですが、、、どういう計算になるのでしょうか??

  • モーターのトルク制御について

    モーターをトルクで制御したいのですが、それには電流制御が必要です。モーターはPWM駆動ですが、その時の電流値の推定法がわかりません。この場合の電流値を与える制御式又は制御回路などの方法がありましたら教えてください。お願いします