打印

智能磁导航小车的速度控制

[复制链接]
2803|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
simon_1062|  楼主 | 2012-7-22 21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大神,香主!我做一个磁导航小车,现在遇见这样的瓶颈~~

目前主要实现小车的直线行驶,直流电机驱动器反馈两个电机的转速d_value1、d_value0,我测出来!

现在需要做,通过d_value1、d_value0的差值来调节两路PWM占空比来实现d_value1 == d_value0(尽量);

下面是我写的程序,没办法调节d_value1 == d_value0;

static s16 err = 0;
s16 err_1 = 0;
  
err_1 = (s16)(d_value1 - d_value0) / 2;
if (err_1 > 3)
  err_1 = 3;
else if (err_1 < -3)
  err_1 = -3;
  
  err += err_1;
vert_L = AGV_VERT;  //左边车轮 速度 ,开始 固定速度,占空比= 50%,
vert_R = AGV_VERT;  //右边车轮 速度 ,开始 固定速度,占空比= 50%,
Start_TIM1(vert_L - 2*err);   //固定速度,占空比= 50%,
Start_TIM8(vert_R + 2*err);

其中Start_TIM1(vert_L - 2*err);和  Start_TIM8(vert_R + 2*err);  来调节两路PWM的占空比;


各位有没有好点的程序,或者帮我改进下~~~谢谢
沙发
chenhuizai210| | 2012-7-22 21:13 | 只看该作者
最简单实用的,用PID控制啊

使用特权

评论回复
板凳
simon_1062|  楼主 | 2012-7-22 21:19 | 只看该作者
是的,试过好多没有成功的~~你有没有合适的想法或者算法? 2# chenhuizai210

使用特权

评论回复
地板
acgean| | 2012-7-23 08:36 | 只看该作者
PID控制 是标准的算法, 去网上找找资料吧。
stm32 轻松应付那些计算。完了你得根据你的系统确定那些参数。

使用特权

评论回复
5
figo20042005| | 2012-7-23 08:56 | 只看该作者
用PID可以的,如果LZ熟悉模糊控制,也可以试试

使用特权

评论回复
6
simon_1062|  楼主 | 2012-7-23 12:06 | 只看该作者
各位,解决了~~谢谢

使用特权

评论回复
7
figo20042005| | 2012-7-23 12:59 | 只看该作者
lz现在用的什么算法

使用特权

评论回复
8
simon_1062|  楼主 | 2012-7-25 16:13 | 只看该作者
7# figo20042005 就是PID控制,改了些参数就ok了~~程序没怎么变

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

18

帖子

1

粉丝