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

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

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Arduino

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

マイコン

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

Q&A

3回答

3460閲覧

L298n モータードライバーにてドライバー発熱が止まらない

Y.Ta

総合スコア2

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Arduino

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

マイコン

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

0グッド

0クリップ

投稿2021/11/09 03:17

編集2021/11/09 03:20

イメージ説明

先日はこちらで問題解決させていただきありがとうございました。
同じマシンでベ別途問題が発生しましたので、ご教授ください。

Arduino初心者です。

L298nというモータードライバーを2つ使い、
DCモーターとステッピングモーターを動かしています。

ステッピングモーターの方の発熱のみ非常に高温でしたので、冷却も視野に入れているところでしたが、
規定回数を超えたところで、ループから抜け出し、ステッピングモーターへの指示が止まったにもかかわらず、
モータードライバー の発熱が加速します。(dcモーター も止まります)

原因はモータードライバの故障? と疑念があるも、 他の部分で何か原因は考えられませんでしょうか。
電源は下記の安定化電源から2つのモーターへ出力しています。

現状動作の方はして欲しい動作をしてくれています。

環境
Arduino UNO
モータードライバーL298n x2
dcモーター 12v-36v 3500-9000rpm
ステッピングモータ 17HS4401
電源 安定化電源 AC DC コンバーター 12V 15A 180W スイッチング電源
磁気型非接触センサー

L298nドライバーが発熱している原因はなんでしょう。

//ソースコードです #include<LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2);//LCD情報 #include <Stepper.h> Stepper myStepper(200, 8, 9, 10, 11);//X軸モーター #include<Wire.h> volatile unsigned int count=0;//割り込み初期値 void setup(){//一度だけ実行 Serial.begin(9600); pinMode(2, INPUT); //割り込みピン attachInterrupt(0, count_pulse, RISING);//外部入力割り込み(2ピン、関数、HIGHでオン) lcd.init(); // LCDの初期化 lcd.backlight(); // LCDバックライトの点灯 lcd.setCursor(0, 0); // LCD1行目指定 lcd.print("PickUp Coil Winding"); // 文字の表示 lcd.setCursor(0, 1); // LCD2行目指定 lcd.print("For SINGLE Coil"); // 文字の表示 myStepper.setSpeed(180);//X軸動作速度 //DCモーター pinMode(3, OUTPUT);//速度 pinMode(4, OUTPUT);//DC out pinMode(5, OUTPUT);//DC out } void rot1(){//DCモーター制御 正転(反転させる場合はHIGH/LOWを逆に) analogWrite(3, 70); //DCパワー digitalWrite(4, HIGH); digitalWrite(5, LOW); } void rot2(){//X軸制御 myStepper.step(300); delay(10); myStepper.step(-300); delay(10); } void loop(){ rot1(); delay(10); rot2(); delay(10); while(count > 500){//規定countでDCモーターを動作ストップさせループエンド analogWrite(3, 0); digitalWrite(4, LOW); digitalWrite(5, LOW); exit(0); } } void count_pulse(){ count=count+1; Serial.print("Count___"); Serial.println(count); } ```!

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

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

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

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

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

guest

回答3

0

全質問の回路図を見ましたけど、ドライバはモジュール?それともチップ単体ですか?

モジュールならその配線では駄目です。
そのステッピングモータ自体は定格3.6V程度です。
12Vなんて繋いだらドライバもモータもやられますよ。
基本、定格5V以上のステッパー(やDCモータ)を駆動させる際に、その定格程度の電源を用意して使います。

チップ単体ならRS1(RS2)の抵抗をつけて、流す電流を調整して下さい。
本来、5,6V程度を入れて、RS抵抗を付けた方が良いです。

※12V電源を使いたいのなら、DRV8825(やA4988)を使って、基板上の半固定抵抗を回して電流調整した方が良いです。

投稿2021/11/09 07:12

nac_tnk

総合スコア463

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

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

Y.Ta

2021/11/09 09:52

ありがとうございます!!最高です! ステッパーの定格を完全に勘違いをしていました。完全に動作するようです! またl298nモジュールは5v出力端子を備えているので、dcモーター 側の5v出力からステッパーへ送り、3.5V調整を経て希望通りの動きを実践することができました!!! 本当にありがとうございます!
guest

0

間違っていたら申し訳ありません。

loop()を抜けるとどうしていますか?
void loop()の中で、 rot2(); delay(10);の後、割り込みにもよりますが....

while(count > 500)とありますが、 countは初期値0ですから
analogWrite(3, 0);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
exit(0);
を実行しないで抜けることはありませんか? (実行しないと電流が流れ続る?)

投稿2021/11/09 03:47

編集2021/11/09 04:04
yu-ima

総合スコア249

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

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

0

ステッピングモータは、停止中でも速度0での駆動中という形になりますんで、停止中といえども電流は流れています
そうなって当然ですね

ドライバ自体の電源を切ればモータへの電源供給が止まりますんで、それでどうなるのか見てみれば。


あれ?ドライバICの方が発熱するってことでしょうか
そいつが異常な発熱となると、配線が間違っているという可能性がありますね

投稿2021/11/09 03:41

編集2021/11/09 03:54
y_waiwai

総合スコア87749

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

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

Y.Ta

2021/11/09 03:52

あ〜〜〜!!!!そういうことですね!!! ありがとうございます!!! つまり発熱はsetSpeedによる電流で、発熱自体は正常動作ということですね。以上発熱でないならよかったです!
y_waiwai

2021/11/09 03:55

追記しましたが、モータが停止中でも発熱するってのは正常です しかし、ドライバのほうが発熱するってのはヤバいですね 通常はほんのり程度の発熱だと思います
Y.Ta

2021/11/09 04:03

う。 さわれないレベルで発熱します。L289nを交換して検証してみようと思います。
Y.Ta

2021/11/09 04:06

発熱はドライバーICです。 一応左右に動いたので正常と判断していたのですが、配線を組み替えて見ます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問