极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 41226|回复: 11

直流电机能听见声音却不转是怎么回事?

[复制链接]
发表于 2012-2-28 22:27:14 | 显示全部楼层 |阅读模式
今天用L298N电机驱动板做直流电机实验,凑近听可以听到电机“嗡嗡”的声音,然而电机却不转动是怎么回事。直连电机和电池可以转动。
线路接法如下图:Arduino用USB供电;电机驱动板由电池供电9V。

代码如下:
  1. const int pinEA = 11;
  2. const int pinIN1 = 10;
  3. const int pinIN2 = 9;
  4. unsigned long time;
  5. int peed;
  6. int dir;

  7. void setup() {
  8.   Serial.begin(9600);
  9.   
  10.   pinMode(pinEA, OUTPUT);
  11.   pinMode(pinIN1, OUTPUT);
  12.   pinMode(pinIN2, OUTPUT);
  13.   
  14.   time = millis();
  15.   peed = 0;
  16.   dir = 1;
  17. }

  18. void loop() {
  19.   analogWrite(pinEA, peed);
  20.   if ( 1 == dir ) {
  21.     digitalWrite(pinIN1, LOW);
  22.     digitalWrite(pinIN2, HIGH);
  23.   } else {
  24.     digitalWrite(pinIN1, HIGH);
  25.     digitalWrite(pinIN2, LOW);
  26.   }
  27.   if ( millis() - time > 5000 ) {
  28.     time = millis();
  29.     peed += 20;
  30.     if ( peed > 255 ) {
  31.       peed = 0;
  32.     }
  33.     if ( 1 == dir ) {
  34.       dir = 0;
  35.     } else {
  36.       dir = 1;
  37.     }
  38.   }
  39. }
  40.   
复制代码
请教各位朋友,会是什么原因呢?

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-2-29 15:34:24 | 显示全部楼层
把最后的那段
if ( 1 == dir ) {
      dir = 0;
    } else {
      dir = 1;
    }
去掉试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-2 14:03:11 | 显示全部楼层
本帖最后由 树·水·风 于 2012-3-2 14:04 编辑
Malc 发表于 2012-2-29 15:34
把最后的那段
if ( 1 == dir ) {
      dir = 0;


程序运行的时候可以看到板子上的L1和L2灯是交替点亮的,所以我想程序是没有问题的。
另外我也试了只是单方向驱动电机转动,即始终保持一端HIGH一端LOW,peed(脉冲设置为100),也是没有效果,只有电机嗡嗡声,没有转动。
是不是peed值要由小变大才能驱动,因为在上述程序时开始还成功过一两次,后来才不成功的。而单方向驱动时,我是直接设置peed=100,却一次也没有成功转动过。
回复 支持 反对

使用道具 举报

发表于 2012-3-2 14:05:11 | 显示全部楼层
PWM数值太小..最大255..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-2 14:29:24 | 显示全部楼层
tianbin4279 发表于 2012-3-2 14:05
PWM数值太小..最大255..

200也试过,一样的结果,都是不转啊
回复 支持 反对

使用道具 举报

发表于 2012-3-2 15:16:10 | 显示全部楼层
只要出声音了,就肯定可以转..估计还是你程序有问题..
你在执行点击转的里面加上
delay(30)试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-2 15:34:55 | 显示全部楼层
tianbin4279 发表于 2012-3-2 15:16
只要出声音了,就肯定可以转..估计还是你程序有问题..
你在执行点击转的里面加上
delay(30)试试

可以了,我之前用到的判断方向的是9和10,两个PWM端口,换成7和8非PWM端口,发现可以运行了,我猜想就是这个原因。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-2 17:59:38 | 显示全部楼层
我接两个电机时,又不行了,能听到wenwen声,电机不转
回复 支持 反对

使用道具 举报

发表于 2012-3-3 08:39:42 | 显示全部楼层
在电机两侧加个104什么的电容试试看~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-5 12:39:12 | 显示全部楼层
问题解决了,我换了新的电池,我想应该是前面的电池供电不给力造成的。
回复 支持 反对

使用道具 举报

发表于 2013-4-23 19:28:59 | 显示全部楼层
我也出现过以上问题,我去换个电池试试
回复 支持 反对

使用道具 举报

发表于 2013-4-25 11:31:14 | 显示全部楼层
那个方块电池怎么能驱动电机啊
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 06:14 , Processed in 0.049220 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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