当前位置:文档之家› 智能车制作全过程(飞思卡尔)

智能车制作全过程(飞思卡尔)

智能车制作全过程(飞思卡尔)
智能车制作全过程(飞思卡尔)

智能车制作全过程(飞思卡尔)

如果我写得好,请顶我一下,我将再接再厉!

(本人在很久以前做的一辆用来比赛的智能车--获得华北一等奖,全国二等奖,有许多可改进地方.)

下面我们来立即开始我们的智能车之旅:

首先,一个系统中,传感器至关重要.

"不管你的CPU的速度如何的快,通信机制如何的优越,系统的精度永远无法超越传感器的精度" .是的,在这个系统中,传感器的精度,其准确性就显得至关重要.如果你问我传感器的电路,呵呵,我早就和大家分享了,在我发表的日志中,有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及可以采取的信号采样方式.

传感器安装成一排,如上面排列.(就是个一字排列,没有什么特别)

接下来,看看我们如何处理传感器得到的信息:

大家看到了.结构很简单,我们已经搞定了传感器通路.下面我们来看看多机的控制方面的问题:

其实,不管是便宜还是比较贵的舵机,都是一样的用法.舵机的特点就是不同的占空比方波就对应着舵机的不同转角.当然不同的舵机有不同的频率要求.比如我用的这个舵机:方波频率50HZ.怎么改变占空比?这个不就是PWM模块的功能嘛.PWM模块可以输出任意占空比的方波.只要你控制其中的占空比寄存器,就可以直接控制舵机的转角.你只要将传感器的状态和这个占空比对应上,不就OK了?就这么简单,做到这里,你就可以让你的车在跑道上跑了!

接下来,我们的工作是让智能车更加完善:速度要稳定.

在当前的系统结构中,要使一个系统更稳定更可靠,闭环系统是一个选择.(如果你不知道什么是闭环系统,可以参照我的文章里面的一篇"基于单片机的PID电机调速"),既然是一个闭环系统,速度传感器是必不可少的,用什么样的传感器做为速度反馈呢:

仔细看,和后轮之间有一条皮带的这个貌似电机的东西,就是我的速度传感器,它的学名叫"旋转编码器".这个器件的特点就是:每转一圈,就会从输出端输出一定的脉冲,比如我这个旋转编码器是500线的,就是转一圈输出500个脉冲.因此,我只要在单位时间内计数输出端输出的脉冲数,我就可以计算出车辆的速度.显然,这个速度可以用来作为PID速度调节的反馈.

现在有了反馈,我们需要的是调节智能车驱动电机的速度了,如何来调速,就成了必须解决的问题了.我用的是驱动芯片MC33886. 其实,这个芯片就是一个功率放大的模块.

我们知道,单片机输出的PWM信号还是TTL信号,是不能直接用来驱动电机的.非要通过功率模块的放大不可.这个道理其实很简单,就像上次我给大家画的哪个电子琴电路的放大电路一样:

看上面的那个三极管,就是将TTL电路的电流放大,才能够来驱动蜂鸣器.其实这里的这个MC33886就是这样的一个作用.而且我们自己也完全可以用三极管自己搭建一个这样的功率放大电路,当然,驱动能力肯定不如这里的这个MC33886(如我们用三极管就搭建了超过MC33886的电路,摩托罗拉就不会卖几十块钱一个了.呵呵.)知道了这个MC33886的工作原理,就好说了,一句话,通过PWM来调节电机的速度.当方波中高电平占的比例大,电机的平均电压肯定高,转速肯定快.也就是说,PWM的占空比越大,电机转速越高.

看,就这么简单,这个智能车就做好了.接下来,我们就把我们知道的PID知识放到舵机和直流驱动电机的控制中去.就可以达到一个比较好的控制效果.

如果要达到更高的水平,肯定机械方面的改造也少不了.当然,这不属于本文的讨论范围.呵呵.

智能车制作全过程(飞思卡尔---舵机篇

发表于 2008/11/28 10:00:55

感谢大家的支持!如果我写得好,请顶我一下!

智能车的制作中,看经验来说,舵机的控制是个关键.相比驱动电机的调速,舵机的控制对于智能车的整体速度来说要重要的多.

PID算法是个经典的算法,一定要将舵机的PID调好,这样来说即使不进行驱动电机的调速(匀速),也能跑出一个很好的成绩.

机械方面:

从我们的测试上来看,舵机的力矩比较大,完全足以驱动前轮的转向.因此舵机的相应速度就成了关键.怎么增加舵机的响应速度呢?更改舵机的电路?不行,组委会不允许.一个非常有效的办法是更改舵机连接件的长度.我们来看看示意图:

从上图我们能看到,当舵机转动时,左右轮子就发生偏转.很明显,连接件长度增加,就会使舵机转动更小的转角而达到同样的效果.舵机的特点是转动一定的角度需要一定的时间.不如说(只是比喻,没有数据),舵机转动10度需要2ms,那么要使轮子转动同样的角度,增长连接件后就只需要转动5度,那么时间是1ms,就能反应更快了.据经验,这个舵机的连接件还有必要修改.大约增长0.5倍~2倍.

在今年中,有人使用了两个舵机分别控制两个轮子.想法很好.但今年不允许使用了.

接下来就是软件上面的问题了.

这里的软件问题不单单是软件上的问题,因为我们要牵涉到传感器的布局问题.其实,没有人说自己的传感器布局是最好的,但是肯定有最适合你的算法的.比如说,常规的传感器布局是如下图:

这里好像说到了传感器,我们只是略微的一提.上图只是个示意图,意思就是在中心的地方传感器比较的密集,在两边的地方传感器比较的稀疏.这样做是有好处的,大家看车辆在行驶到转弯处的情况:

相信看到这里,大家应该是一目了然了,在转弯的时候,车是偏离跑道的,所以两边比较稀疏还是比较科学的,关于这个,我们将在传感器中在仔细讨论。

在说到接下来的舵机的控制问题,方法比较的多,有人是根据传感器的状态,运用查表法差出舵机应该的转角,这个做法简单,而且具有较好的滤波"效果",能够将错误的传感器状态滤掉;还有人根据计算出来的传感器的中心点(比如第四个和第五个传感器检测到黑线,中心点就是4.5),计算出舵机需要的转角,这个做法也比较的简单,但是必须有一个滤波的过程,必须要滤掉错误的传感器状态.比如说:现在传感器第四个,第五个和第11个检测到了黑线,显然第11个应该是个传感器检测错误.应该把它滤掉.关于这个如何滤波,我们待会在后面将进行讨论.还有人的做法就是采用PID算法,这个方法比较的好,其实也不是很难,就是PID参数整定的时候有些麻烦.

大家可以自己选择喜欢的方法.

关于滤波,有些许的方法:

1.平均值排序法.

这个方法大家肯定一听就知道是怎么回事.就是不急于执行,先多次检测被测传感器,累加,求平均值.这个方法不错,特别在单片机中.比如:你如果连续采集8次,累加,最后你只要右移三位(value=value>>3;)就是value=value/8的结果.毕竟,在单片机中,右移比除法要快嘛.

2.中间值算法.

这个算法也简单,顾名思义,就是取不大不小的中间的值.这个算法就需要把几次采集的值排序,然后使用中间的那个值.

3.递推滤波.

这个滤波方法比较的受认可,但是执行起来也有风险所在.先说这个算法,就是根据当前值(传感器的中心点所在值),推算接下来的传感器中心点的量,如果发现前后变化剧烈,就视为干扰因素,忽略.这个算法看起来比较的好.但是风险就在于:如果出现了错误,并且错误的中心点成为的当前值,那么以错误的中心点为基准,正确的中心点就成了干扰.这样就会出现极端情况.为了避免这个情况,我们应该有一个检查的模块,检查当前的中心点是否有效.这个检查,我们也许可以结合前面两种方法,在一定时间对中心点的有效性进行检查.

4.限幅滤波.

这个在舵机的控制中,特别是使用计算的方法获得PWM信号占空比的(用来控制舵机的转角),更是尤为重要.这个滤波的思路就是规定一个最大值和一个最小值,当计算出的值低于最小值时,令其等于最小值;大于最大值时,令其等于最大值.

智能车制作全过程(飞思卡尔)

发表于 2008/11/15 22:28:01

如果我写得好,请顶我一下,我将再接再厉!

(本人在很久以前做的一辆用来比赛的智能车--获得华北一等奖,全国二等奖,有许多可改进地方.)

下面我们来立即开始我们的智能车之旅:

首先,一个系统中,传感器至关重要.

"不管你的CPU的速度如何的快,通信机制如何的优越,系统的精度永远无法超越传感器的精度" .是的,在这个系统中,传感器的精度,其准确性就显得至关重要.如果你问我传感器的电路,呵呵,我早就和大家分享了,在我发表的日志中,有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及可以采取的信号采样方式.

传感器安装成一排,如上面排列.(就是个一字排列,没有什么特别)

接下来,看看我们如何处理传感器得到的信息:

大家看到了.结构很简单,我们已经搞定了传感器通路.下面我们来看看多机的控制方面的问题:

其实,不管是便宜还是比较贵的舵机,都是一样的用法.舵机的特点就是不同的占空比方波就对应着舵机的不同转角.当然不同的舵机有不同的频率要求.比如我用的这个舵机:方波频率50HZ.怎么改变占空比?这个不就是PWM模块的功能嘛.PWM模块可以输出任意占空比的方波.只要你控制其中的占空比寄存器,就可以直接控制舵机的转角.你只要将传感器的状态和这个占空比对应上,不就OK了?就这么简单,做到这里,你就可以让你的车在跑道上跑了!

接下来,我们的工作是让智能车更加完善:速度要稳定.

在当前的系统结构中,要使一个系统更稳定更可靠,闭环系统是一个选择.(如果你不知道什么是闭环系统,可以参照我的文章里面的一篇"基于单片机的PID电机调速"),既然是一个闭环系统,速度传感器是必不可少的,用什么样的传感器做为速度反馈呢:

仔细看,和后轮之间有一条皮带的这个貌似电机的东西,就是我的速度传感器,它的学名叫"旋转编码器".这个器件的特点就是:每转一圈,就会从输出端输出一定的脉冲,比如我这个旋转编码器是500线的,就是转一圈输出500个脉冲.因此,我只要在单位时间内计数输出端输出的脉冲数,我就可以计算出车辆的速度.显然,这个速度可以用来作为PID速度调节的反馈.

现在有了反馈,我们需要的是调节智能车驱动电机的速度了,如何来调速,就成了必须解决的问题了.我用的是驱动芯片MC33886.

其实,这个芯片就是一个功率放大的模块.我们知道,单片机输出的PWM信号还是TTL信号,是不能直接用来驱动电机的.非要通过功率模块的放大不可.这个道理其实很简单,就像上次

我给大家画的哪个电子琴电路的放大电路一样:

看上面的那个三极管,就是将TTL电路的电流放大,才能够来驱动蜂鸣器.其实这里的这个MC33886就是这样的一个作用.而且我们自己也完全可以用三极管自己搭建一个这样的功率放大电路,当然,驱动能力肯定不如这里的这个MC33886(如我们用三极管就搭建了超过MC33886的电路,摩托罗拉就不会卖几十块钱一个了.呵呵.)知道了这个MC33886的工作原理,就好说了,一句话,通过PWM来调节电机的速度.当方波中高电平占的比例大,电机的平均电压肯定高,转速肯定快.也就是说,PWM的占空比越大,电机转速越高.

看,就这么简单,这个智能车就做好了.接下来,我们就把我们知道的PID知识放到舵机和直流驱动电机的控制中去.就可以达到一个比较好的控制效果.

如果要达到更高的水平,肯定机械方面的改造也少不了.当然,这不属于本文的讨论范围.呵呵.

基于单片机的电子琴设计

发表于 2008/11/14 11:02:11

如果我写得好,请顶我一下,我将再接再厉

很多朋友喜欢搞一些声光的东西,因为能看到,能听到,比搞个什么通信滤波要好玩多了.好!我们就开始做个电子琴.甚至做一个简单的"MP3",呵呵,从简单开始.我们先做电子琴,下一节再做"MP3".

首先,因为是发声装置,我们得先了解发声的原理是什么,这有助于我们接下来的编程:

1.声音是由于物体震动产生的.

2.电流的变化通过线圈就可以使磁场发声变化.

上图是一个喇叭的工作原理.不知道大家看明白了没有.喇叭的电磁铁的电源是接到我们的发声电路上.当电路中的电路发生变化时,电磁铁的吸引力也发生变化.因此就会吸合铁皮.吸合铁皮的时候也带动了薄膜的运动.如果这个吸合过程非常的快.那么薄膜就会发生高频的震动.这个震动就会发出声音.

上面只是一个示意图.实际上的喇叭并不是磁铁吸音铁框的问题,铁框往往也会换成一个磁铁,不过是永磁铁,这样不但可以吸引,还可以排斥.声音幅度更大.

好了,总而言之一句话,就是来来回回的震动就会产生声音.

接下来,我们开始制作吧:电路相当的简单:

看到了吧,电路非常的简单.下面是四个键盘的按键开关.上面就是一个三极管的放大.有人说,我直接接到单片机上就不行.完全可以!我为什么说是个电流放大呢,就是要发生的功率大,声音大.如果你将蜂鸣器直接接到单片机的IO口上,当然是可以的.但是只是用来验证用的,声音太小,实际中是没有用处的.

不过,我可得提醒你:

你如果这样接,那就不对了.为什么?问题就在于,单片机的IO口的驱动能力是绝对有限的,你现在让它直接驱动一个功率比较大(比较LED而言)蜂鸣器,是比较吃力的.但是你却可以这样设计:

什么?没有发现有什么不同?呵呵,看看,蜂鸣器的电压方向变了.为什么这样做,这就是一个开发经验问题了:单片机的IO口吸收电流的能力要远远大于其提供电流的能力.所以不管是驱动蜂鸣器还是驱动LED发光二极管,都要做成低电平有效的这种形式,切实有效! (本人的实验板,具备上述模块,其原理图和上述完全一致.有实验板的朋友可以接着往下做了)

好了,硬件连接OK了,我们赶紧开始我们的编程吧:

我先说说算法,要实现一定频率的震动,不就是将IO端口进行一定频率的开和关就是了.要进行一定频率的开和关,就必须有一个计数.在这里,定时计数器就比较合适了.自动重装载模式显然比较合适.我们来看看程序吧(鉴于c语言良好的可阅读性,我们先用c语言来编写):

#include

#define uint unsigned int

#define uchar unsigned char

#define SOUNDER P0_BIT2 //用宏定义端口,直观.如以后更改,方便

#define S1 P2_BIT4

#define S2 P2_BIT5

#define S3 P2_BIT6

#define S4 P2_BIT7

#define YES 0

#define NO 1

int YIN[7][2]; //定义一个音阶数组,存放计数器的计数初始值.

int Dir="3",i;

void TimerInit() //计数器初始化函数.

{

TMOD="0x21";

TL0=0;

TH0=0;

TH1=0xE8;

TL1=0xE8;

PCON=0x00;

TR0=1;

TR1=1;

SCON=0x50;

}

void main()

{

// 261 1 //低音叨频率261

YIN[0][0]= (65536-10000/261/2*100)%256;

YIN[0][1]= (65536-10000/261/2*100)/256;

// 294 2

YIN[1][0]= (65536-10000/294/2*100)%256;

YIN[1][1]= (65536-10000/294/2*100)/256;

// 330 3

YIN[2][0]= (65536-10000/330/2*100)%256;

YIN[2][1]= (65536-10000/330/2*100)/256;

// 349 4

YIN[3][0]= (65536-10000/349/2*100)%256;

YIN[3][1]= (65536-10000/349/2*100)/256;

// 392 5

YIN[4][0]= (65536-10000/392/2*100)%256;

YIN[4][1]= (65536-10000/392/2*100)/256;

// 440 6

YIN[5][0]= (65536-10000/440/2*100)%256;

YIN[5][1]= (65536-10000/440/2*100)/256;

// 494 7

YIN[6][0]= (65536-10000/492/2*100)%256;

YIN[6][1]= (65536-10000/492/2*100)/256;

EA="1"; //开CPU中断

ET0=1; //开定时计数器中断

TimerInit(); //调用初始化计数器函数

for(;;){}

/////////////////////////////////////////////////////////////////////////////// //////////////

void TimerOverFlow () interrupt 1 //定时器中段函数

{

if(S1= =YES)

{

SOUNDER=!SOUNDER;

TL0=YIN[0][0];

TH0=YIN[0][1];

}

if(S2= = YES)

{

SOUNDER=!SOUNDER;

TL0=YIN[1][0];

TH0=YIN[1][1];

}

if(S3= =YES)

{

SOUNDER=!SOUNDER;

TL0=YIN[2][0];

TH0=YIN[2][1];

}

if(S4= =YES)

{

SOUNDER=!SOUNDER;

TL0=YIN[3][0];

TH0=YIN[3][1];

}

// Clear the flag

TF0=0;

}

相信大家看得明白程序,很简单.下载到单片机上以后,按S1键,蜂鸣器发出低音1(叨)的声音.按S2发2(ruan)的声音...

基于单片机的数字PID实现直流电机调速(智能车)

发表于 2008/11/12 9:45:33

现在做很多的智能车,都需要对车速进行控制.或匀速或变速,在调速算法中,PID 的经典永垂不朽.

其实,简单的51单片机尚能轻易的实现平滑良好的调速,更不用说性能优良的单片机.然而,要做到最好,是需要很高的专业水平和动手能力.但是,工程上能达到我们的目标即可.

抱着"够用就好"的思想,我们来开始我们的调速旅程:

所谓的PID是肯定基于一个闭环系统而言的,什么是闭环系统呢,我简单的介绍一下:

看上面的这个系统,就不是一个闭环系统,而是一个开环系统.再看下面的这个就是闭环系统:

上图这个系统就是典型的闭环系统.大家也许看出来了,"开环"系统,就是系统没有反馈,是个"打开的环",而闭环系统,是有反馈的,是一个完整的环形.

正是这个反馈,就可以将当前电机的转速传递给系统控制端,如果电机转速快了,控制器就让它慢点(比如可以降低电机两端的电压),同样,如果速度传感器检测到转速低了,就应该让电机两端的电压提高一点.就是在这样的不断矫正中,电机的速度会保持恒定.当然,这个矫正的周期是非常短的,矫正的速度是很快的.

有人说,不就是多了就少点,少了就多点嘛,干嘛使用什么玄乎的PID?

对,你说对了,"多了就少点,少了就多点"这本身就是PID里面的一种:P控制--只使用了P算法.

接下来我们就看看到底什么是PID,为什么要使用PID,怎么样使用PID:

P--比例

I--积分

D--微分

我们来一条一条的讲解P,I,D的含义及其意义:

P--比例部分

这个很好理解.比如说,速度传感器发现,当前速度是1200(每分钟).而我们设定的速度值为1000,那么就差别了200,这时,如果我设定P为0.1,如果输入的电压就应该是Uo-0.1x200.看到了没有,这里的比例的意思就是"倍数",就是你要把这个偏差放大多少倍."放大"本身就是一个比例嘛.知道了这个,你就可以写一个PID控制里面的P控制了.很多时候,不需要I和D控制,单单一个P控制就足够了.到了这里你就可以控制电机的速度了.

I--积分部分.

这个积分其实也很好理解 .它是一个积分运算.有的时候偏差不是很大,所以继续运行下去,会使系统存在一个偏差.但是你如果使用I运算将这个偏差累加起来,到了一定大小的时候就进行处理.这样就能防止系统的误差累计.其实,在程序中,这个过程就是对一个小偏差的连续累加罢了.

D--微分部分.

这个部分也比较好理解.所谓的微分就是对变量求导呗,意思就是一个量的变化率呗.所以,微分部分就是能够将变量变化率放入计算中.这个量在边城中其实就是求上次的偏差和这次的偏差的差罢了.

其实,在温度控制中PID还是比较有效的,但是在于电机控制这种速度经常变化的场合,一个参数整定好的P控制就能完成任务.为了便于大家的理解,我给大家举一个例子吧:

关于对51单片机端口上拉电阻的讨论

发表于 2008/11/11 22:28:33

前一段时间,看到实验室有个学弟设计了一个电路,其中还有一个键盘电路,取其原理是这样子的:

据这位师弟的意思是:在没有按下按键的时候,端口上是低电平,按下按键的时候端口上接上了高电平.

事实上,电路是不工作的.

问题比较多:

首先,将电源直接接到端口上是绝对不可以的.当按下按键的时候,会有很大的电流进入单片机.在工程上,这种往往应该加限流电阻的.一般选择1K的就可以.如果选择太大的电阻也不好,因为电阻上面压降太大,造成输入比应有的高电平低,造成错误.

其次,就算加了限流,这个电路也是不能工作的.检查AT89C51的DataSheet就会发现.技术手册中说:P0口是没有上拉电阻的端口;P1,P2,P3口带有上拉电阻.问题就出在这里,什么是上拉电阻,来看看图:

上面这个图,是红外线接收的电路图,看上面的这个电阻,就是上拉电阻.我们可以试图理解一下51单片机P2口的这个上拉电阻为这种形式:

其中的R就是上拉电阻.如果像我的那个师弟那样设计电路,电路就成了以下这种形式了:

看,从这个电路上,我们可以清晰的看出,不管你按键是否按下,IO端口上都是高电平.问题就在这里,我让我的这个师弟测测IO端口的电平在按下按键前后的变化,结果果然不出所料:不管他是否按下按键,都是高电平!!

从这里我们可以看出:DataSheet还是有用的,在设计的时候,有很多细节,需要注意,否则,可能功亏一篑.

基于或门的超级简单的液位传感器

发表于 2008/11/11 16:29:04

前一阵子,在实验室,看到一个朋友在那里拿着一个盒子钻,敲,打...满头大汗,嘴里还嘀咕着...

"你在做什么呢?"

"我在做一个液位传感器,这个杠杆浮漂真不好弄!"

"你最近不是做液位控制,你如果用机械杠杆,你怎么采集数字信号到单片机?"

"我会在杠杆上安装一个角度传感器...".

看来真是个麻烦的事情...

回头突然想起,我小学的时候,给我妈妈做了一个检测下雨的东西.好像是五年级的时候,就是那种平板,下上雨了以后,就会触发相关的电路(当年我是接上了一张生日贺卡里面的音乐芯片).

要说,当初,我还记得,书上好像是叫那种电路为"或门",当初我怎么都不理解,但是现在看来,原理是多么的简单.

看看电路:

智能避障小车设计

江阴职业技术学院项目设计报告 项目:超声波避障小车的设计与制作 专业应用电子技术专业 学生姓名 班级10应用电子()班 学号 指导教师 完成日期

智能小车是一种能够通过编程手段完成特定任务的小型化机器人,它具有制作成本低廉,电路结构简单,程序调试方便等优点。由于具有很强的趣味性,智能小车深受广大机器人爱好者以及高校学生的喜爱。 本论文介绍的是具有自动避障功能的智能小车的设计与制作(以下简称智能小车),论文对智能小车的方案选择,设计思路,以及软硬件的功能和工作原理进行了详细的分析和论述。经实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速、灵活,设计方案正确、可行,各项指标稳定、可靠。

Smart cars can be programmed to perform a specific task means the miniaturization of robot, it has to make cost is low, circuit simple structure, convenient program test. Because of it has strong interest, intelligent robot car favored by the majority of the university students' enthusiasts and love. This paper introduces the is a automatic obstacle avoidance function of intelligent car design and production (hereinafter referred to as the smart car), the thesis to the intelligence of the car scheme selection, design idea, and the implementation of hardware and software function and working principle of a detailed analysis and discusses. After practice acceptance test, this intelligent car circuit structure is simple, convenient debug, fast, flexible system reflect, correct and feasible design scheme, each index is steady and reliable.

飞思卡尔智能汽车设计技术报告

第九届“飞思卡尔”杯全国大学生 智能汽车竞赛 技术报告 学校:武汉科技大学队 伍名称:首安二队参赛 队员:韦天 肖杨吴光星带队 教师:章政 0敏

I

关于技术报告和研究论文使用授权的说明 本人完全了解第九届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。 参赛队员签名: 带队教师签名: 日期:

II

目录 第一章引言 (1) 1.1 概述 (1) 1.2 内容分布 (1) 第二章系统总体设计 (2) 2.1 设计概述 (3) 2.2 控制芯片的选择 (3) 2.3 线性 CCD 检测的基本原理 (3) 2.3 系统结极 (5) 第三章机械系统设计 (7) 3.1 底盘加固 (7) 3.2 轮胎处理 (7) 3.3 四轮定位 (8) 3.4 差速器的调整 (12) 3.5 舵机的安装 (13) 3.6 保护杆的安装 (15) 3.7 CCD的安装 (16) 3.8 编码器的安装 (17) 3.9 检测起跑线光电管及加速度计陀螺仪的安装 (18) 第四章硬件系统设计 (19) 4.1 最小系统版 (20) 4.2 电源模块 (21) 4.3 CCD模块 (22) 4.4 驱动桥模块 (23) 4.5 车身姿态检测模块 (24) 4.7 测速模块 (24) 4.8 OLED液晶屏及按键、拨码 (25) 第5章程序设计 (27)

智能车制作全过程

智能车制作全过程(飞思卡尔) 前言:仅为有飞思卡尔智能车竞赛或其他车类竞赛参赛需求的朋友提供参考。对于文中的电路设计和参数,本版主不保证完全正确性。版权原作者所有。 (本人在很久以前做的一辆用来比赛的智能车--获得华北一等奖,全国二等奖,有许多可改进地方.) 下面我们来立即开始我们的智能车之旅: 首先,一个系统中,传感器至关重要. "不管你的CPU的速度如何的快,通信机制如何的优越,系统的精度永远无法超越传感器的精度" .是

的,在这个系统中,传感器的精度,其准确性就显得至关重要.如果你问我传感器的电路,呵呵,我早就和大家分享了,在我发表的日志中,有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及可以采取的信号采样方式. 传感器安装成一排,如上面排列.(就是个一字排列,没有什么特别) 接下来,看看我们如何处理传感器得到的信息: 大家看到了.结构很简单,我们已经搞定了传感器通路.下面我们来看看多机的控制方面的问题: 其实,不管是便宜还是比较贵的舵机,都是一样的用法.舵机的特点就是不同的占空比方波就对应着舵

机的不同转角.当然不同的舵机有不同的频率要求.比如我用的这个舵机:方波频率50HZ.怎么改变占空比?这个不就是PWM模块的功能嘛.PWM模块可以输出任意占空比的方波.只要你控制其中的占空比寄存器,就可以直接控制舵机的转角.你只要将传感器的状态和这个占空比对应上,不就OK了?就这么简单,做到这里,你就可以让你的车在跑道上跑了! 接下来,我们的工作是让智能车更加完善:速度要稳定. 在当前的系统结构中,要使一个系统更稳定更可靠,闭环系统是一个选择.(如果你不知道什么是闭环系统,可以参照我的文章里面的一篇"基于单片机的PID电机调速"),既然是一个闭环系统,速度传感器是必不可少的,用什么样的传感器做为速度反馈呢: 仔细看,和后轮之间有一条皮带的这个貌似电机的东西,就是我的速度传感器,它的学名叫"旋转编码器".这个器件的特点就是:每转一圈,就会从输出端输出一定的脉冲,比如我这个旋转编码器是500线的,就是转一圈输出500个脉冲.因此,我只要在单位时间内计数输出端输出的脉冲数,我就可以计算出车辆的速度.显然,这个速度可以用来作为PID速度调节的反馈. 现在有了反馈,我们需要的是调节智能车驱动电机的速度了,如何来调速,就成了必须解决的问题了.我用的是驱动芯片MC33886.

飞思卡尔智能车比赛细则

2016

目录

第十一届竞赛规则导读 参加过往届比赛的队员可以通过下面内容了解第十一届规则主要变化。如果第一次参加比赛,则建议对于本文进行全文阅读。 相对于前几届比赛规则,本届的规则主要变化包括有以下内容: 1.本届比赛新增了比赛组别,详细请参见正文中的图1和第四章的“比赛任务” 中的描述; 2.第十届电磁双车组对应今年的A1组:双车追逐组。其它组别与新组别的对应 关系请参见图2; 3.为了提高车模出界判罚的客观性,规则提出了两种方法:路肩法和感应铁丝 法,详细请见赛道边界判定”; 4.改变了原有的光电计时系统,所有赛题组均采用磁感应方法计时,详细请参 见“计时裁判系统”; 5.取消了第十届的发车灯塔控制的方式; 6.赛道元素进行了简化,详细请参见“赛道元素”; 7.赛道材质仍然为PVC耐磨塑胶地板,但赛题组A2不再需要赛道。 8.对于车模所使用的飞思卡尔公司MCU的种类、数量不再限制。 9.比赛时,每支参赛队伍的赛前准备时间仍然为20分钟,没有现场修车环节。

一、前言 智能车竞赛是从2006开始,由教育部高等教育司委托高等学校自动化类教学指导委员会举办的旨在加强学生实践、创新能力和培养团队精神的一项创意性科技竞赛。至今已经成功举办了十届。在继承和总结前十届比赛实践的基础上,竞赛组委会努力拓展新的竞赛内涵,设计新的竞赛内容,创造新的比赛模式,使得围绕该比赛所产生的竞赛生态环境得到进一步的发展。 为了实现竞赛的“立足培养、重在参与、鼓励探索、追求卓越”的指导思想,竞赛内容设置需要能够面向大学本科阶段的学生和教学内容,同时又能够兼顾当今时代科技发展的新趋势。 第十一届比赛的题目在沿用原来根据车模识别赛道传感器种类进行划分的基础类组别之上,同时增加了以竞赛内容进行划分的提高类组别,并按照“分赛区普及,全国总决赛提高”的方式,将其中一个类别拓展出创意类组别。第十一届比赛的题目各组别分别如下: ●基础类包括B1光电组、B2摄像头组、B3电磁直立组、B4电轨组; ●提高类包括A1双车追逐组、A2信标越野组; ●创意类包括I1 电轨节能组。 图 1 不同组别,不同挑战度 每个组别在选用的车模、赛道识别方法、完成任务等方面存在差别,对于参赛选手不同学科知识和能力要求也不同,制作的挑战度也有较大的区别。相比较而言,

智能循迹小车详细制作过程

(穿山乙工作室)三天三十元做出智能车 基本设计思路: 1.基本车架(两个电机一体轮子+一 个万向轮) 2.单片机主控模块 3.电机驱动模块(内置5V电源输出) 4.黑白线循迹模块 0.准备所需基本元器件 1).基本二驱车体一台。(本课以穿山乙推出的基本车体为 例讲解) 2).5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红 色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40 个。 3).5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一 个;双孔接线柱三个、10u电解电容2个、排针12个、9110 驱动芯片2个。 4).5x7cm洞洞板、LM324比较器芯片各一个;红外对管三 对、4.7K电阻3个、330电阻三个、红色3mmLED三个。 一、组装车体

(图中显示的很清晰吧,照着上螺丝就行了) 二、制作单片机控制模块 材料:5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40个。 电路图如下,主要目的是把单片机的各个引脚用排针引出来,便于使用。我们也有焊接好的实物图供你参考。(如果你选用的是STC98系列的单片机在这里可以省掉复位电路不焊,仍能正常工作。我实物图中就没焊复位)

三、制作电机驱动模块 材料:5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一个;双孔接线柱三个、10u电解电容2个、排针12个、9110驱动芯片2个。 电路图如下,这里我们把电源模块与驱动模块含在了同一个电路板上。因为电机驱动模块所需的电压是+9V左右(6—15V 均可),而单片机主控和循迹模块所需电压均为+5V。 这里用了一个7805稳压芯片将+9V电压稳出+5V电压。

基于嵌入式STM32的飞思卡尔智能车设计



飞思卡尔智能车大赛是面向全国大学生举办的应用型比赛, 旨在培养创新精 神、协作精神,提高工程实践能力的科技活动。大赛主要是要求小车自主循迹并 在最短时间内走完整个赛道。针对小车所安装传感器的不同,大赛分为光电组、 电磁组和摄像头组。 本文介绍了本院自动化系第一届大学生智能汽车竟赛的智能车系统。 包括总 体方案设计、机械结构设计、硬件电路设计、软件设计以及系统的调试与分析。 机械结构设计部分主要介绍了对车模的改进,以及舵机随动系统的机械结构。硬 件电路设计部分主要介绍了智能车系统的硬件电路设计, 包括原理图和 PCB 设计 智能车系统的软、 硬件结构及其开发流程。该智能车车模采用学校统一提供的飞 思卡尔车模,系统以 STM32F103C8T6 作为整个系统信息处理和控制命令的核心, 使用激光传感器检测道路信息使小车实现自主循迹的功能
关键字:飞思卡尔智能车STM32F103C8T6
激光传感器
第一章 概述

1.1 专业课程设计题目
基于嵌入式 STM32 的飞思卡尔智能车设计
1.2 专业课程设计的目的与内容
1.2.1 目的 让学生运用所学的计算机、传感器、电子电路、自动控制等知识,在老师的 指导下,结合飞思卡尔智能车的设计独立地开展自动化专业的综合设计与实验, 锻炼学生对实际问题的分析和解决能力,提高工程意识,为以后的毕业设计和今 后从事相关工作打下一定的基础。 1.2.2 内容 本次智能车大赛分为光电组和创新做,我们选择光电组小车完成循迹功能。 该智能车车模采用学校统一提供的飞思卡尔车模, 系统以 STM32F103C8T6 作为整 个系统信息处理和控制命令的核心,我们对系统进行了创造性的优化: 其一, 硬件上采用激光传感器的方案, 软件上采用 keil 开发环境进行调试、 算法、弯道预判。 其二,传感器可以随动跟线,提高了检测范围。 其三,独立设计了控制电路板,充分利用 STM32 单片机现有模块进行编程, 同时拨码开关、状态指示灯等方便了算法调试。
1.3 方案的研讨与制定
1.3.1传感器选择方案 方案一:选用红外管作为赛道信息采集传感器。 由于识别赛道主要是识别黑白两种不同的颜色, 而红外对管恰好就能实现区 分黑白的功能,当红外光照在白色KT板上时,由于赛道的漫反射作用,使得一部 分红外光能反射回来, 让接收管接的输出引脚的电压发生变化,通过采集这个电 压的变化情况来区分红外光点的位置情况,以达到区分赛道与底板的作用。 红外管的优点在于价格便宜,耐用;缺点却用很多:1、红外光线在自然环 境中,无论是室内还是室外均比较常见,就使得其抗干扰能力不强,容易受环境 变化的影响。2、调试不方面,由于红外光是不可见光,调试的时候需要采用比 较麻烦的方法来判断光电的位置。3、由于红外管光线的直线性不好,就使得红 外传感器所能准确的判断的最远距离比较小,也就是通常所说的前瞻不够远。

飞思卡尔智能车竞赛新手入门建议

每年都会有很多新人怀着满腔热情来做智能车,但其中的很多人很快就被耗光了热情和耐心而放弃。很多新人都不知道如何入手,总有些有劲无处使的感觉,觉得自己什么都不会,却又不知道该干什么。新人中存在的主要问题我总结了以下几点: l缺乏自信,有畏难情绪 作为新人,一切都是新的。没有设计过电路,没有接触过单片机,几乎什么都不会。有些新人听了两次课,看了两篇技术报告,就发现无数不懂不会的东西,于是热情在消退,信心在减弱。这些都是放弃的前兆。殊不知,高手都是从新人过来的,没有谁天生什么都会做。一件事件,如果还没开始做,就自己否定自己,认为自己做不到,那么肯定是做不到的。 l习惯了被动接收知识,丧失了主动学习的能力。 现在的学生大多从小习惯了被灌输知识,只学老师教的,只学老师考的。殊不知一旦走向社会,将不再有老师来教,不再有应付不完的考试。做智能车和传统的教学不同,学生将从被动学习的地位转变为主动学习。就算有指导老师,有指导的学长,但也都处于被动地位,往往都不会主动来教。有的学生一开始就没有转变思想,还希望就像实验课一样,老师安排好步骤1,2,3……,然后自己按照老师安排好的步骤按部就班的完成。这样的学生,往往都丧失了提出问题和分析问题的能力,只是一个应付考试的机器。要知道,解决问题的第一步是提出问题,如果总等着别人来教,那么问题永远会挡在你面前。 l缺乏团队精神和合作意识 智能车比赛是以团队的形式参赛,只依靠个人能力单兵作战就能取得好成绩的是很少很少的。当今社会,任何人的成功都离不开身后的团队的支撑。智能车是一个很复杂的系统,电路、机械、传感器、单片机、底层驱动、控制算法……。如果所有的任务都是一个人去完成,固然锻炼了自己,但想做的很好却很不现实。很多新人,来到实验室,来到一个陌生的环境和团队,连向学长请教,和同学交流的勇气都没有,又如何融入团队呢。除了要主动融入团队,还要培养自己的团队意识。团队精神往往表现为一种责任感,如果团队遇到问题,每个人都只顾自己,出了错误,不想着解决问题,而是互相推诿埋怨。这样的团队,肯定是无法取得好成绩的。 l缺乏耐心和细心的精神 其实把一件事做好很简单,细心加上耐心。不细心就想不到,没有耐心,即使想到了也做不到。做事怕麻烦,将就,说白了就是惰性在作祟。明明可以把支架做的更轻更漂亮,明明可以把程序写的更简洁,明明可以把电路设计得更完善……。其实,每个人都有很大潜力,如果不逼自己一次,你永远不知道自己的潜力有多

智能小车制作入门篇

智能小车制作入门篇 最近接触了很多机器人爱好者,很多人都对机器人技术展示出了浓厚的兴趣,也在计划如何动手制作自己的第一个机器人。但是似乎很多的人都摸不到门路,只能是站在大门外满怀兴趣的向内观望,观望了一阵兴趣渐失只好叹口气走开…… 很多初学者可能都是看了一些视频或是现场的比赛,勾起了儿时的美好回忆,兴起了自己动手制作机器人的念头,很多人可能并不是嵌入式开发的业内人士,甚至没有听说过单片机、步进电机这些名词,看着别人满地乱跑的各种机器人,颇有无处下手的感觉。有的人一上来就准备做一个可以双足行走的人形机器人,可以平稳行走,可以靠摄像头来读取环境信息,可以语音识别,最好还可以变形…… :—(

我的意见是:新手最好还是老老实实的从小车开始吧。人形机器人可以说是一个系统的大工程,不是一个人玩的起来的,而且资金上的投入也是不可计量的。一个人形机器人的成型产品最少要卖到几千块——要知道,你在开发过程中是不可能没有错误投入的。机器人小车技术上门槛较低,资金投入也少,市场上的各种产品和零配件的支持也较多,虽然简单,但可以实现的功能可一点也不少。 我在这里凭自己的经验介绍一些自己动手制作机器人小车的基础知识,如果你是曾经自己动手做过的高手,那么你可以绕行,我这里介绍的都是为未入门者准备的最基本的理论知识和一些动手经验。 那么现在我们开始,首先是理论部分——小车的控制结构。 [一]小车的整体控制系统 小车是怎么来控制的?为什么小车判断出障碍物后可以自动的绕开? 理论:控制工程——处理自动控制系统各种工程实现问题的综合性工程技术。包括对自动控制系统提出要求(即规定指标)、进行设计、构造、运行、分析、检验等过程。它是在电气工程和机械工程的基础上发展起来的。 闭环控制:闭环控制有反馈环节,通过反馈系统是系统的精确度提高,响应时间缩短,适合于对系统的响应时间,稳定性要求高的系统。 开环控制:开环控制没有反馈环节,系统的稳定性不高,响应时间相对来说很长,精确度不高,使用于对系统稳定性精确度要求不高的简单的系统。 一般稍微复杂一点的机器人小车都是闭环控制,也就是说它有一个反馈机制,会根据自己配备的各种传感器来读取环境信息,并且根据这些环境信息来决定自己下一步的行动,决定好后将行动指令发给执行系统,使机器人做出合适的动作。当然也有的机器人小车是开环控制,我就见过一个机器人小车配了一支笔,将机器人放在纸上,机器人一转,刷的一下在纸上画出一个圈来,当然由于摩擦力和机械误差等原因,画出来的圆圈可能不闭合,也可能不圆。不过人家阿Q都说了:“孙子才画的圆呢……” 有点迷糊?没关系,其实简单一点说就是这样:机器人可以分为三部分——传感器部分、控制器部分、执行器部分。

飞思卡尔智能车电机资料

3.1.6驱动电机介绍 驱动电机采用直流伺服电机,我们在此选用的是RS-380SH型号的伺服电机,这是因为直流伺服电机具有优良的速度控制性能,它输出较大的转矩,直接拖动负载运行,同时它又受控制信号的直接控制进行转速调节。在很多方面有优越性,具体来说,它具有以下优点: (1)具有较大的转矩,以克服传动装置的摩擦转矩和负载转矩。 (2)调速范围宽,高精度,机械特性及调节特性线性好,且运行速度平稳。 (3)具有快速响应能力,可以适应复杂的速度变化。 (4)电机的负载特性硬,有较大的过载能力,确保运行速度不受负载冲击的 影响。 (5)可以长时间地处于停转状态而不会烧毁电机,一般电机不能长时间运行于 停转状态,电机长时间停转时,稳定温升不超过允许值时输出的最大堵转转矩称为连续堵转转矩,相应的电枢电流为连续堵转电流。 图3.1为该伺服电机的结构图。图3.2是此伺服电机的性能曲线。 图3.1 伺服电机的结构图

图3.2 伺服电机的性能曲线 3.1.7 舵机介绍 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图3.3所示。图3.4为舵机的控制线。

飞思卡尔杯智能车竞赛报告总结

1.1. 系统分析 智能车竞赛要求设计一辆以组委会提供车模为主体的可以自主寻线的模型车,最后成绩取决于单圈最快时间。因此智能车主要由三大系统组成:检测系统,控制系统,执行系统。其中检测系统用于检测道路信息及小车的运行状况。控制系统采用大赛组委会提供的16位单片机MC9S12XS128作为主控芯片,根据检测系统反馈的信息新局决定各控制量——速度与转角,执行系统根据单片机的命令控制舵机的转角和直流电机的转速。整体的流程如图1.1,检测系统采集路径信息,经过控制决策系统分析和判断,由执行系统控制直流电机给出合适的转速,同时控制舵机给出合适的转角,从而控制智能车稳定、快速地行驶。 图2.1 1.2. 系统设计 参赛小车将电感采集到的电压信号,经滤波,整流后输入到XS128单片机,用光电编码器获得实时车速,反馈到单片机,实现完全闭环控制。速度电机采用模糊控制,舵机采用PD控制,具体的参数由多次调试中获得。考滤到小车设计的综合性很强,涵盖了控制、传感、电子、电气、计算机和机械等多个学科领域,因此我们采用了模块化设计方法,小车的系统框图如图2.2。

第五届全国大学生智能汽车竞赛技术报告 图2.2 1.3. 整车外观 图2.3

1.4. 赛车的基本参数 智能车竞赛所使用的车模是东莞市博思公司生产的G768型车模,由大赛组委会统一提供,是一款带有摩擦式差速器后轮驱动的电动模型车。车模外观如图3.1。车模基本参数如表3.1。 图3.1 表3.1车模基本参数 1.5. 赛车前轮定位参数的选定

第五届全国大学生智能汽车竞赛技术报告 现代汽车在正常行驶过程中,为了使汽车直线行驶稳定,转向轻便,转向后能自动回正,减少轮胎和转向系零件的磨损等,在转向轮、转向节和前轴之间须形成一定的相对安装位置,叫车轮定位,其主要的参数有:主销后倾、主销内倾、车轮外倾和前束。模型车的前轮定位参数都允许作适当调整,故此我们将自身专业课所学的理论知识与实际调车中的赛车状况相结合,最终得出赛车匹配后的前轮参数[6]。 1.5.1. 主销后倾角 主销后倾角是指在纵向平面内主销轴线与地面垂直线之间的夹角γ,如图3-2。模型车的主销后倾角可以设置为0、 2°?3°、 4°?6°,可以通过改变上横臂轴上的黄色垫片来调整,一共有四个垫片,前二后二时为0°,前一后三为2°?3°,四个全装后面时为4°?6°。 由于主销后倾角过大时会引起转向沉重,又因为比赛所用舵机特性偏软,所以不宜采用大的主销后倾角,以接近0°为好,即垫片宜安装采用前二后二的方式,以便增加其转向的灵活性。如图3.3。 图3.2 图3.3 1.5. 2. 主销内倾角 主销内倾角是指在横向平面内主销轴线与地面垂直线之间的夹角β,如图3.4,它的作用也是使前轮自动回正。对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小,由于前轴与主销近似垂直的关系,故主销内倾角

飞思卡尔智能车竞赛光电组技术报告

第九届“飞思卡尔”杯全国大学生智能车竞赛光电组技术报告 学校:中北大学 伍名称:ARES 赛队员:贺彦兴 王志强 雷鸿 队教师:闫晓燕甄国涌

关于技术报告和研究论文使用授权的说明书本人完全了解第八届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。 参赛队员签名: 带队教师签名: 日期:2014-09-15日

摘要 本文介绍了第九届“飞思卡尔杯全国大学生智能车大赛光电组中北大学参赛队伍整个系统核心采用飞思卡尔单片机MC9S12XS128MAA ,利用TSL1401线性CCD 对赛道的行扫描采集信息来引导智能小车的前进方向。机械系统设计包括前轮定位、方向转角调整,重心设计器件布局设计等。硬件系统设计包括线性CCD传感器安装调整,电机驱动电路,电源管理等模块的设计。软件上以经典的PID算法为主,辅以小规Bang-Bang 算法来控制智能车的转向和速度。在智能车系统设计开发过程中使用Altium Designer设计制作pcb电路板,CodeWarriorIDE作为软件开发平台,Nokia5110屏用来显示各实时参数信息并利用蓝牙通信模块和串口模块辅 助调试。关键字:智能车摄像头控制器算法。

目录 1绪论 (1) 1.1 竞赛背景 (1) 1.2国内外智能车辆发展状况 (1) 1.3 智能车大赛简介 (2) 1.4 第九届比赛规则简介 (2) 2智能车系统设计总述 (2) 2.1机械系统概述 (3) 2.2硬件系统概述 (5) 2.3软件系统概述 (6) 3智能车机械系统设计 (7) 3.1智能车的整体结构 (7) 3.2前轮定位 (7) 3.3智能车后轮减速齿轮机构调整 (8) 3.4传感器的安装 (8) 4智能车硬件系统设计 (8) 4.1XS128芯片介绍 (8) 4.2传感器板设计 (8) 4.2.1电磁传感器方案选择 (8) 4.2.2电源管理模 (9) 4.2.3电机驱动模块 (10) 4.2.4编码器 (11) 5智能车软件系统设 (11) 5.1程序概述 (11) 5.2采集传感器信息及处理 (11) 5.3计算赛道信息 (13) 5.4转向控制策略 (17) 5.5速度控制策略 (19) 6总结 (19)

智能车制作历程及总结

智能车制作历程 任何时候做任何事情都需要清醒的头脑和恰当的时间,正因为今天校赛刚刚结束现在头脑很清醒,感触是最多的时候,我想现在写下这篇文章应该是最好的。 回首刚去年十月之前,我还是一个一无所知的莽撞的刚步入大三对未来迷茫的小子。因为我所读的专业开了单片机这门专业课,而恰好我班上有几个同学又进入了蓝博芯科实验室,在课余我也买了一块51单片机开发板看着视频自学着,刚开始学习单片机的时候感觉好吃力,因为什么东西都是从零开始,但是由于视频上是手把手教学,所以勉强还是懂的一些。接触起来发现电子挺不可思议的,高科技,很绚丽也很实用。毕竟是自学,而且还是在寝室没有什么计划,所以学一阵子忘一阵子。 后来到了大三上学期也就是十月份的时候,志鹏告诉我实验室要招新成员了。那个时候我对自己不是很自信,认为自己学到的东西不多没有实力,可能通不过面试,但是眼看着志鹏他们这么的有激情在实验室不停歇的动手做一些很有意思的事情。考虑到我对电子还是很感兴趣的,也希望能跟着高手们学习一点技术。就这样我去面试了,做好了充足的准备,端正我自己的态度后,我到实验室来,第一次看到了传说中的何松。当时就很震惊,和我想象的何松差别好大。感觉他很平易近人,第一次就可以从他的身上看到了一个青年应有的热情和自信,还有对学习的渴望。还记得面试的时候我一个劲的跟几个面试的学长诉说了我对实验室的向往,对电子的热情,以及我个人的态度。 感谢松哥对我的信任,将我招入实验室。没有想到就进入实验室成为了我大学的一个转折点,我清楚的记得十月份刚进入实验室的时候,我整个人就像发了疯似得。入魔般的一头就扎进了单片机里面,全身心的就投入了实验室,就好像我在这个实验室呆了很久似得,每天都会过来实验室,早起晚归学习单片机,学习制作PCB板,而且这个习惯就维持到了现在。有的时候晚上做梦都会梦到自己程序上的问题,这些个时候就是我最最充实的时候,因为我感觉我每天都会学到很多东西都会有突破,而且每天还会遇到很多问题,一个阶段一个阶段这样循环下去发现自己有了很大的进步。 进入十一月份的时候,也就是我转变最大的时候了。那是一次上课杨大勇老师邀请松哥到我们教室演讲,像我们介绍他自己制作的激光光电智能车,那是他参加华南赛区获得三等奖的作品。看着他津津有味地向我们介绍小车的时候,我就在想,要是我能做出自己的小车那该多好啊。 后来我找到松哥向他了解了下制作智能车需要具备什么条件,他告诉我说一切从零开始,仅仅需要些单片机基本功。于是我就下定了决心,决心要去参加比赛了。那个时候王志鹏他们已经组了一个队。我没有队友,就想着实验室其他的人是否想做小车,刚好唐丽君也想做车子,但是还是缺一个人。没办法了,先就两个人组成一个队伍先。我把51单片机各部分都用了一遍之后,就制作了几个小模块。算是我的处女作吧,还记得那是一个温度报警器,现在想想真是太简单了,不觉自己都会傻傻的笑话那个时候的我。 到那个时候我开始有些许的迷茫,做小车不知道先从哪里下手。松哥跟我说是时候开始可以买一个更高级的单片机了。正好那个时候我的第三个队友出现了,他是肖甲。于是我信心希望有大增。我们一起出钱买了一个16位的飞思卡尔单片机—MC9S12XS128,还有一大包的元器件,电阻电容都一大堆。由于我的进度是我们三个人里面最快的,在我学完51单片机后,我开始学习Altium Designer09 PCB画板,但是当我学会画板的时候其他的两个队友还在学习51单片机。但是时间也就不等人。那个时候到了期末,也就是12月份了,我们都开始了复习,他们在实验室的时间明显少了,唐丽君有点时候一个星期都不来一次,只有我和肖甲还在为小车奋斗着。在临近期末的时候,我还做了一块主板出来,寒假还带回家了。

飞思卡尔项目书

飞思卡尔智能车比赛项目 参赛时间:2011.7.16 — 2011.7.20 赛前准备时间:2010.7 ---2011.7 飞思卡尔智能车比赛简介: 为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,受教育部高等教育司委托(教高司函[2005]201号文,附件1),由教育部高等学校自动化专业教学指导分委员会(以下简称自动化分教指委)主办全国大学生智能汽车竞赛。该竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。 该竞赛由竞赛秘书处设计、规范标准硬软件技术平台,竞赛过程包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程。该竞赛融科学性、趣味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。该竞赛规则透明,评价标准客观,坚持公开、公平、公正的原则,力求向健康、普及、持续的方向发展。 该竞赛以飞思卡尔半导体公司为协办方,得到了教育部相关领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国30个省市自治区近300所高校广泛参与的全国大学生智能汽车竞赛。2008年起被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一(教高函[2007]30号文)。 全国大学生智能汽车竞赛原则上由全国有自动化专业的高等学校(包括港、澳地区的高校)参赛。竞赛首先在各个分赛区进行报名、预赛,各分赛区的优胜队将参加全国总决赛。每届比赛根据参赛队伍和队员情况,分别设立光电组、摄像头组、电磁组、创意组等多个赛题组别。每个学校可以根据竞赛规则选报不同组别的参赛队伍。全国大学生智能汽车竞赛组织运行模式贯彻“政府倡导、专家主办、学生主体、社会参与”的16字方针,充分调动各方面参与的积极性。 全国大学生智能汽车竞赛一般在每年的10月份公布次年竞赛的题目和组织方式,并开始接受报名,次年的3月份进行相关技术培训,7月份进行分赛区竞赛,8月份进行全国总决赛。 飞思卡尔智能车比赛技术要求:

飞思卡尔智能车比赛个人经验总结

先静下心来看几篇技术报告,可以是几个人一起看,边看边讨论,大致了解智能车制作的过程及所要完成的任务。 看完报告之后,对智能车也有了大概的了解,其实总结起来,要完成的任务也很简单,即输入模块——控制——输出。 (1)输入模块:各种传感器(光电,电磁,摄像头),原理不同,但功能都一样,都是用来采集赛道的信息。这里面就包含各种传感器的原理,选用,传感器电路的连接,还有传感器的安装、传感器的抗干扰等等需要大家去解决的问题。 (2)控制模块:传感器得到了我们想要的信息,进行相应的AD转换后,就把它输入到单片机中,单片机负责对信息的处理,如除噪,筛选合适的点等等,然后对不同的赛道信息做出相应的控制,这也是智能车制作过程中最为艰难的过程,要想出一个可行而又高效的算法,确实不是一件容易的事。这里面就涉及到单片机的知识、C语言知识和一定的控制算法,有时为了更直观地动态控制,还得加入串口发送和接收程序等等。 (3)输出模块:好的算法,只有通过实验证明才能算是真正的好算法。经过分析控制,单片机做出了相应的判断,就得把控制信号输出给电机(控制速度)和舵机(控制方向),所以就得对电机和舵机模块进行学习和掌握,还有实现精确有效地控制,又得加入闭环控制,PID算法。 明确了任务后,也有了较为清晰的控制思路,接下来就着手弄懂每一个模块。虽然看似简单,但实现起来非常得不容易,这里面要求掌握电路的知识,基本的机械硬件结构知识和单片机、编程等计算机知识。最最困难的是,在做的过程中会遇到很多想得到以及想不到的事情发生,一定得细心地发现问题,并想办法解决这些问题。 兴趣是首要的,除此之外,一定要花充足的时间和精力在上面,毕竟,有付出就会有收获,最后要明确分工和规划好进度。

智能小车设计报告书

智能小车设计报告 专业:电子信息工程技术 学生姓名:史响林周博超朱雄王昌指导教师:张力 完成日期:2014 年5 月24 日

目录 1 绪论 (3) 2 设计任务 (2) 2.1设计任务 (2) 3 设计方案 (3) 3.1任务分析 (3) 3.2方案框架 (3) 4 系统硬件设计 (4) 4.1核心芯片模块AT89S52 (4) 4.2电机驱动电路设计 (4) 4.3超声波测距设计 (6) 4.4传感器测速的设计 (8) 4.5LCD1602显示模块 (9) 5 系统软件设计 (8) 5.1程序设计流程图 (8) 5.2关键程序设计 (8)

6 心得体会 (13) 附录1 系统原理图 (15) 附录2 系统PCB图 ........................................................... 错误!未定义书签。附录 3 程序清单 (17) 1 论绪 智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。超声波作为智能车避障的一种重要手段,

以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。本智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。这样的小车还可以用于月球探测等的无人探月车,帮助我们传达月球上更多的信息,让我们更加的了解月球,为将来登月做好充分准备。这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它上面装上摄像机,代替人们进行许多无法进行的工作。 设计采用对比选择,模块独立,综合处理的研究方法。采用AT89S52单片机模块作为小车的检测和控制核心;通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。本次试验利用单片机模块上的按键来控制小车的速度,方向,及在车体上面装有超声波测距模块利用LCD1602显示屏来显示测出来具体距离。本设计结构简单,较容易实现,但具有高度的智能化、人性化,一定程度体现了智能。 通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模

飞思卡尔智能车设计报告

飞思卡尔智能车设计报告

目录 1.摘要 (3) 2.关键字 (3) 3.系统整体功能模块 (3) 4.电源模块设计 (4) 5.驱动电路设计 (4) 6.干簧管设计 (5) 7.传感器模块设计 (6) 8.传感器布局 (6) 9.软件设计 (7) 9.1控制算法 (7) 9.2软件系统实现(流程图) (10) 10.总结 (11) 11.参考文献 (12)

1.摘要 “飞思卡尔”杯全国大学生智能汽车竞赛是由教育部高等自动化专业教学指导分委员会主办的一项以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。该竞赛以汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的科技创意性比赛。 本文介绍了飞思卡尔电磁组智能车系统。本智能车系统是以飞思卡尔32 位单片机K60为核心,用电感检测赛道导线激发的电磁信号, AD 采样获得当前传感器在赛道上的位置信息,通过控制舵机来改变车的转向,用增量式PID进行电机控制,用编码器来检测小车的速度,共同完成智能车的控制。 2.关键字 电磁、k60、AD、PID、电机、舵机 3.系统整体功能模块 系统整体功能结构图

4.电源模块设计 电源是一个系统正常工作的基础,电源模块为系统其他各个模块提供所需要的能源保证,因此电源模块的设计至关重要。模型车系统中接受供电的部分包括:传感器模块、单片机模块、电机驱动模块、伺服电机模块等。设计中,除了需要考虑电压范围和电流容量等基本参数外,还要在电源转换效率、噪声、干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。 全部硬件电路的电源由7.2V,2A/h的可充电镍镉电池提供。由于电路中的不同电路模块所需要的工作电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。 电源模块由若干相互独立的稳压电源电路组成。在本系统中,除了电机驱动模块的电源是直接取自电池外,其余各模块的工作电压都需要经电源管理芯片来实现。 由于智能车使用7.2V镍镉电池供电,在小车行进过程中电池电压会有所下降,故使用低压差电源管理芯片LM2940。LM2940是一款低压稳压芯片,能提供5V的固定电压输出。LM2940低压差稳压芯片克服了早期稳压芯片的缺点。与其它的稳压芯片一样,LM2940需要外接一个输出电容来保持输出的稳定性。出于稳定性考虑,需要在稳压输出端和地之间接一个47uF低等效电阻的电容器。 舵机的工作电压是6伏,采用的是LM7806。 K60单片机和5110液晶显示器需要3.3伏供电,采用的是LM1117。 5.驱动电路设计 驱动电路采用英飞凌的BTS7960,通态电阻只有16mΩ,驱动电流可达43A,具有过压、过流、过温保护功能,输入PWM频率可达到25KHz,电源电压5.5V--27.5V。BTS7960是半桥驱动,实际使用中要求电机可以正反转,故使用两片接成全桥驱动。如图下图所示。

飞思卡尔智能车竞赛策略和比赛方案综述

飞思卡尔智能车竞赛策略和比赛方案综述 一、竞赛简介 起源: “飞思卡尔杯”智能车大赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCSl2单片机为核心的大学生课外科技竞赛。组委会提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路径的智能车,在专门设计的跑道上自动识别道路行驶,谁最快跑完全程而没有冲出跑道并且技术报告评分较高,谁就是获胜者。其设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械、能源等多个学科的知识,对学生的知识融合和实践动手能力的培养,具有良好的推动作用。 全国大学生“飞思卡尔”杯智能汽车竞赛是在规定的模型汽车平台上,使用飞思卡尔半导体公司的8位、16位微控制器作为核心控制模块,通过增加道路传感器、电机驱动电路以及编写相应软件,制作一个能够自主识别道路的模型汽车,按照规定路线行进,以完成时间最短者为优胜。因而该竞赛是涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的比赛。 该竞赛以飞思卡尔半导体公司为协办方,自2006年首届举办以来,成功举办了五届,得到了教育部吴启迪副部长、张尧学司长及理工处领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国30个省市自治区200余所高校广泛参与的全国大学生智能汽车竞赛。2008年第三届被教育部批准列入国家教学质量与教学改革工程资助项目中9个科技人文竞赛之一(教高函[2007]30号文,附件2),2009年第四届被邀申请列入国家教学质量与教学改革工程资助项目。 分赛区、决赛区比赛规则 在分赛区、决赛区进行现场比赛规则相同,都分为初赛与决赛两个阶段。在计算比赛成绩时,分赛区只是通过比赛单圈最短时间进行评比。决赛区比赛时,还需结合技术报告分数综合评定。 1.初赛与决赛规则 1)初赛规则 比赛场中有两个相同的赛道。 参赛队通过抽签平均分为两组,并以抽签形式决定组内比赛次序。比赛分为两轮,两组同时在两个赛道上进行比赛,一轮比赛完毕后,两组交换场地,再进行第二轮比赛。在每轮比赛中,每辆赛车在赛道上连续跑两圈,以计时起始线为计时点,以用时短的一圈计单轮成绩;每辆赛车以在两个单轮成绩中的较好成绩为赛车成绩;计时由电子计时器完成并实时在屏幕显示。 从两组比赛队中,选取成绩最好的25支队晋级决赛。技术评判组将对全部晋级的赛车进行现场技术检查,如有违反器材限制规定的(指本规则之第一条)当时取消决赛资格,由后备首名晋级代替;由裁判组申报组委会执委会批准公布决赛名单。 初赛结束后,车模放置在规定区域,由组委会暂时保管。

相关主题
文本预览
相关文档 最新文档