基于单片机的智能循迹小车设计-精品

**********************

************************

参赛学校:******************

参赛队号:参赛题目:(A题)智能小车控制

参赛学生:*******************

指导教师:*******************

参赛日期: 2011.7.18~2011.7.22

智能小车控制

摘要

智能作为现代的新发明,是以后的发展方向,它可以按照预先设

定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。我们通过软件编程实现它的行进、绕障、停止的精确控制以及遇障次数的显示,并再次寻找到原来的轨道。

一、功能说明

1、基本功能:小车能够在设计的线路上完成寻迹功能;

2、拓展功能:在循迹线路上设置障碍物,小车遇到障碍物能够

自动绕道行驶,完成避障功能;

二、方案论证

方案一:以AT89S51单片机为核心的控制电路,采用模块化的

设计方案,运用传感器检测电路,实现小车在行驶中自动寻迹、躲避障碍物的功能。并将循迹过程中遇障次数等数据传至单片机进行处理,然后由单片机根据所检测数据实现对电动小车的智能化控制。

方案二:采用各类数字电路来组成电动小车的控制系统。采用数

字电路对外围探测轨迹信号,避障信号进行处理。但对输入输出都是模拟量的小装置,如果采用数字化方案,则要先用A/D转换器和D/A转换器实现数字量与模拟量之间的转换。这样必然带来高成本、电路复杂等缺点。因此,本方案灵活性不高,效率低,不利于电动小车智能化的扩展。同时,对各路信号处理也比较困难。

比较以上两种方案的优缺点,方案一简洁、灵活、可扩展性好,

能达到设计要求,因此本设计采用方案一来实现。

三、各模块设计

电路分为电源模块、单片机系统模块、电机驱动板、寻迹模块、

避障模块。

智能小车运行基本原理框图见图1。

图1

1、电源模块

首先我们想到的是稳压电源供电,稳压电源供电稳定方便调试,

但是稳压电源体积大,只适合调试阶段的使用。

其次就是干电池供电,相对于稳压电源来说体积小,电压也比较

稳定,方便小车移动,所以我们采用6节1.2V干电池供电,电压达到7V左右给直流电机供电,然后用7805降压、稳压后给单片机系统供电。

2、单片机系统模块

本系统采用AT89S51单片机作为中央处理器。其主要任务是在

小车行走过程中不断读取传感器采集到的数据,将得到的数据进行处理后,来控制小车行走,同时将相关数据送显示单元动态显示。

单片机是把中央处理器CPU、随机存储器RAM、只读存储器ROM、

I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。它的优点是体积小,可放在仪表内部,且单片机内部有可以多次重复编程的闪烁ROM,并且闪烁ROM可以直接用编程器来擦写,使用起来比较方便。

在本系统中,AT89S51单片机的P0口用于数码显示,P2.4 P2.5

P2.6 P2.7口用于电动机的PWM驱动控制,P1.0 P1.1 P1.2口用于探测轨迹,P3.2 P3.3口用于探测障碍物, P2.1 P2.2 P2.3用于LED提示,P2.0用于倒车显示和蜂鸣器报警。

3、探测轨迹模块

为了保证小车沿黑线行驶,采用了两个检测器并行排列,左右方

向都可以进行控制,控制精度得以提高。在小车行走过程中,结合查询方式,通过程序控制小车行走轨迹。如果左方向偏离黑线,则右侧的探头就会检测到黑线,把信号传送到单片机,进行处理校正。控制其向右转;如果右方向偏离黑线,则左侧的探头就会检测到黑线,把信号传送到单片机,进行处理校正。控制其向左转。从而保证小车沿黑线行驶。

方案一、采用发光二极管发光,用光敏二极管接收。

由于光敏二极管受可见光的影响较大,稳定性差,所以放弃该方案。

方案二、利用光敏电阻组成光敏探测器。

光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值

的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作

方案三、采用TK-20黑白线检测传感器

在本设计中,要求电动小车沿着路面的黑色轨道行驶。其探测路

面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制电动小车行走的路迹。

根据黑色和白色路面对光的反射程度不同,白色反射程度强,而

黑色反射程度弱。我们采用TK-20黑白线检测传感器,其有效探测距离达5cm。通过调节电位器,最远可以达到10cm,受可见光干扰小,输出信号为开关量,信号处理简单,使用非常方便。

使用注意注意事项:

(1)该传感器为开关量传感器,输出为TTL电平,可以直接和单

片机连接,但需要在输出端加上拉电阻。(如不加上拉电阻会出现不规则电平输出)。

(2)一定不要把线接错,否则容易烧掉传感器

4、避障模块

考虑到在测障过程中小车车速及反应调向速度的限制,小车应在

距障碍物一定范围内做出反应,这样在顺利绕过障碍物后,可寻找到最佳的位置和方向。否则,如果范围太大,则可能产生对障碍物的判断失误;范围过小又很容易造成车身撞上障碍物或虽绕过障碍物却无法实现理想定向。根据上述要求,提出以下方案。

我们想到采用激光传感器探测障碍物。该传感器能非常准确地测

出障碍物的存在,但价格高,处理复杂,不符合该设计的要求。

在本设计中,要求电动小车沿着路面的黑色轨道行驶。其探测路

面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制电动小车行走的路迹。此次设计我们采用光电传感器探测障碍物。光电传感器安装于小车前端,在规定的检测距离内,当探测到障碍物时,光电传感器给出信号至单片机,单片机检测到该信号后,调整小车的方向,以控制小车准确地绕过障碍物,而且避免因小车自然转弯而导致的盲目方向控制,能避免电路的复杂性。

在系统中要进行动态显示遇障次数。一种方法是采用LCD1602液

晶显示器。另一种方法是采用数码管显示。LCD具有功耗低,抗干扰能力强的特点。不紧可以显示数字、字符,而且可以显示汉字和图形,但由于显示内容不多,与数码管相比LCD在大小和形状不够灵活,而且LED数码显示价格便宜,使用寿命长。因此,本设计采用LED数码管显示。

5、电动机驱动模块

方案一、采用继电器控制电机。

采用继电器对电机的开或关进行控制。通过开关的切换对小车的

速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高

方案二、采用直流减速电机。直流减速电机转动力矩大,体积小,

重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。采用左右两轮分

别驱动,后万向轮转向的方案。左右轮分别用两个转速和力矩基本相同的直流电机进行驱动,车体尾部装一个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车不同角度的转弯。

为了电路设计简单,采用电机专用驱动芯片L298,其驱动电流

大,瞬时电流最高可达2A,为电机驱动专门设计,工作稳定可靠。

L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的

L298,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。

L298可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电

压。4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,

控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。

根据直流电机稳态运行方程式:

U=CeФN+RaIa

其中:Ф为电机每极磁通量;

Ce为电动势常数;

N为电机转数;

Ia为电枢电流;

Ra电枢回路电阻。

电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。长延时电路可把这两种状态区分出来。长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。当C1上充电电压,即6脚电压超过2/3 VCC,555电路复位,输出低电平。电机启动时间一般小于0.8 s,C1充电时间一般为0.8~1 s。U5A输出电平与555的3脚输出电平经U7相或,如果U5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298的6脚ENA端使电机停止。如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。长延时电路吸收电机启动过流电压波形,从而使电机正常启动。

L298内部同样包含4通道逻辑驱动电路。图2是其引脚图:

图2

1、15

脚是输出电流反馈引脚,在通常使用中这两个引脚也可以直接接地。图3是其与51单片机和直流电机连接的电路图。

图3

四、电路原理图及硬件调试

在安装时我们保证两个驱动电机同轴,当小车前进时,左右两驱动轮与后万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。为了防止小车重心的偏移,后万向轮起支撑作用。

1、原理图的绘制和注意事项

(1)蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个续流二极管。蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。

(2)在设计原理图时注意上拉电阻,下拉电阻的使用,在必要时要加阻值合适的电阻,是电路更加完善。

1、

电路原理图:

单片机最小系统原理图(图4)

图4

蜂鸣器及倒车显示原理图(图5)

图5

数码管显示原理图(图6)

图6

L298电机驱动原理图(图7)

图7

电路PCB图(图8)

图8

3、PCB的设计和注意事项

(1)在原理图定义元件封装的时候,要根据元器件实际大小进行定义,如果库里没有的话自己再绘制一个。

(2)在放置元器件时,一定要考虑元器件的实际尺寸大小(所占面积和高度)、元器件之间的相对位置,以保证电路板的电气性能和生产安装的可行性和便利性同时,应该在保证上面原则能够体现的前提下,适当修改器件的摆放,使之整齐美观,如同样的器件要摆放整齐、方向一致。这个步骤关系到板子整体形象和下一步布线的难易程度,所以一定要花大力气去考虑。PCB

布线时要设定好焊盘的尺寸

大小与实际器件相一致,信号线、电源线和地线的宽度要合适。

五、软件程序及调试

软件调试的任务是利用ISIS开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现仿真结果故障。程序的调试应一个模块一个模块地进行,我们首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。

仿真图

单片机系统需要接收路径识别电路的信号,采用某种路径搜索算法进行寻线判断,进而控制舵机和直流驱动电机的工作。小车系统的软件使用C语言实现。

小车行走状态主体控制框架图(图9):

模型车采用的控制方法是根据传感器采集到的路况信息,通过计算得到具体的方向偏移量和速度,控制小车的行走状态。其控制表格见表1.

图9

软件见附件

表1

六、功能检测与调试

对小车的整体来说其测试按照模块来进行,分为以下几个步骤: ①首先测试电源的工作情况,各个模块能否得到良好供电。 ②光电管安装完成后根据测试数据调节电位器选择合适的参考电压。

③检查单片机能否正常的烧写程序和工作。

④测试后轮电机的工作情况,并试验电机的驱动能力。 ⑤编写测试程序让小车初步循迹运行。

⑥反复测试各参数变化对小车的影响,找出最有效的配置。 ⑦对小车运行过程中各种可能出现的情况测试,发现问题,找出解决方法。

⑧整理数据,优化程序设计。

经过多次调试,本系统能够基本满足设计要求,能够较快较平稳的沿黑色路面行驶。

七、总结

在硬件设计中,开始一个模块设计之前和完成一个模块设计之后都要进行测试。在动手之前务必查清楚所用元件资料,在稍微复杂一点的电路设计之前可以先搭建其中的一部分电路,测试一下是否正常,然后再进行总的电路设计。这样循序渐进的进行设计可以节省时间保证电路的正确性。同样,程序方面的设计也是如此。从最简单的程序开始,慢慢的调试和扩充。电路设计之后的测试也同样重要,特别是和程序有关的外围检测、驱动等模块,如果不排除硬件故障在调

试的时候很难分清到底是硬件还是软件的问题,因此硬件设计完成之后首先需要测试硬件能够正常工作,这样在遇到问题时才能够排除硬件的干扰找出问题的所在。

在基本功能实现的基础之上调整参数,实现最佳的性能。基本功能实现后再去尝试在原有的基础之上去扩展并提高性能,最后根据前一阶段的测试结果有针对性的重新设计电路板,最终将智能小车设计圆满完成。

参考文献

[1]郭天祥.51单片机C语言教程.北京:电子工业出版社, 2009 [2]张毅刚.新编MCS-51单片机应用设计.北京:人民邮电出版社,2006 [3]谭浩强.C语言程序设计.北京:清华大学出版社,1991 [4]周志德.单片机原理与应用.北京:高等教育出版社,2001 [5]熊建云.Protel 99 SE.北京:机械工业出版社,2007 [6]朱运利.EDA技术应用[M].北京:高等教育出版社,2004

附件

#include

#define uchar unsigned char #define uint unsigned char uchar IN,OUT; uchar su;

sbit L=P3^2;///左障碍检测开关 sbit R=P3^3;////右障碍检测开关

//////延时子函数/////// void delay(uint z) { }

/////初始化子函数///// void init() { }

su=0; TMOD=0x01; EA=1; ET0=1;

TH0=(65536-50)/256; TL0=(65536-50)%256; TR0=1; uchar i,j; for(i=z;i>0;i--)

for(j=110;j>0;j--);

//////检测输入子函数///// void jianceIN()

{

}

/////小车运行子函数///// void yunxing()

{

}

P2=OUT; delay(8); IN=P1&0x07; switch(IN) { } case 0x00: OUT=0xf9;break;/////前进 case 0x01: OUT=0xea;break;/////左转 case 0x02: OUT=0xf9;break;/////前进 case 0x03: OUT=0xea;break;/////左转 case 0x04: OUT=0xd5;break;//右转 case 0x05: OUT=0xf6;break;////后退 case 0x06: OUT=0xd5;break;//右转 case 0x07: OUT=0xf0;break;/////全黑 停止 default: OUT=0xf0;break;/////其他情况小车停止

第 21 页 共 23 页

//////主函数////// void main()

{

init();

while(1)

{

if(su==3) {

su=0;

P2=0xf0; delay(30); }

while(L==0) {

P2=0xf5;///右转

}

while(R==0)////左转 {

P2=0xfa;

}

jianceIN(); yunxing(); }

}

第 22 页 共 23 页

///////减速子程序////// void jiansu() interrupt 1 {

TH0=(65536-50)/256; TL0=(65536-50)%256; su++;

}

第 23 页 共 23 页

**********************

************************

参赛学校:******************

参赛队号:参赛题目:(A题)智能小车控制

参赛学生:*******************

指导教师:*******************

参赛日期: 2011.7.18~2011.7.22

智能小车控制

摘要

智能作为现代的新发明,是以后的发展方向,它可以按照预先设

定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。我们通过软件编程实现它的行进、绕障、停止的精确控制以及遇障次数的显示,并再次寻找到原来的轨道。

一、功能说明

1、基本功能:小车能够在设计的线路上完成寻迹功能;

2、拓展功能:在循迹线路上设置障碍物,小车遇到障碍物能够

自动绕道行驶,完成避障功能;

二、方案论证

方案一:以AT89S51单片机为核心的控制电路,采用模块化的

设计方案,运用传感器检测电路,实现小车在行驶中自动寻迹、躲避障碍物的功能。并将循迹过程中遇障次数等数据传至单片机进行处理,然后由单片机根据所检测数据实现对电动小车的智能化控制。

方案二:采用各类数字电路来组成电动小车的控制系统。采用数

字电路对外围探测轨迹信号,避障信号进行处理。但对输入输出都是模拟量的小装置,如果采用数字化方案,则要先用A/D转换器和D/A转换器实现数字量与模拟量之间的转换。这样必然带来高成本、电路复杂等缺点。因此,本方案灵活性不高,效率低,不利于电动小车智能化的扩展。同时,对各路信号处理也比较困难。

比较以上两种方案的优缺点,方案一简洁、灵活、可扩展性好,

能达到设计要求,因此本设计采用方案一来实现。

三、各模块设计

电路分为电源模块、单片机系统模块、电机驱动板、寻迹模块、

避障模块。

智能小车运行基本原理框图见图1。

图1

1、电源模块

首先我们想到的是稳压电源供电,稳压电源供电稳定方便调试,

但是稳压电源体积大,只适合调试阶段的使用。

其次就是干电池供电,相对于稳压电源来说体积小,电压也比较

稳定,方便小车移动,所以我们采用6节1.2V干电池供电,电压达到7V左右给直流电机供电,然后用7805降压、稳压后给单片机系统供电。

2、单片机系统模块

本系统采用AT89S51单片机作为中央处理器。其主要任务是在

小车行走过程中不断读取传感器采集到的数据,将得到的数据进行处理后,来控制小车行走,同时将相关数据送显示单元动态显示。

单片机是把中央处理器CPU、随机存储器RAM、只读存储器ROM、

I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。它的优点是体积小,可放在仪表内部,且单片机内部有可以多次重复编程的闪烁ROM,并且闪烁ROM可以直接用编程器来擦写,使用起来比较方便。

在本系统中,AT89S51单片机的P0口用于数码显示,P2.4 P2.5

P2.6 P2.7口用于电动机的PWM驱动控制,P1.0 P1.1 P1.2口用于探测轨迹,P3.2 P3.3口用于探测障碍物, P2.1 P2.2 P2.3用于LED提示,P2.0用于倒车显示和蜂鸣器报警。

3、探测轨迹模块

为了保证小车沿黑线行驶,采用了两个检测器并行排列,左右方

向都可以进行控制,控制精度得以提高。在小车行走过程中,结合查询方式,通过程序控制小车行走轨迹。如果左方向偏离黑线,则右侧的探头就会检测到黑线,把信号传送到单片机,进行处理校正。控制其向右转;如果右方向偏离黑线,则左侧的探头就会检测到黑线,把信号传送到单片机,进行处理校正。控制其向左转。从而保证小车沿黑线行驶。

方案一、采用发光二极管发光,用光敏二极管接收。

由于光敏二极管受可见光的影响较大,稳定性差,所以放弃该方案。

方案二、利用光敏电阻组成光敏探测器。

光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值

的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作

方案三、采用TK-20黑白线检测传感器

在本设计中,要求电动小车沿着路面的黑色轨道行驶。其探测路

面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制电动小车行走的路迹。

根据黑色和白色路面对光的反射程度不同,白色反射程度强,而

黑色反射程度弱。我们采用TK-20黑白线检测传感器,其有效探测距离达5cm。通过调节电位器,最远可以达到10cm,受可见光干扰小,输出信号为开关量,信号处理简单,使用非常方便。

使用注意注意事项:

(1)该传感器为开关量传感器,输出为TTL电平,可以直接和单

片机连接,但需要在输出端加上拉电阻。(如不加上拉电阻会出现不规则电平输出)。

(2)一定不要把线接错,否则容易烧掉传感器

4、避障模块

考虑到在测障过程中小车车速及反应调向速度的限制,小车应在

距障碍物一定范围内做出反应,这样在顺利绕过障碍物后,可寻找到最佳的位置和方向。否则,如果范围太大,则可能产生对障碍物的判断失误;范围过小又很容易造成车身撞上障碍物或虽绕过障碍物却无法实现理想定向。根据上述要求,提出以下方案。

我们想到采用激光传感器探测障碍物。该传感器能非常准确地测

出障碍物的存在,但价格高,处理复杂,不符合该设计的要求。

在本设计中,要求电动小车沿着路面的黑色轨道行驶。其探测路

面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制电动小车行走的路迹。此次设计我们采用光电传感器探测障碍物。光电传感器安装于小车前端,在规定的检测距离内,当探测到障碍物时,光电传感器给出信号至单片机,单片机检测到该信号后,调整小车的方向,以控制小车准确地绕过障碍物,而且避免因小车自然转弯而导致的盲目方向控制,能避免电路的复杂性。

在系统中要进行动态显示遇障次数。一种方法是采用LCD1602液

晶显示器。另一种方法是采用数码管显示。LCD具有功耗低,抗干扰能力强的特点。不紧可以显示数字、字符,而且可以显示汉字和图形,但由于显示内容不多,与数码管相比LCD在大小和形状不够灵活,而且LED数码显示价格便宜,使用寿命长。因此,本设计采用LED数码管显示。

5、电动机驱动模块

方案一、采用继电器控制电机。

采用继电器对电机的开或关进行控制。通过开关的切换对小车的

速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高

方案二、采用直流减速电机。直流减速电机转动力矩大,体积小,

重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。采用左右两轮分

别驱动,后万向轮转向的方案。左右轮分别用两个转速和力矩基本相同的直流电机进行驱动,车体尾部装一个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车不同角度的转弯。

为了电路设计简单,采用电机专用驱动芯片L298,其驱动电流

大,瞬时电流最高可达2A,为电机驱动专门设计,工作稳定可靠。

L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的

L298,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。

L298可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电

压。4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,

控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。

根据直流电机稳态运行方程式:

U=CeФN+RaIa

其中:Ф为电机每极磁通量;

Ce为电动势常数;

N为电机转数;

Ia为电枢电流;

Ra电枢回路电阻。

电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。长延时电路可把这两种状态区分出来。长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。当C1上充电电压,即6脚电压超过2/3 VCC,555电路复位,输出低电平。电机启动时间一般小于0.8 s,C1充电时间一般为0.8~1 s。U5A输出电平与555的3脚输出电平经U7相或,如果U5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298的6脚ENA端使电机停止。如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。长延时电路吸收电机启动过流电压波形,从而使电机正常启动。

L298内部同样包含4通道逻辑驱动电路。图2是其引脚图:

图2

1、15

脚是输出电流反馈引脚,在通常使用中这两个引脚也可以直接接地。图3是其与51单片机和直流电机连接的电路图。

图3

四、电路原理图及硬件调试

在安装时我们保证两个驱动电机同轴,当小车前进时,左右两驱动轮与后万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。为了防止小车重心的偏移,后万向轮起支撑作用。

1、原理图的绘制和注意事项

(1)蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个续流二极管。蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。

(2)在设计原理图时注意上拉电阻,下拉电阻的使用,在必要时要加阻值合适的电阻,是电路更加完善。

1、

电路原理图:

单片机最小系统原理图(图4)

图4

蜂鸣器及倒车显示原理图(图5)

图5

数码管显示原理图(图6)

图6

L298电机驱动原理图(图7)

图7

电路PCB图(图8)

图8

3、PCB的设计和注意事项

(1)在原理图定义元件封装的时候,要根据元器件实际大小进行定义,如果库里没有的话自己再绘制一个。

(2)在放置元器件时,一定要考虑元器件的实际尺寸大小(所占面积和高度)、元器件之间的相对位置,以保证电路板的电气性能和生产安装的可行性和便利性同时,应该在保证上面原则能够体现的前提下,适当修改器件的摆放,使之整齐美观,如同样的器件要摆放整齐、方向一致。这个步骤关系到板子整体形象和下一步布线的难易程度,所以一定要花大力气去考虑。PCB

布线时要设定好焊盘的尺寸

大小与实际器件相一致,信号线、电源线和地线的宽度要合适。

五、软件程序及调试

软件调试的任务是利用ISIS开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现仿真结果故障。程序的调试应一个模块一个模块地进行,我们首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。

仿真图

单片机系统需要接收路径识别电路的信号,采用某种路径搜索算法进行寻线判断,进而控制舵机和直流驱动电机的工作。小车系统的软件使用C语言实现。

小车行走状态主体控制框架图(图9):

模型车采用的控制方法是根据传感器采集到的路况信息,通过计算得到具体的方向偏移量和速度,控制小车的行走状态。其控制表格见表1.

图9

软件见附件

表1

六、功能检测与调试

对小车的整体来说其测试按照模块来进行,分为以下几个步骤: ①首先测试电源的工作情况,各个模块能否得到良好供电。 ②光电管安装完成后根据测试数据调节电位器选择合适的参考电压。

③检查单片机能否正常的烧写程序和工作。

④测试后轮电机的工作情况,并试验电机的驱动能力。 ⑤编写测试程序让小车初步循迹运行。

⑥反复测试各参数变化对小车的影响,找出最有效的配置。 ⑦对小车运行过程中各种可能出现的情况测试,发现问题,找出解决方法。

⑧整理数据,优化程序设计。

经过多次调试,本系统能够基本满足设计要求,能够较快较平稳的沿黑色路面行驶。

七、总结

在硬件设计中,开始一个模块设计之前和完成一个模块设计之后都要进行测试。在动手之前务必查清楚所用元件资料,在稍微复杂一点的电路设计之前可以先搭建其中的一部分电路,测试一下是否正常,然后再进行总的电路设计。这样循序渐进的进行设计可以节省时间保证电路的正确性。同样,程序方面的设计也是如此。从最简单的程序开始,慢慢的调试和扩充。电路设计之后的测试也同样重要,特别是和程序有关的外围检测、驱动等模块,如果不排除硬件故障在调

试的时候很难分清到底是硬件还是软件的问题,因此硬件设计完成之后首先需要测试硬件能够正常工作,这样在遇到问题时才能够排除硬件的干扰找出问题的所在。

在基本功能实现的基础之上调整参数,实现最佳的性能。基本功能实现后再去尝试在原有的基础之上去扩展并提高性能,最后根据前一阶段的测试结果有针对性的重新设计电路板,最终将智能小车设计圆满完成。

参考文献

[1]郭天祥.51单片机C语言教程.北京:电子工业出版社, 2009 [2]张毅刚.新编MCS-51单片机应用设计.北京:人民邮电出版社,2006 [3]谭浩强.C语言程序设计.北京:清华大学出版社,1991 [4]周志德.单片机原理与应用.北京:高等教育出版社,2001 [5]熊建云.Protel 99 SE.北京:机械工业出版社,2007 [6]朱运利.EDA技术应用[M].北京:高等教育出版社,2004

附件

#include

#define uchar unsigned char #define uint unsigned char uchar IN,OUT; uchar su;

sbit L=P3^2;///左障碍检测开关 sbit R=P3^3;////右障碍检测开关

//////延时子函数/////// void delay(uint z) { }

/////初始化子函数///// void init() { }

su=0; TMOD=0x01; EA=1; ET0=1;

TH0=(65536-50)/256; TL0=(65536-50)%256; TR0=1; uchar i,j; for(i=z;i>0;i--)

for(j=110;j>0;j--);

//////检测输入子函数///// void jianceIN()

{

}

/////小车运行子函数///// void yunxing()

{

}

P2=OUT; delay(8); IN=P1&0x07; switch(IN) { } case 0x00: OUT=0xf9;break;/////前进 case 0x01: OUT=0xea;break;/////左转 case 0x02: OUT=0xf9;break;/////前进 case 0x03: OUT=0xea;break;/////左转 case 0x04: OUT=0xd5;break;//右转 case 0x05: OUT=0xf6;break;////后退 case 0x06: OUT=0xd5;break;//右转 case 0x07: OUT=0xf0;break;/////全黑 停止 default: OUT=0xf0;break;/////其他情况小车停止

第 21 页 共 23 页

//////主函数////// void main()

{

init();

while(1)

{

if(su==3) {

su=0;

P2=0xf0; delay(30); }

while(L==0) {

P2=0xf5;///右转

}

while(R==0)////左转 {

P2=0xfa;

}

jianceIN(); yunxing(); }

}

第 22 页 共 23 页

///////减速子程序////// void jiansu() interrupt 1 {

TH0=(65536-50)/256; TL0=(65536-50)%256; su++;

}

第 23 页 共 23 页


相关内容

  • 基于单片机的智能小车文献综述(超详细)
  • 基于单片机的智能小车文献综述 摘要:随着电子工业的发展,智能技术广泛运用于各种领域,智能小车不仅在工业智能化上得到广泛的应用,而且运用于智能家居中的产品也越来越受到人们的青睐.国外智能车辆的研究历史较长.相比于国外,我国开展智能车辆技术方面的研究起步较晚,在智能车辆技术方面的研究总体上落后于发达国家 ...

  • 基于STM32的可遥控智能跟随小车设计
  • 基于STM32的可遥控智能跟随小车设计 刘 磊 孙晓菲 张 煜 )(西南交通大学电气工程学院 成都 611756 摘 要:针对物品搬运时人类双手仍无法完全解放的现状,设计并实现了一种基于S超声波测距以及比例控TM32.制算法的可遥控智能跟随小车.小车以S有智能跟随和红外遥控2个模式可选.跟随模式下用 ...

  • 基于单片机的智能循迹小车(文献综述)(4)
  • 基于MCS-51单片机智能小车控制器设计与实现 电子技术.计算机技术和制造技术的飞速发展,数码相机.DVD.洗衣机.汽车等消费类产品越来越呈现光机电一体化.智能化.小型化等趋势.各种智能化小车在市场玩具中也占一个很大的比例.根据美国玩具协会的调查统计,近年来全球玩具销量增幅与全球平均GDP增幅大致相 ...

  • 基于单片机的智能避障小车设计的毕业论文
  • 毕业设计论文 (基于单片机的智能避障小车设计) 专 业: 电子 班 级: 1001 姓 名: 田川 二〇一三年十一月 基于单片机的智能避障小车设计 摘 要 当今世界,随着汽车工业的快速发展,关于汽车的研究也越来越受到人们的关注.从20世纪70年代,美欧等发达国家开始进行无人驾驶汽车的研究,我国从上世 ...

  • 基于蓝牙遥控的智能小车设计
  • 摘要 无线遥控的小车,可以在危险的环境作业,人员搜索,可以在 各类领域中发挥着它特殊的作用,本次设计是选择基于蓝牙遥控的多功能智能小车为对象.控制系统以C51单片机为主控芯片,采用L298N为电机驱动芯片.HC-06蓝牙无线模块.12864液晶显示模块.四路循迹模块等构成外围扩展电路.将自制的控制电 ...

  • 智能小车的研究背景及意义
  • 1.1本课题的研究的背景以及现实意义 目前 ,在企业生产技术不断提高.对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输.柔性生产组织等系统的关键设备.世界上许多国家都在积极进行智能车辆的研究和开发设计.移动机器人是机器人学中的一个重要分支,出现于20世 ...

  • 基于单片机的智能小车论文检测
  • 论文相似性检测报告 论文相似性检测报告 报告编号:c1864f91-affc-40ca-944f-a1c3010b23a3检测日期:2013年05月19日 检测范围:中国学术期刊数据库(CSPD).中国学位论文全文数据库(CDDB).中国学术会议论文数据库(CCPD).中国学术网页数据库(CSWD) ...

  • 基于红外反射式光电传感器的智能循迹小车
  • 时间:2012-07-09 来源:山西电子技术 作者:闫俊旭,侯 超 关键字:红外   反射式   光电传感器   智能循迹小车 摘要:介绍了一种智能寻迹小车的设计与实现.基于红外反射式光电传感器的寻迹原理,采用AT89C52单片机为核心控制器件,通过红外传感器检测路面信息,单片机获取路面信息后,进 ...

  • 基于五自由度机械手的遥控智能车
  • 摘要 本文对基于五自由度机械手的遥控智能车进行了总体设计及分析,包括整体结构设计.机械臂零件和小车底盘零件选用和分析.机械臂关节驱动舵机选用.小车减速箱和驱动电机选用.五自由度模拟机械臂的设计.遥控端电路和接收端电路设计,遥控端和接收端程序设计等. 本设计还做出了实物,能够实现无线灵活控制小车前进后 ...