极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20793|回复: 11

L298N沒動作

[复制链接]
发表于 2014-2-4 20:36:40 | 显示全部楼层 |阅读模式
本帖最后由 ro510ck 于 2014-2-9 21:22 编辑

請問如果說L298N的模組在執行程式時兩邊的輸出指示燈有亮但馬達會發出聲音沒動作ENA和ENB接上5V,用電表量測接上馬達時的電壓大概0.5~1V左右拔掉馬達後測量大約4~5v這樣是代表我的L298N掛了嗎??

L298N模組是用9V電池
ARDUINO UNO R3板子是用電腦的USB供電
L298N的GND有接到ARDUINO的GND

以下是我用來測試的程式


/* Input for motorA:
   IN1      IN2      Action
   LOW      LOW      Motor Stop
   HIGH     LOW      Motor moves forward  
   LOW      HIGH     Motor moves backward
   HIGH     HIGH     Motor Stop
*/   
const int motorIn1 = 3;
const int motorIn2 = 4;
const int motorIn3 = 5;      
const int motorIn4 = 6;      

const int DELAY = 1000;

void setup()  
{
  pinMode(motorIn1, OUTPUT);
  pinMode(motorIn2, OUTPUT);
  pinMode(motorIn3, OUTPUT);
  pinMode(motorIn4, OUTPUT);   
}

void loop()
{
  selfTest();
}

void selfTest()
{
  forward();
  delay(DELAY);
  motorstop(); delay(500);
  
  backward();
  delay(DELAY);
  motorstop(); delay(500);
  
  right();
  delay(DELAY);
  motorstop(); delay(500);
  
  left();
  delay(DELAY);
  motorstop(); delay(500);  
}

void motorstop()
{
  digitalWrite(motorIn1, LOW);
  digitalWrite(motorIn2, LOW);
  digitalWrite(motorIn3, LOW);
  digitalWrite(motorIn4, LOW);
}

void forward()
{
  digitalWrite(motorIn1, HIGH);
  digitalWrite(motorIn2, LOW);
  digitalWrite(motorIn3, HIGH);
  digitalWrite(motorIn4, LOW);
}

void backward()
{
  digitalWrite(motorIn1, LOW);
  digitalWrite(motorIn2, HIGH);
  digitalWrite(motorIn3, LOW);
  digitalWrite(motorIn4, HIGH);
}

// Let right motor keep running, but stop left motor
void right()
{
  digitalWrite(motorIn1, HIGH);
  digitalWrite(motorIn2, LOW);
  digitalWrite(motorIn3, LOW);
  digitalWrite(motorIn4, LOW);
}

// Let left motor keep running, but stop right motor
void left()
{
  digitalWrite(motorIn1, LOW);
  digitalWrite(motorIn2, LOW);
  digitalWrite(motorIn3, HIGH);
  digitalWrite(motorIn4, LOW);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-2-4 21:35:50 | 显示全部楼层
没有使能吧 ENA(B)也要接到单片机上
回复 支持 反对

使用道具 举报

发表于 2014-2-4 21:46:15 | 显示全部楼层
您有共地嗎??
如果沒有共地,一啟動就會擊穿橋式電路,L298N就報銷了。{:3_58:}
回复 支持 反对

使用道具 举报

发表于 2014-2-4 21:51:37 | 显示全部楼层
您已經有共地了喔,抱歉,一下沒看到,請問您有成功讓他動過嗎??是買回來第一次試就沒過,還是有動過幾次??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-4 22:10:42 | 显示全部楼层
隨風大俠 发表于 2014-2-4 21:51
您已經有共地了喔,抱歉,一下沒看到,請問您有成功讓他動過嗎??是買回來第一次試就沒過,還是有動過幾次??

這個是賣家所提供的測試程式,剛買回來有動過幾次部過隔天在用別的程式測試後就無法動作,至於現在在使用這個程式運行時馬達會發出類似氣球洩氣的聲音
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-4 22:12:24 | 显示全部楼层
294086306 发表于 2014-2-4 21:35
没有使能吧 ENA(B)也要接到单片机上

這個我有查過,不過我用的程式是讓ENA(B)採高訊號只是在測試說板子和馬達是否正常運作
回复 支持 反对

使用道具 举报

发表于 2014-2-5 21:06:09 | 显示全部楼层
或许是外接输入功率不足吧。。。感觉没什么不对的。。。
回复 支持 反对

使用道具 举报

发表于 2014-2-5 22:43:41 | 显示全部楼层
L298换个电源试下。或者测量接上电机后的电池电压看下。
回复 支持 反对

使用道具 举报

发表于 2014-2-6 10:24:03 | 显示全部楼层
建议不要用arduino的5V电源!我的小车用的是12V的外接电源,L298N是从arduino的VIN口中取用电源,
电源还算稳定!并且arduino的稳压模块发热也不大
我写过一个电机测试程序,你试一下
  1. //L298N_A
  2. int M1_1 = 2;
  3. int M1_2 = 3;
  4. int M2_1 = 4;
  5. int M2_2 = 7;
  6. //L298N_B
  7. int M3_1 = 8;
  8. int M3_2 = 9;
  9. int M4_1 = 10;
  10. int M4_2 = 11;
  11. int val;
  12. void setup()
  13. {
  14.   pinMode(11,OUTPUT);
  15.   pinMode(10,OUTPUT);
  16.   pinMode(9,OUTPUT);
  17.   pinMode(8,OUTPUT);
  18.   pinMode(7,OUTPUT);
  19.   pinMode(4,OUTPUT);
  20.   pinMode(3,OUTPUT);
  21.   pinMode(2,OUTPUT);
  22.   Serial.begin(9600);
  23. }
  24. void loop()
  25. {
  26.   val=Serial.read();
  27.   if(val=='w')
  28.   {
  29.    digitalWrite(11,HIGH);
  30.    digitalWrite(10,LOW);
  31.    digitalWrite(9,HIGH);
  32.    digitalWrite(8,LOW);
  33.    digitalWrite(7,HIGH);
  34.    digitalWrite(4,LOW);
  35.    digitalWrite(3,HIGH);
  36.    digitalWrite(2,LOW);
  37.   }
  38.   
  39.   if(val=='s')
  40.   {
  41.    digitalWrite(11,LOW);
  42.    digitalWrite(10,HIGH);
  43.    digitalWrite(9,LOW);
  44.    digitalWrite(8,HIGH);
  45.    digitalWrite(7,LOW);
  46.    digitalWrite(4,HIGH);
  47.    digitalWrite(3,LOW);
  48.    digitalWrite(2,HIGH);
  49.   }
  50.     if(val=='d')
  51.   {
  52.   digitalWrite(2,LOW);
  53.   digitalWrite(3,HIGH);
  54.   digitalWrite(4,LOW);
  55.   digitalWrite(7,HIGH);
  56.   digitalWrite(8,HIGH);
  57.   digitalWrite(9,LOW);
  58.   digitalWrite(10,HIGH);
  59.   digitalWrite(11,LOW);
  60.   }
  61.       if(val=='a')
  62.   {
  63.   digitalWrite(2,HIGH);
  64.   digitalWrite(3,LOW);
  65.   digitalWrite(4,HIGH);
  66.   digitalWrite(7,LOW);
  67.   digitalWrite(8,LOW);
  68.   digitalWrite(9,HIGH);
  69.   digitalWrite(10,LOW);
  70.   digitalWrite(11,HIGH);
  71.   }
  72.         if(val=='u')
  73.   {
  74.    digitalWrite(11,LOW);
  75.    digitalWrite(10,LOW);
  76.    digitalWrite(9,LOW);
  77.    digitalWrite(8,LOW);
  78.    digitalWrite(7,LOW);
  79.    digitalWrite(4,LOW );
  80.    digitalWrite(3,LOW);
  81.    digitalWrite(2,LOW);
  82.   }
  83. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2014-2-6 10:28:34 | 显示全部楼层
上边那个是控制4路电机通过计算机串口控制小车的程序!当时调试时写的!
你可以根据你的需要注释掉不需要的!
用IDE下载后,打开串口调试工具,,a d w s控制
用到哪些端口看定义!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-9 21:24:00 | 显示全部楼层
潇洒哥 发表于 2014-2-6 10:24
建议不要用arduino的5V电源!我的小车用的是12V的外接电源,L298N是从arduino的VIN口中取用电源,
电源还算 ...

感謝大大問題已經找到了!!!發現是電源的問題
回复 支持 反对

使用道具 举报

发表于 2014-2-10 17:03:56 | 显示全部楼层
马到成功!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 09:41 , Processed in 0.054029 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表