5278|1

10

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

参加飞思卡尔智能车大赛的新人,希望老师们指点! [复制链接]

参加飞思卡尔智能车大赛的新人,希望老师们指点!

各位前辈!飞思卡尔智能车大赛清华大学队的队员,我写了一篇关于检测周期和控制周期的文章,希望各位老师指点。也希望老师们多多到我的博客投票支持,凡是参与投票的老师都有可能获得参加飞思卡尔技术论坛的机会。

只要到飞思卡尔技术论坛首页,然后点击“当前活动”就可以看到投票页面。请老师们多多指教!


关于检测周期,控制周期和响应周期!




作为一个以MCU为核心的控制系统,智能车主要包括 信息检测,控制算法,执行单元的响应三个部分.

检测系统的主要任务是 获取赛道信息和速度信息.

而控制系统,其任务是根据检测系统的信息,通过一定算法,计算出控制量,向执行单元发出控制命令.

对于执行单元,其任务就是将控制系统送过来的控制量转变成实际的动作,如驱动电机\舵机等.




按照一般的控制理论,在这个闭环控制系统中,检测的精度决定了整个系统的稳定性.

而对于我们的光电智能小车,情况却好象不是这样.

我们的程序结构是这样的:

#include "declare.h"

void main()

{


system_int ( );



for(;;)



{



check();
//
检测



deal();
//
计算控制量



driver(); //
输出驱动



}


}




主程序周期大概是 80us,

也就是说,我们的赛道信息检测周期是80us,控制周期也是80us.

速度检测周期通过40ms的定时中断实现.




原来一直以为这个80us就是我们整个系统的控制周期,却忽略了电机和舵机的响应时间,

经过我们进一步的测试,

我们的电机和舵机的有效响应时间大概如下:

电机10ms,舵机30ms (不一定精确哦~~)




汗,,,换句话说,我们的控制系统存在很大的问题,

打个比方,,某个时刻,check()检测到小车跑偏了,然后通过deal()和driver()控制小车,但如果此时舵机刚刚响应了上一次动作,那么此刻的检测信息是无法产生有效的控制动作的.




30ms小车会做出什么事情来呢,按照3M/S的速度,大概可以跑9cm,一段很长的距离了.再差一点点或许就冲出赛道啦.而这个时候再根据check()的值做出控制动作,又可能引起过调振荡,,,,从而出现冲弯道出来进直到,却一直在走s路线,,,




电机和舵机的响应周期是固定的,能改变的只有控制算法,

试试积分和微分,或许有用,好象又回到我们曾经抛弃的PID算法了...........

不行,我们应该抛弃这种结构!

此帖出自PCB设计论坛

最新回复

现在什么大赛都有啊,博客也有大赛啦?!  详情 回复 发表于 2008-7-30 21:56
点赞 关注
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
现在什么大赛都有啊,博客也有大赛啦?!
此帖出自PCB设计论坛
个人签名站的更高,尿的更远。
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表