送给做智能车的同学们——秋名山车神队 电磁竞速组     感谢其余俩位队友们的陪伴

大家可以在我个人空间来查看我发的我们车的视频。https://blog.csdn.net/u011078253/article/details/123807766?spm=1001.2014.3001.5501
你们好,刚入手智能车可能不知所措,会浪费很多的时间,不知所措,我把这一年走的弯路告诉大家,让大家开始就有一个目标,快速进入实验室的状态,首先我要告诉大家,其实学长们的确开始比你们懂得要多,但是经过一段时间我相信你们会比我们做的还要好,相信自己,自己的想法是很珍贵的,每一年的智能车规则不一样,车模也不一样,如果电磁明年变成直立,很多关于电机的控制都用不到了,但是每一个模块的控制还得一个个来,我就给大家讲一些控制,希望大家以后能用得到。
如果你们刚到实验室还没有智能车的一些材料,那么你尽量学习51郭天祥10天学会单片机视频,做一些小的玩意,智能车也是需要一定的基础的,做出小的作品对你以后参加智能车特别有用的,建议你们买一套51开发板,你们可以边看边写,照着视频里面的写,一旦你们点亮led灯后,会很有成就感,你们也会发现其他东西也并不是想象中的那么难,增加你们的信心,这也对你们参加挑战杯,其他比赛很有用的,我们会把51历程会发给大家的,同时安装好IAR,这也是智能车的调试软件,看一下山外的视频讲解。
如果你们接触到了智能车材料,而不知所措的话,你们一定要先知道,做智能车先要分配好任务,每个人都要有事做,做车千万不要自己的事做完了就不管了,既然是一个团队,就要互相帮助,单独的调车很痛苦的,多陪陪队友,才有动力,很多队半途放弃了,五六十个队只能留下十二个队,只要能坚持下来,会成功的,一直调半年的车,再大的兴趣也被磨得差不多了,所以提前做好准备。
下面开始主题,首先建议你们买成品板,买电机驱动,主板,如果还是可以用K60的话,强烈建议买山外K60FN(UD版)芯片,原因就是因为他历程给的多,省了大家很多很多时间,有了山外的库,我们就可以直接调用就行了,买过山外的板子后,我们当初寒假留校一星期,每一天都要给自己一个目标,比如第一天定目标完成电机控制,第二天完成舵机控制,第三天完成传感器采集,然后尝试把这几个程序合在一起,一起控制,前提一定要先买好材料,可以再考期末试的时候把开发板,主板,驱动板买回来,以防开始无所事事。
K60有四个中断,FNK60有4个FTM,大家尽量把程序分在各个中断里面,不要把所有程序都放在while中,事实证明,放在while会让单片机处理信息特别大,单片机容易热,也容易烧,放在中段里面,大大减少了单片机的工作量,而且处理速度反而更快,四个中断,一个用于舵机,舵机极限是300HZ,也就是他最大只能达到300HZ,也就是1000/300=3.3ms,就是说他最快反应时间也只是3毫秒,所以没必要让他在while中一直循环做无用功,同样的时间越短,舵机力量越小,在转弯的时候显得没力,所以我才用200HZ,也就是5MS反应一次,所以舵机中断时间我给的是5MS,最大限度的减少了单片机的工作量,同样的,我电机给的是50HZ,中断给20ms,传感器检测我也是给5ms中断和舵机放在一起,我的编码器中断给50ms,这个中断我给的大了,你们可以给20ms,让编码器速度检测的更快一点,屏幕给的是100ms,因为屏幕只是方便调试,不用太占用单片机的处理时间的,中断还会有优先级,优先级就是假如5ms的中断和10ms中断,5ms处理俩次之后同时到了10ms中断,当他们中断相遇时,就要有优先级来决定先处理哪一个中断,这里我给的是舵机(传感器采集)为第一优先级,电机为第二优先级,编码器为第三优先级,屏幕为第四优先级,,K60有4个FTM,我是B车模,只有一个电机,所以一个用于舵机,一个电机,一个编码器,注意的是,一个FTM只能控制一样东西,假如控制了舵机,就不能控制电机了。
我发了一个最终版的程序,里面可能加的东西有点多,不容易看,还有一份源程序,特别简洁,你们可以先按源程序改,在参考我最终程序,也不用完全按我的来,有一个好的想法真的可以把速度提升好多,珍惜你们的想法。
如果你们的车可以跑起来了,电磁组归一化很有必要的,因为不同的赛道,信号强弱也不同,不能车在本校的赛道可以跑,换个赛道就不行了,所以,要让他在其他赛道检测到的值转化到和本校赛道一样的值,这样车才能跑出更好的状态,归一化其实很简单,最终程序也详细注释了,就是在5秒内摇晃车子,每一个电感检测到的最大值和最小值记录下来,然后车子跑的时候采集到的值/(最大值-最小值)*100,这样检测到的值就会范围在0-100之间,特别容易处理这些值。
注意事项:
1.编码器当时我读了很长时间也读不出来速度,首先建议大家采用K60正交解码,可以测正反转,以后停车和刹车会好用一点,编码器有四根线,俩跟正负极,一根可以检测速度,一根检测正反转,当时读了很长时间也读出来是因为编码器俩跟信号线没有接上拉电阻,大家可以俩跟信号线分别接10k上拉电阻到5v电源上。
2.归一化之后的值正常在0-100,如果有时0-110,也正常,甚至在十字弯路段时,值可能会达到120多,所以大家在处理上坡时,给大家个方法中间加一个电感,中间归一化之后的的值大于130,说明到上坡了,然后就可以利用编码器记录距离,例如俩米,在上坡中可以加速,控制舵机小幅度打角.
///特重要的
本程序控制舵机电感源代码当中就三个电感,其实俩个就行了,我就用俩个(三个是因为外侧电感值减去中间电感值,而俩个可以外侧减去另一外侧,只是为了确定左转还是右转,为丢线做准备的),中间也可以再放一个电感检测上坡,这三个是控制舵机的,这三个电感其实不用PID,只要处理好,电机给固定占空比,速度就可以达到2米以上了,如果速度还要提升,就要用PID了,还要加俩个竖直电感在最外侧(25cm宽度限制),竖直电感的最大的优势就是在直道上怎么晃基本没值,或者值很少,但是一到弯道,提前值就会变得好大,有很好的预测性,给单片机更好的处理来面对,所以我的想法就是如果舵机在1.5米的距离之内没有出现打死的情况(小幅度的晃动不算,)则判断为直道,如果被判断为直道且竖直电感值很大的话,则判断为长直道入弯,开始用PID减速,如果过了一会舵机打死,则判断为完全进入弯道,开始加速,这样最大化的减少了速度损失,使车在拐弯时十分的迅速,
3.关于大S弯判断:,很多车子发现都是大S连续弯容易将车子甩出去,想要处理好大S弯有不影响其他弯道的速度,就必须先把大S识别出来,识别很容易,我的想法是,舵机每打死一次,记一下,如果向左打死,记录一下为1,然后用编码器记距离,如果在1米内他向相反的方向(向右打死记为0)打死,则判断为大S ,然后给予处理,减速慢行,
4.十字弯也是,十字弯的特征是我俩边的电感值在经过十字弯时都特别大,所以我就记为十字弯,然后前半段减速,后半段加速,直到再次经过十字弯,判断为出十字弯,不过有风险,就像今年的比赛,有十字弯的不一定真的就是十字弯的一个圆,所以我不建议十字弯加速。
5.上坡的问题我前面也说过了,其实一个中间的水平电感就可以了,当他大于一定的值就判断为上坡,然后给一段上坡的距离,比如1.5米为上坡,在这1.5米内你可以加速,让舵机小幅度打角,让车平稳的过去,关于飞坡也要注意一下,虽然可以在上坡加速,但也要注意万一比赛像2017年的赛道,上坡后很快到弯道,车不容易减速。
6.如果你可以跑起来了,最好可以跑完一圈的,基本车在起跑的时候速度提的很慢,如果想提速,大家可以从起点记距离设定在开始1米内给特别高的占空比,让车把速度瞬间提起来,这样可以节约一定的时间,但是注意一下速度和距离不要太长,因为比赛的时候不知道开始的知道距离有多长,如果太长的话,可能车在第一个弯道减不下来(前提是有竖直电感,可以用PID控速的)。
7.在比赛的时候要留一个最低速,我当初留了一个大约1.7米每秒的最低速度,大家可能会发现车慢了反而会内切(大家可以修改丢线电感值来控制打死角),还有一个就很粗暴,我当时在很近的地方放俩个水平电感,因为近所以,所以电感也很低,俩电感的距离也近了,所以监测的值也大了,所以丢线也会变化的快一点,让车子能沿着漆包线走,当然直接在程序修改也是可以的。
8.大家无论选择什么组,在画板子是一定要加上LED 屏,因为加了屏幕,在以后的调试中真的可以起到很大的作用,节约很多时间,还有电磁组画传感器的时候,尽量画8个,最少6个,你多画几个就算不用也没事,万一以后用也不至于重新画板子,还有电磁碳素杆之间的连接,碳素杆要用实心的,2mm,2.5mm.3mm,在淘宝搜一下就行了,我们做的时候没有想到好的方法,所以采用了热熔枪固定,但是实践表明热熔胶容易变形,不够坚硬,直到我在快比赛的时候看到安工程的衔接处全部用3D打印机打印的一个小固件,很轻,而且不占地方,所以我希望你们可以借鉴一下。
我的程序在https://download.csdn.net/download/u011078253/83901419

恩智浦智能汽车竞赛电磁组总结相关推荐

  1. 第十五届全国大学生智能汽车竞赛青少年组获奖名单

    作者:卓晴博士,清华大学自动化系 更新时间:2020-08-28 Friday 2020年8月23日,第十五届全国大学生智能汽车竞赛青少年组的决赛在线上进行.经过各赛区的选拔推荐,来自北京.上海.湖南 ...

  2. 第十五届全国大学生智能汽车竞赛创意组比赛进入全国总决赛队伍名单

    第十五届全国大学生智能汽车竞赛 创意组比赛进入全国总决赛队伍名单 01百度深度学习组总决赛队伍名单 根据参加创意组别复选赛队伍提交作品综合成绩大于60分,共43支队伍,进入创意组别全国总决赛.另外补充 ...

  3. 第十五届全国大学生智能汽车竞赛 信标组亮灯顺序和次数

    第十五届全国大学生智能汽车竞赛 信标组亮灯顺序和次数 信标位置以及在控制总线上的顺序如下图所示: 比赛亮灯次数和顺序如下图所示:

  4. 第十七届全国大学生智能汽车竞赛创意组-百度智慧交通(丝绸之路)

    第十七届全国大学生智能汽车竞赛创意组 百度智慧交通(丝绸之路) 一.赛项背景 「全国大学生智能汽车竞赛」是教育部倡导的大学生科技A类竞赛,中国高等教育学会将其列为含金量最高的大学生竞赛之一.2005年 ...

  5. 第十六届全国大学智能汽车竞赛全向组沁恒芯片申请统计情况

    全向行进组沁恒CH32V103 免费芯片申请情况汇总 §01 申请情况说明   各参赛学校的参赛同学们你们好,截止到2021年6月1日,沁恒CH32V103样片申请审批通过的学校名单如后面申请一览表所 ...

  6. 十四届全国大学生“恩智浦”杯智能汽车竞赛信标组总结(2)

    因为一些事情耽搁了几天,如今总算空出时间续写了.第一篇主要讲运动学分析,接下来讲PID控制与调速. 有关PID的形象描述有很多,最多的就是那个万恶的利用水龙头控制水箱水量,很容易理解,公式也很简单,而 ...

  7. 十四届全国大学生“恩智浦”杯智能汽车竞赛信标组总结(4)

    通过前三篇文章,车子程序的大体框架已经建立起来了.但做车嘛总是会有各种各样的问题. 首当其冲的当然就是信标灯的闪烁问题,按照第三篇文章的思路在看不到灯的时候原地旋转直到看到灯,再按照速度合成将前行速度 ...

  8. 第十五届全国大学生智能汽车竞赛ROS组车模线上比赛

    作者:卓晴博士,清华大学自动化系 更新时间:2020-08-04 Tuesday ROS车模线上比赛 1.成功的示例 (1) 示例1:浙江工业大学参赛队伍 ![](https://img-blog.c ...

  9. 智能车大赛信标组_第十五届全国大学生智能汽车竞赛在南京信息工程大学圆满闭幕...

    未来网高校频道8月31日讯(记者 杨子健 通讯员 唐翠梅 张峰)8月26日,由中国自动化学会主办,南京信息工程大学承办的第十五届全国大学生智能汽车竞赛创意组总决赛.华东赛场预决赛在该校东苑体育馆圆满闭 ...

  10. 第十七届全国大学生智能汽车竞赛百度创意组来啦

    「全国大学生智能汽车竞赛」是教育部倡导的大学生科技A类竞赛,是2021年全国普通高校大学生竞赛榜单内竞赛,中国高等教育学会将其列为含金量最高的大学生竞赛之一.在全国数百所高校的支持下,全国大学生智能汽 ...

最新文章

  1. Java调用mysql的存储过程
  2. 给plt.axvline设置图例(label)
  3. caffe与tensorflow框架下卷积的维度计算与一致性证明
  4. fpga供电电压偏低会怎样_正点原子【FPGA-开拓者】第三章 硬件资源详解
  5. java mongodb-crud
  6. 直击前沿技术:云原生应用低代码开发平台实践
  7. 一路走好——稻盛和夫先生
  8. 我来告诉你,一个草根程序员如何逆袭,成功进入BAT!
  9. 迅雷离线下载节点分布
  10. python 因子分析 权重计算_Python与量化多因子——因子权重优化
  11. 饥荒专用服务器全图显示代码,饥荒地图怎么看 饥荒地图全开代码
  12. Linux 系统使用 git 提交代码-- git 的安装及使用(简明教学指南)
  13. selenium之鼠标操作详解
  14. 学计算机要买什么笔记本,学计算机的买什么笔记本
  15. 【Java Web基础】(五)实现新增下拉列表—由用户输入内容(Html+JS)
  16. 复合材料层合板数值模拟_51CAE_新浪博客
  17. C语言之通讯录的实现
  18. python数据分析二一:图形化显示海地地震危机数据
  19. html form半透明,HTML——form
  20. Junit的基本使用(详解)

热门文章

  1. 从零开始学USB(八、USB的数据流模型)
  2. 汇编实验----电话号码
  3. 小米笔记本 镜像_2020年小米笔记本Air 13.3原装WIN10出厂系统ISO镜像1607原版下载...
  4. shell while循环
  5. 大学生计算机科学项目,计算机科学学院喜获2018年大学生创新创业项目多个立项...
  6. springboot内置浏览器_SpringBoot启动后启动内嵌浏览器的方法
  7. 兄弟打印机内存已满清零方法_兄弟打印机全部清零操作方法
  8. 钉钉日志范文100篇_钉钉工作日记(模板一)
  9. java jni 傻瓜教程
  10. Android 四大组件