电子设计竞赛控制组设计报告_第1页
电子设计竞赛控制组设计报告_第2页
电子设计竞赛控制组设计报告_第3页
电子设计竞赛控制组设计报告_第4页
电子设计竞赛控制组设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 编号:编号:C 甲甲00102 2011 年年全国全国大学生大学生电电子子设计竞赛设计竞赛智能小车(智能小车(C 题)题)参赛队员:张纪宽高 军朱真真专 业:电气工程与自动化电子信息科学与技术I智能小车摘摘 要要:本系统主要设计和制作了甲乙两辆智能小车,使用软件编程控制小车完成交替超车。两车均采用两片 ATmega16 单片机作为主控芯片,使用L298N 驱动两个减速电机为小车提供动力,行进中使用激光发射与接收模块检测路面标志线,运用 NRF2401 无线传输模块实现甲乙两车的即时通讯,在两车行驶过程中通过无线通信

2、确定哪辆车在前面,当到达超车区时后面的车赶超前面的车从而实现交替超车。本系统还增加了光电传感器用于防止小车撞车,并通过 12864 液晶屏实时显示小车行进的时间和行驶的圈数。经过多次测试,小车运行良好,能够很好的完成基本部分和发挥部分的要求。关键词关键词:无线通信;激光检测;交替超车;Atmeg16 单片机;光电开关Abstract: This system mainly design and the manufacture of the a b two vehicles intelligence, use the software control car finish alternate o

3、vertake. Two car all USES two pieces of ATmega16 monolithic processor as the main control chip, using L298N drive two reduction motor for the car to provide power, using a laser on the emitting and receiving module inspection mark line, use the NRF24L01 wireless transmission modules realize a b two

4、car of instant messaging, in two driving process through the wireless communication determine which car in front, and when you get to the overtaking area the car behind, catch up the car in front and thus realizes the overtaking alternately. The system also increases the photoelectric sensor used to

5、 prevent the car crash, and through the 12864 LCD displays real time travel time and driving the car number of turns. After DuoCi test the car is running well, be better able to complete basic part and play a part of the request.Keywords: wireless communication;laser detection alternate;Atmeg16; ove

6、rtaking photoelectric switch;single-chip microcomputerII目 录1.系系统结统结构和功能介构和功能介绍绍.11.1 设计任务与要求.11.1.1 设计任务.11.1.2 设计要求.11.2 理论分析与计算.11.2.1 信号检测与控制.11.2.2 两车之间的通信方法.11.2.3 系统节能减排方面的优化设计.11.3 系统基本方案.11.4 各模块方案的选择与论证.21.4.1 控制器的选择与论证.21.4.2 电机的选择与论证.21.4.3 电机驱动电路的选择与论证.31.4.4 无线通讯模块的选择与论证.31.4.5 标志线检测传感器

7、的选择与论证.32.系系统统硬件硬件设计设计.42.1 ATMega16 的最小系统 .42.2 nRF24L01 无线收发模块.42.3 电机驱动的电路设计.52.4 激光传感器收发电路.63.软软件件设计设计.63.1 系统主程序流程图.64.系系统测试统测试.74.1 测试方案及测试条件.74.2 测试表格.74.3 测试结果分析.75.结结束束语语.86.参考文献参考文献.8附附录录.911. 系统的结构和功能介绍1. 1 设计任务与要求设计任务与要求1.1.1 设计任务设计任务设计并制作甲乙两辆小车通过软件编程,完成甲乙交替超车领跑的功能。1.1.2 设计要求设计要求1甲乙分别从起跑

8、线开始,在跑道上各正常行驶一圈。2将甲乙分别放置在规定位置并同时启动,乙车通过超车标志线后在超车区内实现超车功能,并先于甲车到达终点标志线,即第一圈实现乙车超过甲车。两车继续行驶,甲车检测到超车标志线后在超车区实现超车。3甲、乙两车继续行驶第三圈和第四圈,并交替领跑。4重新设定甲车起始位置(在离起点标志线前进方向 40cm 范围内任意设定),实现甲、乙两车四圈交替领跑功能。1. 2 理论分析与计算理论分析与计算1.2.1 信号检测与控制信号检测与控制采用激光传感器用于检测路面标志线,在车头的左中右三侧分别装上激光传感器。当检测到黑线时,指示灯亮,小车做相应运动;当检测到白线时,指示灯灭,小车沿

9、直线行驶。1.2.2 两车之间的通信方法两车之间的通信方法系统采用 NRF2401 无线传输模块用于两车的通信。当到达超车区时,最先检测到超车标志的小车向后面的小车发出信号,并立即减速。后面的小车检查测到前面小车发出的信号后,加速行驶完成超车运动。超车完成后前面的小车再发出信号通知后面的小车超车已完成,最后两车都以正常的速度行驶。1.2.3 系统节能减排方面的优化设计系统节能减排方面的优化设计为实现节能减排、绿色环保的目的我们采用功耗比较小的直流减速电机和ATMEGA16 单片机,并且使用体积最小,功耗最低的 NRF2401 无线传输模块。在小车的设计中尽量的采用体积小、重量轻的元器件等,用于

10、减轻小车的重量,降低小车运行时的功耗。1.3 系统基本方案系统基本方案本系统使用两片 ATmega16 单片机作为核心控制芯片, 采用 L298 芯片驱动直流减速电机,并使用 NRF2401 无线传输模块实现两车即时通讯,控制两车的速度完成超车,使用 12864 液晶显示屏实时显示,超车前后会发出语音提示人机界面人性化、直观化。,系统的整体框图如图 1 所示。 2图图 1 系统框图系统框图1.4 各模块方案的选择与论证各模块方案的选择与论证1.4.1 控制器的选择与论证控制器的选择与论证方案一:采用 ATMEL 公司的 AT89S52 单片机52 单片机软件编程灵活,自由度大,可用软件编程实现

11、各种算法和逻辑控制,成本低,被各个领域广泛应用。但 52 单片机功耗较大,内存只有 8Kb,驱动能力差,速度较慢,考虑到本系统软件编程较为复杂,对单片机内存要求较高,需要精确的计时等功能,因此,我们放弃了这个方案。方案二:选择 ATMEL 公司的 ATmega16 单片机AVR 单片机具有体积小、集成度高、功耗低(3.3V 电压)、可直接输出两路PWM、中断处理能力强等特点,内嵌 16k FLASH,处理速度高,自身带有 PWM 功能和 AD 转换功能,运算速度快,驱动能力强,性价比高,符合低功耗标准。为简化电路和降低功耗我们采用方案二。1.4.2 电机的选择与论证电机的选择与论证方案一:使用

12、步进电机作为驱动部分步进电机的优点在于转速以及转动距离易于调节,便于软件控制。缺点是:体积大,功耗大,价格高,转速相对较慢,低速运行时易出现低频振动现象。方案二:使用直流电机作为驱动部分其优点在于调速精度比较高,调速性能优良,调速方便、调速方式多,力矩大,工作效率高、应用范围广、体积比较小且关停时耗能也小;控制的精确度虽然没有步进电机那样高,但完全可以满足题目的要求,在价格方面相对于步进电机相对便宜。3因为小车运行需要较高的速度,所以我们选择用动力和力矩较大的直流电机来驱动小车,综上所述为实现系统的功耗和性能的最优化,我们采用方案二。1.4.3 电机驱动电路的选择与论证电机驱动电路的选择与论证

13、方案一:采用 MOS 管构成的 H 桥通过 H 桥搭建的 H 桥电路,可以提高效率,降低功耗,但 MOS 管构成的 H 桥实现起来比较复杂,同时管子的参数不同,很难避免 MOS 管发热烧坏等问题。方案二:采用 L298 驱动模块L298 内含四个驱动通道,输出电流可达 4A,并且此芯片专门为电机驱动设计使用,工作性能稳定。通过 L298 控制电机的正反转,可以很好的控制小车的速度与转向,而且成本低,使用起来简单方便。考虑到产品的成本和系统的性能我们决定使用 L298 电机驱动芯片,采用方案二。1.4.4 无线通讯模块的选择与论证无线通讯模块的选择与论证方案一:采用红外光方式。红外通信只适用于室

14、内静止或慢速移动中的点对点通信,方向性要求高,对于运动的小汽车在传输过程中易产生误码,性能不稳定。无法满足系统的要求。方案二:采用 Nordic 公司生产的 nRF24L01 芯片。该芯片超低功耗(发送 10.5mA-5dBm;接收 18mA),nRF2401A 支持多点间通信,最高传输速率超过 1Mbit/s, 它采用 Soc 方法设计,需要极少的外围电路,且没有复杂的通信协议,工作电压范围宽(1.9V 到 3.6V),基于 nRF2401A 的工作原理,自行设计了无线收发电路,完全可以达到设计的要求。更为重要的是 nRF2401A 价格经济,是业界体积最小、功耗最少、外围元件最少的低成本射

15、频系统级芯片。 从电路工作的稳定性,低功耗及性价比的角度考虑,我们选择方案二。1.4.5 标志线检测传感器的选择与论证标志线检测传感器的选择与论证方案一:使用 TK-20 黑白线检测传感器TK-20 黑白线检测传感器是 TK-10 的升级版,有效探测距离达 5cm。虽然具有受可见光干扰小,使用方便的优点,但是检测的精度比较低,需要传感器的个数较多,且道路参数的检测种类少,检测的前瞻距离比较小,不能满足精确控制的要求。方案二:利用激光发射接收装置进行检测。激光发射接收装置由激光发射器、激光接收器组成。它的优点是能实现无接触远距离测量,速度快,精度高,量程大,抗光、电干扰能力强等可以很好的完成对路

16、面的检测,精确控制小车的行驶的路径。为简化设计和实现对小车的精确控制,我们决定采用方案二。42. 系统硬件设计2.1 ATMega16 的最小系统的最小系统ATMega16 的最小系统包括复位电路、ISP 接口、JTAG 接口、PAPD 四个端口全部引出,支持 JTAG 仿真。ATmega16 最小系统电路图如图 2 所示:图图 2 ATMEGA16 最小系统最小系统2.2 nRF24L01 无线收发模块无线收发模块无线收发子系统以 nRF24l01 芯片为核心,辅助以稳压部分、晶振部分、无线部分电路。电压 VDD 经电容 C1、C2、C3 处理后为芯片提供工作电压,晶振部分包括Y1、C9、C

17、10,当晶振设为 16MHz 时,通信速率为 1Mbps,天线部分包括 L1、L2,用来将 nRF2401A 芯片的 ANT1、ANT2 管脚产生的 2.4G 电平信号转换为电磁波信号,或者将电磁波信号转换为电平信号输入芯片的 ANT1、ANT2 管脚。子系统框图如图 3所示,电路具体原理图如图 4 所示。图图 3 子系统原理框图子系统原理框图510uFC110nFC21nFC31.0pFC41.0pFC52.2nFC622pFC733nFC815pFC915pFC10VDDCE1DR22CLK23DATA24CS5DR16CLK17DATA8DVDD9VSS10XCLK211XCLK112V

18、DD_PA13ANT114ANT215VSS_PA16VDD17VSS18IREF19VSS20VDD21PER_UP23VDD24VSS22nRF2401A22KR11MR212Y116MHz22nHL13.6nH L2ANTPER_UPCEDR2CLK2DATA2CSDR1CLK1DATA11KR3DS1LED0VDDPOWER图图 4 无线收发子系统原理图无线收发子系统原理图2.3 电机驱动的电路设计电机驱动的电路设计由于要驱动两个电机,显然只需利用 MMC_1 的两个通道,将 MMC_1 的CH1DCPWM 端、CH1DCDIR 端、CH2DCPWM 端、CH2DCDIR 端分别与 L

19、298 的 4个输入端相连,利用 SPI 模式软件编程控制,电路原理图如图 5 所示。VCC+12VOUT1OUT2OUT3OUT4OUT1OUT2OUT3OUT4+1-2A-+MOTOR1Motor Servo+1-2A-+MOTOR2Motor Servo1234IN1MOTOR11MOTOR12104C4100uFC3+12VMOTOR21MOTOR22MOTOR12MOTOR11MOTOR21MOTOR22VCCEN A6EN B11IN15IN27IN310IN412OUT12OUT23OUT313OUT414ISEN A1ISEN B15VS4VSS9GND8U2L298N1234

20、56789P1Header 9VCCR1R2R3R4R5R6R7R8R1R2R3R4R5R6R7R8D1LED2D2LED2D3LED2D4LED212P2Header 212P3Header 2VCC123P4Header 3VCC+12VGNDGND104C2100uFC1GNDVCCD5Diode 1N4007D6Diode 1N4007A1K2D8Diode 1N4007D7Diode 1N4007D9Diode 1N4007D10Diode 1N4007D12Diode 1N4007D11Diode 1N4007112233445566778899101011111212131314

21、1415151616U1Component_10.5R10.5R2图图 5 直流电机驱动电路直流电机驱动电路62.4 激光传感器收发电路激光传感器收发电路发射部分,经过调制管,便输出 180khz 的频率,经过三极管 8050 放大之后驱动发射管,使发射管以 180KHZ 的频率,20%-30%的占空比发射出 650nm 的光线,经过反射后,接收管接收到反射回来的黑白信号,输出高低电平,由单片机识别,从而达到识别路径的功能。发射和接收原理电路图如图 6 所示。 图 7 接收部分 图图 6 发发射射和接收原理电路图和接收原理电路图3. 软件设计3.1 系统主程序流程框图系统主程序流程框图系统主要

22、通过检测起点标志线的个数来计算小车跑的圈数,当甲乙中任何一个先检测到超车标志就会通过无线传输模块向另一辆小车发出超车信号完成替超车。开始小车启动初始化转弯进入超车区前进超车调整是超车线是边界线是转弯标志线是是是图图 7 主程序流程图主程序流程图停止停止停止停止停止GNDVCCNCU?制制制VCC22R?22R?Q?8050D?LED VCCGNDGND120R?GNDVCCOUTU?制制制VCCGND4K7R?VCC1K5R?D?LED104C?74. 系统测试4.1 测试方案及测试条件测试方案及测试条件在室内环境下使用按规定制作的跑道,依次测试两辆小车分别跑一周运行的时间,超车运行一周的时间

23、,改变初始位置运行一周的时间等,通过多次测试后求出平均值。4. 2 测试表格测试表格表一:甲乙两车分别运行一周的时间表一:甲乙两车分别运行一周的时间第一次第一次(百分秒)(百分秒)第二次第二次(百分秒)(百分秒)第三次第三次(百分秒)(百分秒)第四次第四次百分秒)百分秒)平均值平均值(百分秒)(百分秒)甲18501825193019151815乙19322010205319621992表二:第一轮超车运行一周的时间表二:第一轮超车运行一周的时间第一次第一次(百分秒)(百分秒)第二次第二次(百分秒)(百分秒)第三次第三次百分秒)百分秒)第四次第四次(百分秒)(百分秒)平均值平均值(百分秒)(百分

24、秒)甲22502225233023152320乙22322310215322622214表三:第二轮超车运行一周的时间表三:第二轮超车运行一周的时间第一次第一次(百分秒)(百分秒)第二次第二次(百分秒)(百分秒)第三次第三次(百分秒)(百分秒)第四次第四次(百分秒)(百分秒)平均值平均值(百分秒)(百分秒)甲22552277230322452230乙223223102353236223184.3 测试结果分析测试结果分析由于小车暴露在外界环境中测试时难免会受到外界环境的干扰,因此测试结果会存在一些误差。而且在经过多次测试后电池的电量有所损耗,不能保证每次提供的电量都相等。所以小车的运行时间会有

25、较小的差距,经过多次测试和分析后可以得出结论:小车运行的时间在 22 秒左右,其所产生的误差都在误差允许范围内,能够较好的满足设计的要求。85. 结束语本系统使用两片 ATMEGA16 作为主控芯片,该系统主要由 NRF2401 无线收发模块、L298N 驱动模块、激光检测模块、显示模块等组成。小车行驶过程中使用激光检测器检测标志线,NRF2401 无线收发模块实现两车的通讯,我们还增设了光电开关防止小车相撞,并使用 12864 实时显示小车运行的时间和运行的圈数等功能,使系统更加直观。在这次设计中我们完成了基本部分和发挥部分的要求,经过测试很好的满足了题目的要求。当然在比赛中我们也遇到了很多

26、困难,比如在激光的检测黑白线的过程中调试了很多次效果都不是很理想,小车的实际转速与理论值不相符等等,但是功夫不负有心人经过小组成员的相互讨论和统一协作我们终于将问题解决了。通过这次比赛我们不但增强了实践能力和协作精神,而且懂得了理论联系实际的重要性,这对我们以后的工作和学习都将是一笔宝贵的财富。由于经验不足,我们的设计和制作中难免还存在着一些缺陷,需要进一步改正,再此希望各位评委老师能够给予批评指正。最后感谢大赛组委会和学校能够给我们提供这次锻炼的机会。6. 参考文献【1】 陈杰,黄鸿编著. 传感器与检测技M.高等教育出版社,2002【2】卓晴,黄开胜,邵贝贝著,学做智能车M.北京航空航天大学

27、出版社,2007【3】华成英,童诗白.模拟电子线路基础M.北京:高等教育出版社,2006【4】康华光.数字电子技术基础M.北京:高等教育出版社,2005【5】 严国萍,周龙占著.通信电子线路基础M.北京:科学出版社,2006 9附附 录录1 元器件清单元器件清单名称名称型号型号数量数量简易小车2 辆Avr 单片机ATMEGA162 片无线收发模块NRF24012 个激光传感器模块6 个光电开关C38-D50NK2 个LCD 屏12864 液晶显示器2 个锂电池3.7V8 节电池盒2 个2 主要程序主要程序/甲车#include L298.h/#include wuxian.h#include

28、delay.h#include 12864.h#pragma interrupt_handler int0:2 #pragma interrupt_handler int1:3 /声明中断 1 /#pragma interrupt_handler int1:3 uchar com;/2401 接受uchar hengxian=0;/检测横线uchar chaoche=0;/检测超车标志void PWM_INIT(void) DDRD|=BIT(4)|BIT(5);/设置为输出 PWM TCCR1A=0XA2;/1010 0011 CO1M1A1,CO1M1A0,CO1M1B1,CO1M1B0=

29、1010 TCCR1B=0X1A;/0001 1010 WGM13 WGM12 WGM11 WGM10=1110 模式 14ICR1;CS12 CS11 CS10=010 为 8 分频 ICR1=999;/f=1K 8M 晶振 TOP=FOSC/Focn/N-1 /OCR1A=468.75;/2.5ms 8M 晶振 /OCR1B=92.75;/0.5ms 8M 晶振 void PWM_CTR(uint a,uint b) OCR1A=a;/2.5ms 12M 晶振 左边10 OCR1B=b;/0.5ms 12M 晶振 右边uchar a=0,biaozhi=0;void init_INT0(v

30、oid) SREG|=BIT(7); MCUCR=0X02;/ 下降沿中断 GICR=0XC0;/*void init_INT1(void) SREG|=BIT(7); MCUCR&=0X00;/ 低电平中断 GICR=0X40;*/void int0(void) a+;biaozhi=1;void int1(void)/蜂鸣器 PWM_CTR(500,500); void main(void) delay_ms(1000); init_L298(); /SPI_Init(); /RF2401_Init(); /DDRA|=BIT(7); PWM_INIT(); init_INT0()

31、;/ lcd_init(); while(1) if(biaozhi=1)11 biaozhi=0; if(a=1)/起跑线 forward();/一起前进 PWM_CTR(830,800); delay_ms(10); /延时 1s if(a=2)/第 1 个转弯 forward();/一起前进 PWM_CTR(825,950); delay_ms(600); /延时 1s if(a=3)/第 2 个转弯 forward();/一起前进 PWM_CTR(825,950); delay_ms(600); /延时 1s if(a=4)/超车标志 chaoche+; forward();/一起前进

32、 PWM_CTR(825,950); delay_ms(600); /延时 1s if(a=9)/第四个转弯 forward();/一起前进 PWM_CTR(825,950); delay_ms(600); /延时 1s if(a=10)/起跑线 a=1; forward();/一起前进 PWM_CTR(825,800); delay_ms(100); /延时 1s12 /* if(!(PINB&0X02)/仅中间 白线高,黑线低 hengxian+;/检测黑线数目forward();/一起前进PWM_CTR(820,800);/全速delay_ms(200);if(!(PINB&am

33、p;0X02)/又检测到表示超车标志区 chaoche=1; forward();/一起前进 PWM_CTR(700,950); delay_ms(500); /延时 1selseif(PINB&0X02)/未检测到表示转弯标志线 chaoche=0; forward();/一起前进 PWM_CTR(700,950); delay_ms(500); /延时 1s else*/ /仅左侧 白线低,黑线高 if(PINB&0X01)/仅检测到左面 PB0 delay_ms(20); /左右同时检测到 白线低,黑线高 if(PINB&0X01)&(PINB&0

34、X04)/仅检测到右面 PB2 forward();/直线 PWM_CTR(822,800); else if(PINB&0X01)&(!(PINB&0X04) A_runB_back();/大右拐 PWM_CTR(500,750); else13 /仅右侧 白线低,黑线高 if(PINB&0X04)/仅检测到右面 PB2 delay_ms(20); /左右同时检测到 白线低,黑线高 if(PINB&0X01)&(PINB&0X04)/仅检测到右面 PB2 forward();/直线 PWM_CTR(822,800); else if(!(PINB&0X01)&(PINB&0X04) A_backB_run();/大左拐 PWM_CTR(750,500); else if(!(PINB&0X01)&(!(PINB&0X02)&(!(PINB&0X04) forward();/一起前进 PWM_CTR(822,800); /显示横线数 /*lcd_weizhi(0,0);/从第 1 行,第 0 列开始write_date(dis1hengxian/100);lcd_weizhi(0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论