直流电机能听见声音却不转是怎么回事?
今天用L298N电机驱动板做直流电机实验,凑近听可以听到电机“嗡嗡”的声音,然而电机却不转动是怎么回事。直连电机和电池可以转动。线路接法如下图:Arduino用USB供电;电机驱动板由电池供电9V。
代码如下:const int pinEA = 11;
const int pinIN1 = 10;
const int pinIN2 = 9;
unsigned long time;
int peed;
int dir;
void setup() {
Serial.begin(9600);
pinMode(pinEA, OUTPUT);
pinMode(pinIN1, OUTPUT);
pinMode(pinIN2, OUTPUT);
time = millis();
peed = 0;
dir = 1;
}
void loop() {
analogWrite(pinEA, peed);
if ( 1 == dir ) {
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, HIGH);
} else {
digitalWrite(pinIN1, HIGH);
digitalWrite(pinIN2, LOW);
}
if ( millis() - time > 5000 ) {
time = millis();
peed += 20;
if ( peed > 255 ) {
peed = 0;
}
if ( 1 == dir ) {
dir = 0;
} else {
dir = 1;
}
}
}
请教各位朋友,会是什么原因呢? 把最后的那段
if ( 1 == dir ) {
dir = 0;
} else {
dir = 1;
}
去掉试试 本帖最后由 树·水·风 于 2012-3-2 14:04 编辑
Malc 发表于 2012-2-29 15:34 static/image/common/back.gif
把最后的那段
if ( 1 == dir ) {
dir = 0;
程序运行的时候可以看到板子上的L1和L2灯是交替点亮的,所以我想程序是没有问题的。
另外我也试了只是单方向驱动电机转动,即始终保持一端HIGH一端LOW,peed(脉冲设置为100),也是没有效果,只有电机嗡嗡声,没有转动。
是不是peed值要由小变大才能驱动,因为在上述程序时开始还成功过一两次,后来才不成功的。而单方向驱动时,我是直接设置peed=100,却一次也没有成功转动过。 PWM数值太小..最大255.. tianbin4279 发表于 2012-3-2 14:05 static/image/common/back.gif
PWM数值太小..最大255..
200也试过,一样的结果,都是不转啊:'( 只要出声音了,就肯定可以转..估计还是你程序有问题..
你在执行点击转的里面加上
delay(30)试试 tianbin4279 发表于 2012-3-2 15:16 static/image/common/back.gif
只要出声音了,就肯定可以转..估计还是你程序有问题..
你在执行点击转的里面加上
delay(30)试试
可以了,我之前用到的判断方向的是9和10,两个PWM端口,换成7和8非PWM端口,发现可以运行了,我猜想就是这个原因。 我接两个电机时,又不行了,能听到wenwen声,电机不转:'( 在电机两侧加个104什么的电容试试看~~~ 问题解决了,我换了新的电池,我想应该是前面的电池供电不给力造成的。 我也出现过以上问题,我去换个电池试试
那个方块电池怎么能驱动电机啊
页:
[1]