GaryChan 发表于 2015-2-27 22:06:19

关于直流电机pwm调速走直线问题,求助帮助,新手一枚。

ArduinoUnoR3小车(L298N)用PWM调速后依然不能走直线,后期还会出现偏摆,右轮偶尔出现停转现象,不知道是否右电机出现问题,问题多多,但代码似乎没什么问题……求助帮助

int pwm1 = 10;   
int IN1 = 4;
int IN2 = 5;
int pwm2 = 11;                        
int IN3 = 6;
int IN4 = 7;
void setup()
{
Serial.begin(9600);
pinMode(pwm1,OUTPUT);
pinMode(pwm2,OUTPUT);
int i;
for (i=4;i<=7;i++)
pinMode(i,OUTPUT); //设置数字端口4,5,6,7为输出模式
}
void loop()
{
   int value;
   for(value = 0 ; value <= 255; value+=1)
   {   
   digitalWrite(IN2,HIGH);
   digitalWrite(IN1,LOW);
   digitalWrite(IN4, HIGH);
   digitalWrite(IN3,LOW);
   analogWrite(pwm1, 78);   //PWM调速
   analogWrite(pwm2, 85);   //PWM调速
   }
}

vblearn 发表于 2015-2-27 22:26:12

前两天我也遇到问题,应该是因为两个电机不完全一致,而且安装也不完全一致。
最终解决办法还是闭环控制。

GaryChan 发表于 2015-2-27 22:44:55

vblearn 发表于 2015-2-27 22:26 static/image/common/back.gif
前两天我也遇到问题,应该是因为两个电机不完全一致,而且安装也不完全一致。
最终解决办法还是闭环控制。

多谢回复……安装不一致是怎么一回事?我纯新手,具体如何闭环控制?求指导……

喵了咪的薛定谔 发表于 2015-2-27 23:32:21

停转?是不是机械故障啊?
有一种轮子是带码盘的,可以通过码盘获得轮子的实际转速,可以控制差速转向的,你可以去淘宝看看,我记得年前有一批扫地机器人配件在甩卖,一对才二十多,电机、码盘、齿轮和轮子都有。

GaryChan 发表于 2015-3-1 10:54:21

喵了咪的薛定谔 发表于 2015-2-27 23:32 static/image/common/back.gif
停转?是不是机械故障啊?
有一种轮子是带码盘的,可以通过码盘获得轮子的实际转速,可以控制差速转向的, ...

不排除机械故障……我电机本身是直流减速电机自带码盘,可pwm调速的,是采购智能小车基础套件自带的。

wathan 发表于 2015-5-11 01:15:22

本帖最后由 wathan 于 2015-5-11 01:17 编辑

你这个两个轮子的转速不一样,调成一致就可以了。
analogWrite(pwm1, 78);   //PWM调速
   analogWrite(pwm2, 85);   //PWM调速

speter 发表于 2015-8-4 17:07:44

還是不行,試著加50~100ms的delay看看...

zk16 发表于 2015-8-27 19:15:44

如果只是作个玩的话, 没必要要求太高, 5---7米大概直线就可以了.

henrypcw 发表于 2015-8-27 19:48:18

你没有测速,加个测速装置吧。

例如可以用码盘测速。

li23108 发表于 2015-9-30 21:09:02

78,启动的扭矩不够吧,至少要160吧。
页: [1]
查看完整版本: 关于直流电机pwm调速走直线问题,求助帮助,新手一枚。