智能小车电子设计大赛doc.docx
- 文档编号:8374515
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:39
- 大小:239.79KB
智能小车电子设计大赛doc.docx
《智能小车电子设计大赛doc.docx》由会员分享,可在线阅读,更多相关《智能小车电子设计大赛doc.docx(39页珍藏版)》请在冰豆网上搜索。
智能小车电子设计大赛doc
2011年全国大学生电子设计竞赛
智能小车(C题)
【本科组】
2011年9月3日
摘要:
智能小车使用宏晶STC12C5A60S2的8位MCU作为控制核心,由红外反射式传感器、直流电机、无线通信模块、直流稳压电源和数码管组成。
红外反射式传感器时刻探测运动平台上的黑线和白色区域,根据探测到的情况输出不同的信号给单片机,经单片机分析再输出信号到L298N来驱动小车不同直流电机的正转、反转或停止。
在超车区,通过无线通信模块NRF24L01来实现超车功能。
经实际测试表明,智能小车运行稳定,大部分功能指标均已达到题目要求。
关键词:
STC12C5A60S28红外传感器L298N无线通信NRF24L01
Abstract:
TheIntelligentsmartcaruseHongJinSTC12C5A60S28-bitMCUasthecenter-controlcorel,consistingoftheinfraredreflectivesensors,DCmotors,DCpowersupply,wirelesscommunicationmoduleanddigitaltube.Infraredreflectivesensorsdetectmovementontheplatformblacklineandwhiteareas.Accordingtothesituationdetected,itoutputdifferentsignaltothemicrocontroller,thenthemicrocontrolleranalyzessignalsandoutputtoL298NtodrivethecaradifferentDCmotorsforward,reverseorstop.Intheovertakingzone,Intelligentsmartcarusethewirelesscommunicationmodule(NRF24L01)toachieveovertakingfunction.Thepracticaltestshowsthatthesmartcarisstableandmostofthefunctionalityindexeshavereachedthesubjectrequirements
Keywords:
STC12C5A60S28InfraredsensorL298NWirelessCommunicationNRF24L01
2运动轨迹探测选择方案论证……………………………………………..................4
3显示模块选择选择方案论证…………………………………………………….….5
2.1主控器电路设计…………………………………………………………………6
2.2电源模块单元电路设计………………………………………………………….7
2.3运动轨迹探测电路设计…………………………………………………………7
2.4电机驱动单元电路设计………………………………………………………….8
2.5无线模块单元电路设计…………………………………………………………10
2.6显示模块单元电路设计………………………………………………………..11
1基本部分测试和分析…………………………………………………………….15
2发挥部分测试和分析…………………………………………………………….15
一.方案论证及比较
1处理器选择方案论证
方案一:
采用FPGA作为系统主控器。
FPGA可实现各种复杂逻辑功能,规模大,集成度高,体积小,稳定性好,IO资源丰富,易于进行功能扩展,处理速度快,但适用于大规模实时性要求较高的系统,价格高,编程实现难度大。
本系统只需完成信号检测和电机驱动的控制,逻辑功能简单,对控制器的数据处理能力要求不高,故不选择此方案。
方案二:
采用嵌入式系统作为主控器。
嵌入式系统工作频率较高,速度较快,控制功能很强,也有较强的数据处理能力。
但同样价格高,编程实现难度大。
方案三:
采用宏晶公司的12C5A60S2单片机作为核心控制器。
12C5A60S2是一个低功耗、高性能,高速,超强抗干扰的新一代8051位单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速8位A/D转换(250K/S),针对电机控制,强干扰场合。
综合以上分析,本设计选择方案三。
2运动轨迹探测选择方案论证
方案一:
采用激光探测系统。
激光具有波长单一和良好的方向性,所以和传统探测方法相比,激光探测具有精度高,抗干扰能力强等特点,但是使用激光探测成本高,技术难度比较大。
方案二:
采用CCD/CMOS光电成像传感器。
通过图像识别得到小车行走轨迹。
实地拍摄小车所在位置图像,由单片机处理后找出黑线延伸方向,以控制小车延黑线前进。
此方案优点是定位准确,缺点是数据量很大,且图像识别软件规模庞大,不适合在单片机系统上运行。
方案三:
采用反射式红外传感器。
通过多个红外传感器的探测黑线和白色区域,来控制小车的行走轨迹。
此方法控制简单,价格便宜,灵敏度可调,性价比高,单片机完全可以控制。
综合以上分析,选择方案三。
3显示模块选择选择方案论证
方案一:
采用数码管显示。
采用五位共阳数码管显示时间,采用74HC595静态显示。
该方案成本低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,占用单片机资源少。
这种显示方式得到广泛应用。
不足的地方是电路较为复杂。
方案二:
采用液晶显示屏LCD显示时间。
该方案采用液晶体显示屏具有显示字符优美,既能显示数字又显示字符甚至图形等优点,这是LED数码管无法比拟的。
但是液晶显示模块价格昂贵,驱动程序复杂。
从简单实用的原则考虑,显示部分采用方案一。
4驱动模块选择方案论证
方案一:
采用MOS管或大功率三极管结成“H”型桥式电路。
该电路通过PWM控制各桥臂的导通可以控制电机的转速和方向,电路结构简单,驱动简单易行。
但本电路由于用分离元件做,稳定性较差,驱动能力较弱,精度较低;而且一旦同一侧的上下两管同时导通,就会造成直流通电,进而烧毁电路。
方案二:
采用继电器驱动电机。
这种驱动方式可以方便调节电机的正反转,但由于继电器相应速度很慢,所以不适合用于PWM调速。
方案三:
采用集成驱动芯片L298N驱动电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号;而且电路简单,体积小,可靠性高,抗干扰能力强,价格适中,使用比较方便。
综合以上分析,采用方案三。
二.系统设计
1总体设计框图
该系统的总体设计方框图如图2.1所示。
图2.1总体设计框图
2单元电路设计
2.1主控器电路设计
智能小车的控制需要单片极快速处理信号的能力。
鉴于系统要求,选用宏晶科技生产的单时钟/机器周期(1T)的单片机,此单片机是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810复位电路,2路PWM,8路高速8位A/D(300K/S)转换,针对电机控制,强干扰场合。
其管脚分配如图2.2所示,该系统主电路图如图2.3所示。
图2.2STC12C5A60S28
图2.3主电路图
2.2电源模块单元电路设计
+12V锂聚合物电池给小车电机提供直流电源。
系统+9V电压由12V锂聚合物电池经可调三端稳压器LM338稳压得到,然后将+9V电源经7805三端集成稳压块稳压得到+5V电压,最后将+5电压接到LM1117低压差调节器调节得到+3.3V电压。
原理图如图2.4所示。
图2.4直流电源稳压电路
2.3运动轨迹探测电路设计
小车在平台轨道上行驶时,采用了反射式光电红外探测法。
由于黑色物体和白色物体的反射系数不同,调节传感器与检测对象之间的距离,使光敏三极管只能接收到白色物体反射回来的光束。
而对于黑色物体由于反射系数小,所反射回来的光束很弱,光敏三极管无法接收到反射光。
利用反射光可以使光敏三极管实现导通和关断,从而实现对黑白物体的分辨。
电路工作过程如下:
当探测到平板上的黑线时,反射回来的光很弱,光敏三极管无法导通三极管,集电极为高电平;当探测到平板上的白色部分时,反射回来的光很弱,光敏三极管导通,三极管集电极为低电平。
然后将此数据通过一个非门74HC04电路转化为“1”和“0”的数字量传送给单片机的I/O口,从而由软件来控制小车的行走路线,实现加速,减速,转弯。
原理图如图2.5所示。
图2.5红外传感器探测电路
2.4电机驱动单元电路设计
电机驱动电路采用了集成驱动器L298N作为电机的驱动电路。
电机有两个分别作为左右轮的驱动,而通过两路PWM输出即可控制一个电机,故共需4路PWM输出。
L298N芯片的内部电路如图2.6所示。
图2.6L298N内部结构原理图
工作方式真值表如表2-1所示。
表2-1工作方式真值表
EnA
In1
In2
运转状态
0
X
X
停止
1
1
0
正转
1
0
1
反转
1
1
1
刹停
1
0
0
停止
L298N芯片管脚分配如图2.7所示。
图2.7L298N管脚分配
电机驱动电路电路工作过程:
由图2.7可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。
同为低电平电机停止,同为高电平电机刹停。
另一电机驱动原理相同。
电机驱动电路原理图如图2.8所示。
图2.8电机驱动电路
2.5无线模块单元电路设计
为实现两车之间的通信,系统采用了以NRF24L01为核心得无线模块,NRF24L01时一款工作在2.4Ghz世界通用ISM频段的单片无线收发器芯片。
无线收发器包括:
频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。
输出功率、频道选择和协议的设置可以通过SPI口进行设置。
具体原理图如图2.9所示。
图2.9无线模块
2.6显示模块单元电路设计
漏极开路输出CMOS移位寄存器74HC595,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。
74HC595管脚图如图2.10所示。
图2.1074HC595管脚图
74HC595具有8位串行输入,8位串行或并行输出存储状态寄存器,输出具有三种状态,输出寄存器可以直接清除,移位频率达到100MHz,兼容低电压TTL电路,遵守JEDEC标准。
74HC595还具有8位移位寄存器和一个存储器,三态输出功能。
数据在SCHCP的上升沿输入,在STCP的上升沿进入存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),一个串行输出(Q7)和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
其数码显示电路图如图2.11所示。
图2.11数码显示电路
三.软件设计
系统主程序流程图如图3.1所示。
小车运行时,红外传感器实时检测黑线,将检测到的不同数据传送给小车,使小车有效的行驶和实现超车功能,检测黑线流程图如图3.2所示。
图3.1主程序流程图
图3.2黑线检测子程序流程图
四.系统测试
1基本部分测试
甲车和乙车分别从起点标志线开始,正常行驶一圈所用时间测试结果如表4.1所示(分别进行3次测试)。
表4.1
时间(S)
第一次
第二次
第三次
甲车
25
25
26
乙车
25
26
25
根据表4.1可以看出甲乙两车分别正常行驶一圈所用时间基本相同。
按照题目要求实现乙车超过甲车,正常行驶一圈所用时间测试结果如表4.2所示(3次测试)。
表4.2
时间(S)
第一次
第二次
第三次
甲车
26
27
26
乙车
23
24
23
根据表4.2可以看出,乙车在一圈内超过甲车,实现了超车要求,并且时间比正常行驶所用时间短。
2发挥部分测试
乙车在第一圈实现超过甲车后,再行驶三圈两车交替领跑,所用时间测试结果如表4.3所示。
表4.3
时间(S)
第二圈
第三圈
第四圈
甲车
24
28
25
乙车
27
25
27
根据表4.3可以看出,在第二圈、第三圈和第四圈,甲乙两车分别交替领跑,并且所用时间越来越短,实现了题目要求。
重新设定甲车起始位置,在四圈内甲乙两车交替领跑,所用时间测试结果如表4.4所示。
表4.4
时间(S)
第一圈
第二圈
第三圈
第四圈
甲车
24
20
20
16
乙车
22
21
18
17
根据表4.4可以看出,在甲车重新设定位置后,在四圈内同样能够实现两车交替领跑的要求,并且行驶时间越来越短。
五.结论
智能小车以STC12C5A60S2的8位MCU作为控制核心,由红外反射式传感器、直流电机、直流稳压电源、无线通信模块和数码管组成。
红外反射式传感器时刻探测运动平台上的黑线和白色区域,根据探测到的情况输出不同的信号驱动小车向前行驶;在超车区域,通过无线通信模块NRF24L01来实现超车功能。
经实际测试表明,智能小车运行稳定,大部分功能指标均已达到题目要求。
参考文献
[1].谢自美著,《电子线路综合设计》,武汉:
华中科技大学出版社,2006年;
[2].童诗白著,华成英,华成英著,《模拟电子线路基础》,北京:
高等教育出版社,2009年;
[3].阎石著,《数字电子技术基础》,北京:
高等教育出版社,2009年;
[4].林立著,张俊亮,曹旭东等著,《单片机原理及应用》,北京:
电子工业出版社,2009年;
[5]黄志伟著,《全国大学生电子设计竞赛》,北京:
电子工业出版社,2010年;
[6]牛余朋著.基于单片机的高精度超声波测距电路.电子世界,2005年第5期27-29;
[7]余瑞芬著.传感器原理.北京:
航空工业出版社,1995.173-177;328-331.
附录1元器件明细表
1.STC12C5A60S28
2.红外传感器
3.L298N
4.NRF24L01
5.74HC04
6.74HC595
7.LM338
8.LM1117
9.LM339
附录2程序清单
/*********************************************************************
【2011国赛】智能小车程序清单
**********************************************************************/
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
/*************延时子程序***********************/
voiddelayms(uintms)
{
uintj;
while(ms--)
for(j=0;j<1200;j++);
}
voiddelayus(uintn)
{
uinti;
for(i=0;i {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();} } //-------光电对管后装式----------------------------------------------------- //为低0-表示黑线,无反射;为高1-表示白色,有反射 sbitligmid=P3^1;//光电对管前中 sbitligmid0=P2^2;//光电对管 sbitligL1=P2^3;//光电对管 sbitligL2=P2^4;//光电对管 sbitligR1=P2^0;//光电对管 sbitligR2=P2^1;//光电对管 /***********AAAANRF24l01无线模块引脚配置********************************************/ sbitCE=P0^5;//RX/TX模式选择端 sbitSCLK=P0^6;//SPI时钟端 sbitMISO=P0^7;//SPI主机输出从机输出端 sbitCSN=P2^5;//SPI片选端//就是SS sbitMOSI=P2^6;//SPI主机输出从机输入端 sbitIRQ=P2^7;//可屏蔽中断端 /*************延时子程序***********************/ voiddelaylig(uintms) { uintj; while(ms--) for(j=0;j<1200;j++) if(ligmid==0) return; } /***********使用的接口******************************************/ sbitred1=P3^0;//光电对管 sbitred2=P3^1;//光电对管 /********数码显示接口*****************************************/ //GND //VCC sbitRCK=P0^2;//RCK-数据寄存器时钟上升沿更新数据 sbitSCK=P0^1;//SCK-移位寄存时钟上升沿移位时为QA-->QB…QH-->QH^ sbitDI=P0^0;//数据端口 /*********电机驱动模块接口L298NPCB板**********************/ sbitBreak2=P1^2;//左轮停止使能控制,1-表示停止,0-表示转动 sbitPwm2=P1^3; sbitDir2=P1^4; sbitBreak1=P1^5;//左轮停止使能控制,1-表示停止,0-表示转动 sbitPwm1=P1^1; sbitDir1=P1^0; /***************************************************************** 【2011国赛】小车电机PWM速度调整程序模块 ******************************************************************/ //-----应用到的宏定义----------- #definestop0//停止 #definego1//前进 #defineback2//后退 uintpwm;//PWM控速变量 ucharLwide,Rwide;//PWM总长,左右的脉宽T=40, uintgott,tt; /********速度脉宽级别宏定义*************************************************/ #defineT80//电机PWM周期8000us=8ms #definemotwide12//1速 #definemotwide24//2速 #definemotwide311//左右轮配合转弯 #definemotwide416//左右轮配合转弯 #definemotwide513//右轮 #definemotwide615//左轮 #definelimwide19//左右轮 #definelimwide220//左右轮边界调整 #defineturnwide115//左右轮配合转弯 #defineturnwide220//左右轮配合转弯 #defineskipwide125//左轮 #defineskipwide225//右轮两轮速度配合 #defineadjwide110//调整用 #definegowide132//左轮 #definegowide232//右轮两轮速度配合 #definegowide329//右轮两轮速度配合 /*****************************************************************************************/ voidInitmot() { Break1=Break2=0; Lwide=Rwide=pwm=0; TMOD=0x21; //TH1=TL1=0x9C;//12M100us TH1=TL1=0x38;//24M100us TH0=0x3C;TL0=0xB0;//24M25ms TR1=ET1=PT1=1; ET0=1; } /*******定时器0的溢出中断,用以计时***************************************/ voidtimer0()interrupt1 { TH0=0x3C;TL0=0xB0;//24M25ms tt++; if(tt>3) { gott++; tt=0; } } /*******定时器1100us的中断,用以PWM速度控制***************************************/ voidtimer1()interrupt3 { //-------电机PWM--------------------------------- pwm++; //-----左轮转动------------------------------ if(Break1) { if(pwm<=Lwide) Pwm1=! Dir1; else Pwm1=Dir1; } //-----右轮转动------------------------------ if(Break2) { if(pwm<=Rw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 小车 电子设计 大赛 doc