marvel 发表于 2012-11-4 00:51:24

用l298n做pwm,out1和out2同时亮

我用l298n调节小车马达的速度,做了一个最简单的pwm实验:


int in1 = 8;
int in2 = 7;
int ena=6;


void setup() {
pinMode(in1, OUTPUT);   
pinMode(in2, OUTPUT);
pinMode(ena, OUTPUT);      
}

// the loop routine runs over and over again forever:
void loop() {
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
      analogWrite(ena, 250);   
      
      delay(4000);
}

结果是速度确实慢下来了,但是我发现l298n上面的out1和out2两个灯都亮着,正常应该是只有一个灯亮才对,这难道说明out1和out2都有电流通过?pwm发的应该是0-5.5v的电平,不应该出现倒转的情况吧

卖298n的老板说应该只有一个灯亮的,所以我觉得很奇怪,不应该是代码问题吧?

swim 发表于 2012-11-4 11:04:39

应该是你的程序问题一般的话en是用高低电平控制的,pwm控制的是in1-4,

smfox10 发表于 2012-11-4 16:42:08

共地没有????

marvel 发表于 2012-11-4 23:31:57

smfox10 发表于 2012-11-4 16:42 static/image/common/back.gif
共地没有????

奇怪的就是这个,我将arduino和l298n共地之后,l298n的开关就不起作用了(就是即使关的时候,也会响应arduino的指令转动马达,并且led灯都亮),我问了老板,说是没关系,所以没有共地...

难不成是298n做工不行吗

marvel 发表于 2012-11-4 23:47:11

smfox10 发表于 2012-11-4 16:42 static/image/common/back.gif
共地没有????

奇怪的就是这个,我将arduino和l298n共地之后,l298n的开关就不起作用了(就是即使关的时候,也会响应arduino的指令转动马达,并且led灯都亮),我问了老板,说是没关系,所以没有共地...

难不成是298n做工不行吗

smfox10 发表于 2012-11-5 23:15:30

你那板子是不是有4个灯啊?那四个灯可能用来指示IN1~4的工作状态,我的是不共地不工作...估计模块不同,你把图发上来让论坛的大大指点下咯,可能有人用过你那模块。我的两个直流电机分别接到IN1、IN2和IN3、IN4。
例如控制左边电机正转
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
反转
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);

当然使能脚还要接,我是直接接5V

marvel 发表于 2012-11-8 10:27:29

smfox10 发表于 2012-11-5 23:15 static/image/common/back.gif
你那板子是不是有4个灯啊?那四个灯可能用来指示IN1~4的工作状态,我的是不共地不工作...估计模块不同,你把 ...


l298n模块应该都是一样的吧?也是in1和in2控制左轮正反转,in3和in4控制右轮。

好像跟接地没太大关系,接了地之后还是一样的问题,以左轮为例,描述如下

如果pwm给的值比较小(如10),左轮不转,in1和in2亮,并l298n发声,且pwm值越小,声音越大。

如果pwm值越大(如250),左轮转动很快,声音也小了,in1和in2亮,当pwm为255时,in1亮in2不亮,没有声音。

灯亮的规律是pwm值越小,in1和in2亮度越接近,反之差别越大,当pwm为255时in1亮in2不亮。

marvel 发表于 2012-11-8 10:28:14

339388279 发表于 2012-11-4 11:04 static/image/common/back.gif
应该是你的程序问题一般的话en是用高低电平控制的,pwm控制的是in1-4,

哦?那淘宝的老板说的有问题了,我回去试一下

marvel 发表于 2012-11-8 10:34:24

339388279 发表于 2012-11-4 11:04 static/image/common/back.gif
应该是你的程序问题一般的话en是用高低电平控制的,pwm控制的是in1-4,

我买的地址是这个,他的说明是ena是pwm输入,难道这东西标准还不一样吗。。。 晕

http://trade.taobao.com/trade/detail/tradeSnap.htm?spm=a1z09.2.9.102.c3lfoD&tradeID=162524416612491

swim 发表于 2012-11-8 11:09:06

marvel 发表于 2012-11-8 10:34 static/image/common/back.gif
我买的地址是这个,他的说明是ena是pwm输入,难道这东西标准还不一样吗。。。 晕

http://trade.taobao ...

这个一看就是ena是使能端,in1-4是pwm控制

marvel 发表于 2012-11-10 23:46:33

339388279 发表于 2012-11-8 11:09 static/image/common/back.gif
这个一看就是ena是使能端,in1-4是pwm控制

你是说
in1为low
ena为high
然后in2为pwm就能实现慢速?

但是我实验的结果是:
in2用pwm置100时轮子不动,置200和250时均快速运动

不知道为什么

swim 发表于 2012-11-10 23:52:12

marvel 发表于 2012-11-10 23:46 static/image/common/back.gif
你是说
in1为low
ena为high


100-200之间呢?

marvel 发表于 2012-11-18 22:19:32

swim 发表于 2012-11-10 23:52 static/image/common/back.gif
100-200之间呢?

抱歉这么久才回,我试了一下

    digitalWrite(in1, LOW);
    digitalWrite(ena, HIGH);
   
    analogWrite(in2, x);

当x=126时,轮子不转,当x=127时,轮子全速转。。。


当代码下面的时候,轮子是慢速转动
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
   
    analogWrite(ena, 100);

swim 发表于 2012-11-18 22:23:50

marvel 发表于 2012-11-18 22:19 static/image/common/back.gif
抱歉这么久才回,我试了一下

    digitalWrite(in1, LOW);


你试试只接in1和ena,然后ena高电平或者低电平,in1 pwm能控制否?

dongleivip 发表于 2013-2-2 21:03:24

额我跟楼主买的是同一款.... 我说打开淘宝链接看图怎么这么眼熟.
页: [1] 2
查看完整版本: 用l298n做pwm,out1和out2同时亮