前几天答应车友说要写一篇自己做车的经验,苦于一直忙着各种项目和考试,今天抽空小结一下,声明一下,第一我不是大神,下面都是自己的经验之谈,错误在所难免,第二,我不是大神,大家也不要认为我是大神,不要和我要什么资料什么的,能给大家的我都发到论坛了,我的主页里面有几个程序,需要自己下就好,第三,本人是负责软件部分的,所以分析问题的角度有可能和大家理解的不太一样,望谅解,帖子的主要内容以硬件为主,软件部分请参考我的另一篇帖子,链接:http://www.eeskill.com/article/index/id/19571
那大概我就从一个以软件调试的角度去分析一下智能车的车体结构对车速,打滑,死机等的影响!!
首先说说死机:
总结一下大概有五种原因:
(1) 程序的数组越界问题,或者是乱用指针,导致内存泄露,一般用到数组或指针时需要留意一下。
(2) 静电问题,车子在跑道上高速运行时,摩擦产生的静电是不可估量的,解决的方法首先是要时刻保持你的车体整洁,建议用潮湿的毛巾经常擦跑道,以及轮胎,这样还能保证足够的摩擦力,另一个解决方法就是在车子底盘上附上一层锡纸,然后将锡纸用导线连接在模拟地上。
(3) 舵机放电问题,不知道大家有没有注意过,死机的情况往往发生在舵机打大角度的时候,为什么呢,舵机本身是个电机,然后用了很多齿轮减速等等,既然是电机大家就应该懂了,电机==发电机,当你的舵机打大角度时候,舵机转动角度很大,并且在一个很短的时间内,就会产生一个很大的回流,回到芯片,然后自然就死机了,解决办法是在舵机供电线上加一只二极管,阻断回流。
(4) 二极管,应该有很多同学为了防止回流在电机驱动上加了二极管,或是其他器件,这个具体原因是什么我还不懂,反正加了二极管后容易死机(刚开始还好,跑了几天就不行了),所以建议还是不要加二极管。
(5) 第五种原因比较奇葩,这个需要一个硬件好的队友,电机在启动时需要一个很大的电流,大概有个几十安培的样子,如果你的稳压电路做不好,芯片供电压降过大,果断会复位,所以电源模块很重要,尽量用大电容吧。
再说说打滑的问题,和车速差不多,就放一起说了
大概也总结了三点:
这个低速时看程序,高速时看车体结构(速度分界就定在2m吧)
(1) 依然是程序问题,电机PID调节不好,超调过大,车子在入完后即使你不减速车子本身由于向心力等等原因也会有所减速,此时舵机打角,车子如果在此时突然加速,必然打滑,直接切出跑道。
其二是舵机PD调节不好,转角过大或过小,这些大家自行体会吧,解决办法是个漫长的过程,以后有机会会写一篇PID调节的帖子。
(2) 赛道或者轮胎打滑问题,这个解决办法是时刻保持赛道整洁,车子轮胎整洁,这个真的真的真的真的真的真的真的真的真的真的真的真的很重要,否则无论如何你的车子也跑不快,还有就是赛道基本上摩擦力你不能改变,但是轮胎是可以的,什么用砂纸打磨啊,加软化剂啊,这些自己摸索吧。
(3) 车体结构问题,首先车子中心一定要低,必要的话进行改装,电路板和电池分开放,不要落在一起,这样车子中心就低了很多,还有就是车子的重心尽量放在车子的中心,有点拗口哈,还有就是差速问题,在保证车子在跑道上轮子与电机不打滑的前提下,尽量增大差速比。
补充一点哈,很多同学不太理解前轮约束,自己适当修改前轮约束,然后在弯道上推一圈就懂了,我的经验是,前轮内束越大,你的舵机PD相应也越大,那具体需要怎么调节,自己酌情而定。
注意:车子的就够对车速非常重要,不要认为程序可以解决一切结构问题,告诉大家不可以,没有一个好的车体结构,你的车子基本跑不太快,如果你跑快了,膜拜你!!!