预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共44页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

智能车制作全过程(飞思卡尔)如果我写得好请顶我一下我将再接再厉!(本人在很久以前做的一辆用来比赛的智能车--获得华北一等奖全国二等奖有许多可改进地方.)下面我们来立即开始我们的智能车之旅:首先一个系统中传感器至关重要."不管你的CPU的速度如何的快通信机制如何的优越系统的精度永远无法超越传感器的精度".是的在这个系统中传感器的精度其准确性就显得至关重要.如果你问我传感器的电路呵呵我早就和大家分享了在我发表的日志中有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及可以采取的信号采样方式.传感器安装成一排如上面排列.(就是个一字排列没有什么特别)接下来看看我们如何处理传感器得到的信息:大家看到了.结构很简单我们已经搞定了传感器通路.下面我们来看看多机的控制方面的问题:其实不管是便宜还是比较贵的舵机都是一样的用法.舵机的特点就是不同的占空比方波就对应着舵机的不同转角.当然不同的舵机有不同的频率要求.比如我用的这个舵机:方波频率50HZ.怎么改变占空比?这个不就是PWM模块的功能嘛.PWM模块可以输出任意占空比的方波.只要你控制其中的占空比寄存器就可以直接控制舵机的转角.你只要将传感器的状态和这个占空比对应上不就OK了?就这么简单做到这里你就可以让你的车在跑道上跑了!接下来我们的工作是让智能车更加完善:速度要稳定.在当前的系统结构中要使一个系统更稳定更可靠闭环系统是一个选择.(如果你不知道什么是闭环系统可以参照我的文章里面的一篇"基于单片机的PID电机调速")既然是一个闭环系统速度传感器是必不可少的用什么样的传感器做为速度反馈呢:仔细看和后轮之间有一条皮带的这个貌似电机的东西就是我的速度传感器它的学名叫"旋转编码器".这个器件的特点就是:每转一圈就会从输出端输出一定的脉冲比如我这个旋转编码器是500线的就是转一圈输出500个脉冲.因此我只要在单位时间内计数输出端输出的脉冲数我就可以计算出车辆的速度.显然这个速度可以用来作为PID速度调节的反馈.现在有了反馈我们需要的是调节智能车驱动电机的速度了如何来调速就成了必须解决的问题了.我用的是驱动芯片MC33886.其实这个芯片就是一个功率放大的模块.我们知道单片机输出的PWM信号还是TTL信号是不能直接用来驱动电机的.非要通过功率模块的放大不可.这个道理其实很简单就像上次我给大家画的哪个电子琴电路的放大电路一样:看上面的那个三极管就是将TTL电路的电流放大才能够来驱动蜂鸣器.其实这里的这个MC33886就是这样的一个作用.而且我们自己也完全可以用三极管自己搭建一个这样的功率放大电路当然驱动能力肯定不如这里的这个MC33886(如我们用三极管就搭建了超过MC33886的电路摩托罗拉就不会卖几十块钱一个了.呵呵.)知道了这个MC33886的工作原理就好说了一句话通过PWM来调节电机的速度.当方波中高电平占的比例大电机的平均电压肯定高转速肯定快.也就是说PWM的占空比越大电机转速越高.看就这么简单这个智能车就做好了.接下来我们就把我们知道的PID知识放到舵机和直流驱动电机的控制中去.就可以达到一个比较好的控制效果.如果要达到更高的水平肯定机械方面的改造也少不了.当然这不属于本文的讨论范围.呵呵.智能车制作全过程(飞思卡尔---舵机篇发表于2008/11/2810:00:55感谢大家的支持!如果我写得好请顶我一下!智能车的制作中看经验来说舵机的控制是个关键.相比驱动电机的调速舵机的控制对于智能车的整体速度来说要重要的多.PID算法是个经典的算法一定要将舵机的PID调好这样来说即使不进行驱动电机的调速(匀速)也能跑出一个很好的成绩.机械方面:从我们的测试上来看舵机的力矩比较大完全足以驱动前轮的转向.因此舵机的相应速度就成了关键.怎么增加舵机的响应速度呢?更改舵机的电路?不行组委会不允许.一个非常有效的办法是更改舵机连接件的长度.我们来看看示意图:从上图我们能看到当舵机转动时左右轮子就发生偏转.很明显连接件长度增加就会使舵机转动更小的转角而达到同样的效果.舵机的特点是转动一定的角度需要一定的时间.不如说(只是比喻没有数据)舵机转动10度需要2ms那么要使轮子转动同样的角度增长连接件后就只需要转动5度那么时间是1ms就能反应更快了.据经验这个舵机的连接件还有必要修改.大约增长0.5倍~2倍.在今年中有人使用了两个舵机分别控制两个轮子.想法