18338浏览
查看: 18338|回复: 26

[讨论] 杯具 L298P 2A直流电机驱动问题

[复制链接]
我的是4WD移动平台,用L298P 连接了4个直流电机(前轮两只接M2,后轮两只接M1,并联),采用VIN主板直供,UNO电源是9V电池,本来启动正常,然后用万用表测试了一下电压,M2是2V多,M1是3V多,然后再想用万用表测试一下M1口的电流大小。。。结果就杯具了。。。刚连上,万用表闪过一个1.XA的电流,然后小车就停掉。。。 然后就再也无法用UNO的电池供电启动电机了。。。。

PS:  USB供电可以启动,驱动板用外接电源也可以启动,

请问有谁知道这个问题是UNO板的问题还是L298P的问题?

perpetualy  见习技师
 楼主|

发表于 2014-11-27 21:13:03

// #
// # Editor     : Lauren from DFRobot
// # Date       : 17.01.2012

// # Product name: Wheel Encoders for DFRobot 3PA and 4WD Rovers
// # Product SKU : SEN0038

// # Description:
// # The sketch for using the encoder on the DFRobot Mobile platform

// # Connection:
// #        left wheel encoder  -> Digital pin 2
// #        right wheel encoder -> Digital pin 3
// #

#define LEFT 0
#define RIGHT 1

long coder[2] = {
  0,0};
int lastSpeed[2] = {
  0,0};  

int E1 = 5;
int M1 = 4;
int E2 = 6;
int M2 = 7;

int BOARDLED = 13;

void setup()
{
  pinMode(M1, OUTPUT);
  pinMode(M2, OUTPUT);
  pinMode(BOARDLED, OUTPUT);
  
  Serial.begin(9600);                            //init the Serial port to print the data
  attachInterrupt(LEFT, LwheelSpeed, CHANGE);    //init the interrupt mode for the digital pin 2
  attachInterrupt(RIGHT, RwheelSpeed, CHANGE);   //init the interrupt mode for the digital pin 3  
}
void loop()
{
  digitalWrite(BOARDLED, LOW);
  int value = 250;
  //for(value = 0 ; value <= 255; value+=5)
  {
    digitalWrite(M1, LOW);
    digitalWrite(M2, LOW);
    analogWrite(E1, value);   //PWM调速
    analogWrite(E2, value);   //PWM调速
    delay(10);
    PrintSpeed();
  }
}

void PrintSpeed()
{
static unsigned long timer = 0;                //print manager timer
  
  if(millis() - timer > 80){                  
    Serial.print("Coder value: ");
    Serial.print(coder[LEFT]);
    Serial.print("[Left Wheel] ");
    Serial.print(coder[RIGHT]);
    Serial.println("[Right Wheel]");
   
    lastSpeed[LEFT] = coder[LEFT];   //record the latest speed value
    lastSpeed[RIGHT] = coder[RIGHT];
    coder[LEFT] = 0;                 //clear the data buffer
    coder[RIGHT] = 0;
    timer = millis();
  }
}

void LwheelSpeed()
{
  coder[LEFT] ++;  //count the left wheel encoder interrupts
}


void RwheelSpeed()
{
  coder[RIGHT] ++; //count the right wheel encoder interrupts
}

代码贴上。
回复

使用道具 举报

Eric  初级技神

发表于 2014-11-27 23:20:21

perpetualy 发表于 2014-11-27 21:13
// #
// # Editor     : Lauren from DFRobot
// # Date       : 17.01.2012

有一种可能不知道我猜的对不对,到你手里的L298P双路2A直流电机驱动是新版还是老板
图1杯具 L298P 2A直流电机驱动问题图1
图2杯具 L298P 2A直流电机驱动问题图2
你能确定是图1还是图2吗?如果是图2 的话,你的软件程序有错了,因为图2的控制脚是用到D10 D11  D12  D13的脚
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 13:07:34

Phoebe 发表于 2014-11-27 11:07
请问您用的是哪个4WD平台?L298的电是另外供的吗?,可否上个连线图,这样好看看是哪里的问题 ...

杯具 L298P 2A直流电机驱动问题图1
大概的连线就这样。

下面的开关电源其实没用,L298P 跳线接的是VIN,但是测量电压的时候L298P 外接电源是有电压的,跟UNO输入电压一致,9V
回复

使用道具 举报

Phoebe  高级技匠

发表于 2014-11-27 11:07:05

请问您用的是哪个4WD平台?L298的电是另外供的吗?,可否上个连线图,这样好看看是哪里的问题
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 11:24:13

你好我用的是这个,SKU:ROB0025,电路图稍等
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 13:08:53

Phoebe 发表于 2014-11-27 11:07
请问您用的是哪个4WD平台?L298的电是另外供的吗?,可否上个连线图,这样好看看是哪里的问题 ...

哦,对了,L298P 是直插 UNO。
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 13:12:26

Phoebe 发表于 2014-11-27 11:07
请问您用的是哪个4WD平台?L298的电是另外供的吗?,可否上个连线图,这样好看看是哪里的问题 ...

有个地方画错了。

电路图

电路图
回复

使用道具 举报

Phoebe  高级技匠

发表于 2014-11-27 13:37:11

连线图看着没有问题,你给UNO少一个Blink进去看看,UNO是否还正常工作。
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 14:11:18

Phoebe 发表于 2014-11-27 13:37
连线图看着没有问题,你给UNO少一个Blink进去看看,UNO是否还正常工作。

你好,请问少一个BLINK是什么意思呢?我是ARDUINO新手,有些术语还不明白!:lol
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 14:50:22

Phoebe 发表于 2014-11-27 13:37
连线图看着没有问题,你给UNO少一个Blink进去看看,UNO是否还正常工作。

你的意思是关掉板载LED? 13PIN?
回复

使用道具 举报

Phoebe  高级技匠

发表于 2014-11-27 15:29:16

perpetualy 发表于 2014-11-27 14:50
你的意思是关掉板载LED? 13PIN?

对的,板子的LED,13号脚的。你的UNO没问题吧,现在的问题就是UNO没法给L298供电了是吗? 代码你用的是哪个?
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 16:03:31

Phoebe 发表于 2014-11-27 15:29
对的,板子的LED,13号脚的。你的UNO没问题吧,现在的问题就是UNO没法给L298供电了是吗? 代码你用的是哪 ...

好,我晚点回去试试再贴代码,回头再请教您,谢谢。
回复

使用道具 举报

Phoebe  高级技匠

发表于 2014-11-27 16:06:37

perpetualy 发表于 2014-11-27 16:03
好,我晚点回去试试再贴代码,回头再请教您,谢谢。

好的,实在解决不了,旺旺联系我们的技术客服,周一到周五工作时间都有技术在线,可以随时骚扰:lol
回复

使用道具 举报

Eric  初级技神

发表于 2014-11-27 16:06:54

perpetualy 发表于 2014-11-27 14:50
你的意思是关掉板载LED? 13PIN?

您方便发一组详细的链接图吗,连线图,我们好好看看是那里出的问题,如果连接图没有问题的话我们可以排除硬件的错误,软件再去找问题,谢谢
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 16:08:46

Phoebe 发表于 2014-11-27 15:29
对的,板子的LED,13号脚的。你的UNO没问题吧,现在的问题就是UNO没法给L298供电了是吗? 代码你用的是哪 ...

对了,还有一个现象我刚才忘记说了, 我给UNO板用USB供电,这时候电机转动起来了,然后这个时候在UNO上接上9V电源,再拔掉USB,电机还是可以继续运转的。。。。 奇怪了。
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 16:18:46

Eric 发表于 2014-11-27 16:06
您方便发一组详细的链接图吗,连线图,我们好好看看是那里出的问题,如果连接图没有问题的话我们可以排除 ...

OK。晚点我把面包板和其他连线都补上,其实很简单的,没有复杂电路,上面画的就已经有百分之八十了。。。
回复

使用道具 举报

Eric  初级技神

发表于 2014-11-27 17:20:11

恩恩,您发上去后我们好做判断是不是硬件问题
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 19:45:19

Phoebe 发表于 2014-11-27 16:06
好的,实在解决不了,旺旺联系我们的技术客服,周一到周五工作时间都有技术在线,可以随时骚扰 ...

我在程序里面关闭L灯,发现接通UNO外置电源后它还是在不停闪烁。这个应该证明不是程序问题了。
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 21:11:04

Eric 发表于 2014-11-27 17:20
恩恩,您发上去后我们好做判断是不是硬件问题

这是另外一块,加上上面那块,全部在这里了。
这部分是编码器



Encoders

Encoders
回复

使用道具 举报

perpetualy  见习技师
 楼主|

发表于 2014-11-27 23:30:17

Eric 发表于 2014-11-27 23:20
有一种可能不知道我猜的对不对,到你手里的L298P双路2A直流电机驱动是新版还是老板
图1
图2

我的板是图1哦。
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail