ln0428.docx
- 文档编号:9402666
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:19
- 大小:75.91KB
ln0428.docx
《ln0428.docx》由会员分享,可在线阅读,更多相关《ln0428.docx(19页珍藏版)》请在冰点文库上搜索。
ln0428
Ln04-28
2011年全国大学生电子设计竞赛
智能小车(C题)
【28组】
2011年9月6日
摘要
系统采用STC12C5A16S2单片机为核心,配合直流减速电机、红外对管、光电开关组成最小系统,对轨道进行循迹,以完成绕圈及超车交替领跑等功能。
且本单片机内部集成双串口、8路10bitADC和两路八位PWM。
系统由MINIUSB供电和提供程序下载接口,使得电路大大简化,通用性增强,能够更好的为我们小车的运行速度、反应灵敏度提供基础,使其达到题目所要求的时间最短。
在传感器的选择上,我们还充分利用了E18-D80NK型光电传感器,其检测距离约为30cm,具有更宽的范围,能够达到精度要求,在实践过程中也证实了该点,所以本次设计两车基本满足要求,且精度高,速度快。
关键词:
STC12C5A16S2寻迹光电开关无线传输PWM
目录
1系统方案1
1.1控制元件的论证与选择1
1.2电动机的论证与选择1
1.3循迹模块的论证与选择1
1.3.1壁障的选择2
3电路与程序设计2
3.1电路的设计2
3.1.1系统总体框图2
3.1.2循迹统框图与电路原理图2
3.1.3壁障框图与电路原理图3
3.1.4电源4
3.2程序的设计4
3.2.1程序功能描述与设计思路4
3.2.2程序流程图4
4测试6
4.1测试方案6
4.2测试条件与仪器7
5心得与感悟7
附录1:
电路原理图9
附录2:
源程序10
2.1沿外轨道循迹程序10
2.2沿内轨道循迹程序(可实现超车功能)12
附录3:
元器件清单14
附录4:
参考文献15
智能小车(C题)
1系统方案
本系统主要由电源模块、循迹模块、壁障模块、电源模块组成,下面分别论证这几个模块的选择。
1.1控制元件的论证与选择
作为智能小车的控制与制作,最主要的就是体现在智能控上,那么作为“大脑‘的控制元件的选择就显得尤为重要。
通过调查和学习,我们了解到作为处理非高级的程序和算法,单片机就可充分的完成此功能,而且价格便宜使用方便。
对此我们对单片机做了以下分析。
方案一:
选择传统的51等系列单片机,此种单片机价格便宜,使用方便操作简单广泛应用于社会各个角落。
但其缺点就是内存小,运算速率慢。
方案二:
选择新型的STC12系列的单片机,此种单片机是新兴的一款其内存大、运算速率高,还有其本身内部集成的AD以及PWM等功能深受当今人们欢迎您。
并且其价格相对于其他品牌还不是太贵。
综合综合以上两种介绍我们选择方案二
1.2电动机的论证与选择
方案一:
选择步进电机,步进电机可以精确的命令其旋转的步数及角度,可以使本体的小车精确停止,但步进电机操作复杂,编程复杂,且步进电机力矩小,很难带动大的负载,并且价格昂贵。
方案二:
选择普通直流电机,因为有减速齿轮,增加了带负载能力。
而且普通直流电机操作简单易于编程,易于控制。
所以综上所述,选择直流电机。
1.3循迹模块的论证与选择
方案一:
利用激光进行循迹
整个过程中利用激光进行循迹的处理。
激光循迹灵敏度较高,但是价格比较昂贵。
方案二:
红外传感器的选择
红外进行循迹时比较灵敏,而且价格便宜,易于控制。
1.3.1壁障的选择
方案一:
选择无线模块对两辆小车之间进行通讯进而调节两车之间的距离。
但是这种方法比较昂贵而且难于控制。
方案二:
选择光电开关进行壁障,虽然精度不如无线,但是便宜且易于控制,可以完成赛题要求。
综合考虑采用方案二较好。
3电路与程序设计
3.1电路的设计
3.1.1系统总体框图
系统总体框图如图1~4所示,
图1系统总体框图
3.1.2循迹统框图与电路原理图
1、循迹子系统框图
图2循迹子系统框图
2、循迹子系统电路
红外传感器
图3红外传感器电路
上图即是控制循迹的模块,此模块由多个红外传感器检测外部信号,经过电压比较器从而输出高低电平进而给单片机信号。
3.1.3壁障框图与电路原理图
1、光电传感器
图4光电传感器系统框图
3.1.4电源
电源由变压部分、滤波部分、稳压部分组成。
为整个系统提供
5V或者
12V电压,确保电路的正常稳定工作。
这部分电路比较简单,都采用三端稳压管实现,故不作详述。
3.2程序的设计
3.2.1程序功能描述与设计思路
1、程序功能描述
根据题目要求软件部分主要实现小车的循迹和防撞、超车功能。
1循迹模块的实现:
根据红外传感器的信息将数据发送给单片机控制。
2、超车控制:
根据寻机功能和车与车之间的距离等各种信息使乙车在超车区域超过甲车。
3.2.2程序流程图
1、主程序流程图
2、转弯子程序流程图
3、计时器计时子程序流程图
4、控制循迹子程序流程图
4测试
4.1测试方案
1、硬件测试
硬件测试:
各个模块单独测试,之后再联合测试。
(1)稳压模块的测试
我们用六节干电池作为稳压芯片的输入电压,观察输出电压的实际值与理论值的相对误差。
测试结果如下表:
表-2稳压模块测试
输入电压
输出电压
理论输出电压
相对误差
7.20V
4.98V
5.00V
0.4%
(2)红外传感器的测试
将传感器的红外探头分别放在黑线和白线部分并对输出电压进行检测,结果是检测黑线输出低电平,检测白线时输出高电平。
(3)电机驱动的测试
电机L298的工作模式是采用对四个输入端IN1,IN2,IN3,IN4的检测,以确定电机的向前转、向后转、刹停以及停止四个状态。
2、软件仿真测试
软件调试,方法就是先对每一个模块分开进行测试,最后组合到一起调试出我们想要的结果。
3、硬件软件联调
根据硬件的连接设计软件的程序,进行软硬件同时调试。
4.2测试条件与仪器
测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。
5心得与感悟
我们三人十分幸运的参加了本次的全国大学生电子设计竞赛,这次大赛让我们有许多感触,也让我们受益匪浅!
许多事情只有经历了才知道其内涵,这放在电子方面十分合适。
我们对电子方面十分感兴趣,但是上大学以来由于学习的都是些理论方面的东西,自己动手实践的能力相对而言不是很好。
我们在本次比赛过程中不仅是在知识技能、学习能力上,还是心态、意识上自己都有了一个长足的进步。
我们学到的不仅是如何学习,如何解决问题,还有如何与人合作,如何与人沟通。
这一次的比赛,让我们对自己的专业方向有了计划,我们将努力地加深和拓宽相关的知识,把握更多的实践机遇,不断提高自己。
附录1:
电路原理图
图5总系统分模块图
附录2:
源程序
2.1沿外轨道循迹程序
#include
fortheintendedSTC12C5A60S2derivative*/
#include
#defineucharunsignedchar
#defineuintunsignedint
//#definePWM_ON2
//#defineCYCLE11
#defineBLACK0
#defineWHITE1
sbitLeft_Left=P2^0;
sbitLeft_Right=P2^1;
sbitRight_Left=P2^3;
sbitRight_Right=P2^2;
sbitCLOSE_cg=P3^2;
sbitpwm1=P1^3;
sbitpwm2=P1^4;
unsignedcharcount,turn;
voiddelay(uintxms)
{
unsignedinti,j;
for(i=xms;i>0;i--)
for(j=0;j<=110;j++);
}
voidforward()
{
P1=0xdd;
}
voidturn_right()
{
P1=0xf9;
}
voidturn_left()
{
P1=0xde;
}
voidchange_out()
{
if(Right_Left==BLACK)
{
if(Right_Right==WHITE)
turn_left();
elseturn_left();
}
if(Right_Left==WHITE)
{
if(Right_Right==WHITE)
turn_right();
else
forward();
};
}
voidmain()
{
TMOD=0x10;
IE=0xaa;
TH1=(65536-400)/256;
TL1=(65536-400)%256;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
forward();
delay(5000);//先行驶一段距离
TR0=0;
TR1=1;
while
(1)
{
;
}
}
voidtime1()interrupt3//定时器T1中断服务程序用于扫描红外及光电开关
{
TR1=0;
change_out();//检查及调整轨迹防跑出
TR1=1;
TH1=(65536-400)/256;
TL1=(65536-400)%256;
}
2.2沿内轨道循迹程序(可实现超车功能)
#include
fortheintendedSTC12C5A60S2derivative*/
#include
#defineucharunsignedchar
#defineuintunsignedint
//#definePWM_ON2
//#defineCYCLE11
#defineBLACK0
#defineWHITE1
sbitLeft_Left=P2^0;
sbitLeft_Right=P2^1;
sbitRight_Left=P2^3;
sbitRight_Right=P2^2;
sbitCLOSE_cg=P3^2;
sbitpwm1=P1^3;
sbitpwm2=P1^4;
unsignedcharcount,turn;
voiddelay(uintxms)
{
unsignedinti,j;
for(i=xms;i>0;i--)
for(j=0;j<=110;j++);
}
voidforward()
{
P1=0xdd;
}
voidturn_right()
{
P1=0xf9;
}
voidturn_left()
{
P1=0xde;
}
voidchange()
{
if(Left_Left==BLACK)//*在跑道内
{
if(Left_Right==WHITE)
forward();
elseturn_right();//右转
}
//*没在跑道内
//调整车头、转弯、回到安全轨道内
if(Left_Left==WHITE)
{
if(Left_Right==WHITE)
turn_left();//左转
else
forward();
};
}
voidmain()
{
TMOD=0x10;
IE=0xaa;
TH1=(65536-400)/256;
TL1=(65536-400)%256;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
forward();
delay(10000);//先行驶一段距离
TR0=0;
TR1=1;
while
(1)
{
;
}
}
voidtime1()interrupt3//定时器T1中断服务程序用于扫描红外及光电开关
{
TR1=0;
if(!
CLOSE_cg)
{
P1=0xff;//小车刹停
}
else
{
change();//检查及调整轨迹防跑出
};
TR1=1;
TH1=(65536-400)/256;
TL1=(65536-400)%256;
}
附录3:
元器件清单
器件名称
型号
单价
数量
总价
无线通讯模块
nrf2401
15
2
30
驱动模块
Lm298
20
2
40
电源芯片
Lm317
1
4
4
电源芯片
7805
1
4
4
红外壁障传感器
TCRT5000
2.5
10
25
充电电池
1.2v900mA
2
12
24
光电传感器
E18-D80NK
4
电压比较器
LM339N
1
2
2
单片机
STC12C5A60S2
8
2
16
直流减速电机
1
2
附录4:
参考文献
[1]吴镇扬.数字信号处理.北京:
高等教育出版社.
[2]古天祥,王后军,习友宝.电子测量原理.北京:
机械工业出版社.
[3]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编(2005).北京:
北京理工大学出版社.2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ln0428