先日はこちらで問題解決させていただきありがとうございました。
同じマシンでベ別途問題が発生しましたので、ご教授ください。
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); } ```!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/09 09:52