1、xx 科技大学高新学院xx 大学生电子设计竞赛作品名称:基于蓝牙遥控的多功能智能小车 参赛队员: xx 自动化 1301 xxx 自动化 1301 xx 自动化 1301 2摘要本智能小车系统采用 STC89C52 单片机作为主控制芯片,采用 L298N 芯片作为直流电机驱动,在 PWM 控制下,能够实现快慢速行驶和转向,采用蓝牙模块控制。在自动模式下,通过超声波模块能够实现自动避障,采用红外多路探测实现自动循迹、自动避崖等功能。整个系统在设计中注意低功耗处理和力求高性价比等细节,电路结构简单,可靠性能高,无论在结构和技术上都具有较好的科学性。关键词: STC89C52、PWM 调速、蓝牙控制
2、、超声波避障、红外自动循迹、避崖3目录目录 .31 绪论 .41.1 选题背景 41.2 主要内容 42.系统方案: .52.1 车体设计 .52.2 控制器模块 52.3 电机模块 62.4 电机驱动模块 62.5 避障模块 72.6 光传感器模块 72.7 远程控制模块 82.7.1 蓝牙控制: 82.8 电源模块 92.9 最终方案 93.系统硬件设计 103.1 外围模块 103.1.1 最小系统 103.1.2 电源指示灯 103.1.3 蜂鸣器报警电路 113.2 电机驱动电路的设计 114.软件程序的设计 134.1 总体流程图 134.2 避障流程图 144.3 循迹流程图 1
3、54.4 直线调节流程图 165.总结 .166. 附录 176.1致 谢 176.2参考文献 186.3部分程序 1941 绪论1.1 选题背景随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。设计的智能电动小车应该能够实现适应能力,能自动避障,可以智能规划路径。智能化作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,
4、便可以完成预期所要达到的或是更高的目标。同遥控小车不同,遥控小车需要人为控制转向、启停和进退,比较先进的遥控车还能控制器速度。常见的模型小车,都属于这类遥控车;智能小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预。操作员可以通过修改智能小车的计算机程序来改变它的行驶方向。因此,智能小车具有再编程的特性,是机器人的一种。中国自1978年把“智能模拟”作为国家科学技术发展规划的主要研究课题,开始着力研究智能化。从概念的引进到实验室研究的实现,再到现在高端领域(航天航空、军事、勘探等)的应用,这一过程为智能化的全面发展奠定基石。智能化全面的发展是实现其对资源的合理充分利
5、用,以尽可能少的投入得到最大的收益,大大提高工业生产的效率,实现现有工业生产水平从自动化向智能化升级,实现当今智能化发展由高端向大众普及。从先前的模拟电路设计,到数字电路设计,再到现在的集成芯片的应用,各种能实现同样功能的元件越来越小为智能化产物的生成奠定了良好的物质基础。智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。1.2 主要内容5本课题要开发一个能蓝牙控制,自动避障、循迹的智能小车控制系统,设主要以通用、价廉的 51 单片机为控制平台,选择常见的电机模型车为机械平台,通
6、过细化设计要求,结合传感器技术和电机控制技术相关知识实现小车的各种功能。设计完成以由蓝牙模块控制,自动避障、红外循迹组成的硬件模块结合软件设计组成多功能智能小车,共同实现小车的前进倒退、转向行驶,检测障碍物后避障,实现智能控制,达到设计目标。2.系统方案:2.1 车体设计方案一:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮,性能较稳定,看起来比较美观,但由于装配紧凑,而且模块组成部分较多,使得获取各种所需电路方便,且玩具电动车的价格一般较昂贵。方案二:购买配件,自己制作电动车。一般的说来,自己制作的车体比较粗糙,性能不太稳定。但只要对车体仔细制作,通过优良的控制算法,也能实现控制小车
7、前进转弯的功能。基于以上分析,我们选择了方案二,购买小车底盘及配件。自己组装。2.2 控制器模块方案一:采用可编程逻辑期间 CPLD 作为控制器。CPLD 可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO 资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。方案二:采用 STC 公司的 STC89C52 单片机作为主控制器。STC89C52 是一个低功耗,高性能的 51 内核的 CMOS 8 位单片机,片内含 8k
8、 空间的可反复擦些 1000 次的 Flash 只读存储器,具有 256 bytes 的随机存取数据存储器(RAM),32 个 IO 口,2 个 16 位可编程定时计数器。且该系列的 51 单片机可6以不用烧写器而直接用串口或并口就可以向单片机中下载程序。我们自己制作51 最小系统板,体积很小,下载程序方便,放在车上不会占用太多的空间。从方便使用的角度考虑,我们选择了方案二,采用 STC 公司的 STC89C52单片机作为主控制器。2.3 电机模块方案一:采用步进电机实现物体的精确定位和方向控制。步进电机可以作为一种控制用的特种电机,可以精确地控制角度和距离。缺点是相对体积较大,力矩比较小,容
9、易失步,而且价格比较昂贵。方案二:采用普通直流电机。直流电机运转平稳,精度有一定的保证。直流电机控制的精确度虽然没有步进电机那样高,但完全可以满足本题目的要求。通过单片机的 PWM 输出同样可以控制直流电机的旋转速度,实现电动车的速度控制。并且直流电机相对于步进电机价格经济。综合性价比和功耗等方面的考虑,我们选择方案二,使用直流电机作为电动车的驱动电机。2.4 电机驱动模块方案一:采用 SM6135W 电机遥控驱动模块。SM6135W 是专为遥控车设计的大规模集成电路。能实现前进、后退、向右、向左、加速五个功能,但是其采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模
10、块价格比较高。方案二:采用电机驱动芯片 L298N。L298N 为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O 输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照上表,用程序输入对应的码值,能够实现对应的动作。基于以上分析,我们选择了方案二,用 L298N 来做为电机的驱动芯片。72.5 避障模块测距避障方案的选择:方案一:红外避障模块,利用红外发射和接收探头来完成的,我们知道光有反射的特性,当小车遇到障碍物时,红外接收端接收到红外发射端发射的信息,反馈给单片机,进行控速避
11、障,但是红外避障误差一般较高,易受电流波动影响,不可进行较远距离测量。方案二:超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离,超声波测距方案在制作优良的条件下可以达到毫米级误差,可进行精确测量,适合远距离测量。所以为达到更精确的避障,我们采用方案二,采用超声波测距进行避障。2.6 光传感器模块循迹方案的选择:方案一:采用发光二极管+光敏电阻,该方案简单但易受到外界光源的干扰。主要是因为可见光的反射效果,轨道两侧的平坦程度、材料的反射情况均对检测效果产生直接影响。克服此缺点的方法:采用超高亮度的发光二极管能降低一定的干扰,但这又会增加检测系统的功耗。方案二:采用光
12、电开关,该方案特点是光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。可以通过光电开关的开和关来直接控制单片机的 PWM 信号,控制简单,高效。但控制多大的光强开关打开比较困难,但只要多次试验会找到合适的控制值的。方案三:红外线多路探测对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围 230cm,工作电压为 3.3V-5V。该传感器的探测距离可以通过电位器调节
13、、具有干扰小、便于装配、使用方便等特点。考虑到方便性和经济性,我们采用方案三,采用红外避障模块作为光传感8器模块。2.7 远程控制模块2.7.1 蓝牙控制:蓝牙模块主要是为了实现上位机与下位机的数据传输,本设计是通过蓝牙转串口模块,实现上位机与下位机的无线通讯功能,所以本质上使用的是单片机串口通信。92.8 电源模块在本系统中,需要用到的电源有单片机的 5V,L298N 芯片的电源 5V 和电机的电源 7-15V。所以需要对电源的提供必须正确和稳定可靠。方案一:用 9V 的锌电源给前、后轮电机供电,然后使用 7805 稳压管来把高电压稳成 5V 分别给单片机和电机驱动芯片供电。这种接法比较简单
14、,但小车的电路功耗过大会导致后轮电机动力不足。方案二:采用双电源。为了确保单片机控制部分和后轮电机驱动的部分的电压不会互相影响,要把单片机的供电和驱动电路分开来,即:用直流电 5v供给单片机,前轮电机的电源用 8V 供电,这样有助于消除电机干扰,提高系统的稳定性。基于以上分析,我们选择了方案二,采用双电源供电。2.9 最终方案经过反复论证,我们最终确定了如下方案:1.车体用塑胶车架。2.采用 STC 公司的 STC89C52 单片机作为主控制器。3.电机采用直流减速电机。4.采用专用芯片 L298N 作为电机驱动芯片。5.采用双电源供电。6.采用蓝牙模块,自动避障、红外循迹、自动避崖。103.
15、系统硬件设计3.1外围模块本次最小系统的设计包括的外围模块有:复位电路,振荡电路,电源指示。3.1.1 最小系统3.1.2 电源指示灯113.1.3 蜂鸣器报警电路123.2 电机驱动电路的设计L298N 驱动直流电机,它靠两个引脚控制一个电机的运动。智能寻迹小车采用后轮驱动,左右后轮各用一个直流减速电机驱动,通过调制后面两个轮子的转速或正反转来达到控制小车转向的目的。芯片引脚和功能如图 1,驱动电路如图 2。EN A(B) IN1(IN3) IN2(IN4) 电机运行情况H H L 正转H L H 反转H 同 IN2(IN4) 同 IN2(IN4) 快速停止L X X 停止图 1 L298N
16、 的引脚和功能图 2 驱动电路134.软件程序的设计4.1 总体流程图是否有键按下?开 始执行相应操作自动避障 自动循迹 自动避崖 NY 总体流程图144.2 避障流程图自动避障模式开启开始超声波模块进行测距距离障碍物是否小于 15cmYN向右转 90前进154.3 循迹流程图开始进入自动循迹模式中间探头检测到黑线左边探头检测到黑线右边探头检测到黑线 左边和中间的探头检测到黑线右边和中间的探头检测到黑线前进 向左转 向右转 向右转 向左转164.4 直线调节流程图手动直线调节轮子是否快碰壁?右轮?左轮?左微调右微调Y YNNNY图 4 直线调节流程图5.总结 通过一次次的硬件焊接与软件编写调试
17、,现在智能小车已经能够实现用蓝牙控制,进行前进,调速,自动避障,自动循迹,自动避崖等功能。大体上已经实现了智能化控制,由于智能小车在开始之际,我们都没有接触过,基本是从零开始,边学边做,因此在材料选择上和整体规划上存在一些问题,以致硬件和软件设计上不是很完美,但是在我们团队不断的努力下,小车最终得以完成。通过现在对小车的研究,它不仅能单独的实现蓝牙控制,避障、循迹、避崖等功能,而且可将它们有效的结合起来,不过还需要对它的机械结构做一定的修改,使其运行起来更加稳定,转弯也更灵活。 176. 附录 6.1致 谢通过这些天的精心准备和查阅文献资料熟悉本次设计课题的相关内容,论文终于告一段落。通过此次
18、设计,我们从中受益匪浅。我们不仅学到了更多新的专业知识拓宽了知识面,巩固了我所学的知识,而且也锻炼了我的实践动手能力,培养了我独立思考问题并及时解决问题的好习惯。更重要的是培养了我勇于钻研和创新的精神。在论文的设计过程中,我们查阅大量的相关资料并作了详细的记录、分析和吸收,做到认真、细致地去理解领会别人的思维方法,学习别人好的成果和方法。科研工作是艰苦的,面对各种各样的困难和挑战,需要他们冷静的头脑和敏锐的视角。我们从中品尝到了过程的艰辛和成功后的喜悦,这些都有利于我今后的成长。最后我们要衷心地感谢老师。感谢他悉心的指导和莫大的帮助,让我们能够顺利的完成此次设计。同时也非常感谢学院的各位领导和
19、各位老师给予我的教诲和指导,感谢图书馆老师在我们查找资料时给予的理解支持和帮助。感谢与我们一起度过的所有老师和同学们,这段难忘的时光是我一生的财富!186.2参考文献1 谢自美,电子电路设计,华中理工出版社期 2000;Xie from the U.S., electronic circuit design, Huazhong University Press on 20002 单片机原理与接口技术,北航出版社,1999.4;SCM Principle and Interface Technology, Beihang University Press, 1999.43 李翰荪主编,电路分析M
20、,北京:中央广播电视大学出版社;Roger Li Sun editor, circuit analysis M, Beijing: China Central Radio and TV University Press4 杨素行主编,模拟电子技术基础简明教程M,北京:高等育出版社,1998.10;Yang Su-line editor, Analog Electronics Concise Guide M, Beijing: Higher Education Press, 1998.105 全国大学生电子设计竞赛作品选,1999 年;National Undergraduate Electro
21、nic Design Contest Selected Works, 19996 电子系统设计,浙江大学出版社 2000;Electronic System Design, Zhejiang University Press, 20007 潘松,EDA 技术应用M,北京:科学出版社,2002.10;Pan Song, EDA technology M, Beijing: Science Press, 2002.108 周立功,基于 ARM7 设计,北京:北航出版社,2005.3;Zhou, who, based on the ARM7 design, Beijing: Beihang Univ
22、ersity Press, 2005.3196.3部分程序/*-主函数-*/void main (void)Init_Timer(); /初始化定时器PWM_ON=15; /通过改变此值来调节小车速度while (1) /主循环 switch(receive_num)case 2:going();break;case 8:back();break;case 4:lift1();break;case 6:right1();break;case 0:stop();break;case 1:ultrasonicAvoid_0();break;case 3:track();break;case 7:r
23、egulateSpeed();break;case 9:ultrasonicAvoid_1();break;default:INA=INB=INC=IND=1;break;=/*-定时器初始化子程序-*/void Init_Timer(void)TMOD |= 0x11; /选择定时器 0 工作方式 1;定时器 1 工作方式 1,使用“|“符号可以在使用多个定时器时不受影响TH0=0x00; /赋初值TL0=0x00; TH1=(65536-2000)/256; /赋初值TL1=(65536-2000)%256; ET0=1; /定时器 0 中断打开ET1=1; /定时器 1 中断打开TR1=
24、1; /定时器 1 开关打开RCAP2H=0xff; / 9600 bps20RCAP2L=0xdc;T2CON=0x34; /0011 0100,/RCLK=1;TCLK=1:定时器 2 的溢出脉冲作为串口模式 1 的发送和接收脉冲,/TR2=1;启动定时器 2SCON=0x50; / 串口工作方式 1, 8-n-1, 允许接收.SM0=0;SM1=1;选择串口方式 1;REN=1;允许串行口接收数据PCON=0x00; / 波特率不倍增 ES=1;/开启串口中断EA=1;/总中断打开void ultrasonicRanging()/超声波测距TRIG=1; /触发信号是高电平脉冲,宽度大于
25、 10usDelayUs2x(10);TRIG=0;while(!ECHO); /接收口等待高电平TR0=1;while(ECHO); /等待低电平TR0=0;S=TH0*256+TL0;/取出定时器值高 8 位和低 8 位合并S=S/58; /为什么除以 58 等于厘米, Y 米=(X 秒*344)/2/ X 秒=( 2*Y 米)/344 - X 秒=0.0058*Y 米 - 厘米=微秒/58 TH0=0;TL0=0; /清除定时器 0 寄存器中的值void ultrasonicAvoid_1()/超声波避障+避悬崖ultrasonicRanging(); /超声波测距if(S0)PWM_ON -= 2;if(PWM_ON =7)PWM_ON=15;/初始速度23void going()/前进INB=0;INA=1;IND=0;INC=1;void back()/后退INB=1;INA=0;IND=1;INC=0;void lift()/左转,两轮转速方向相反INB=0;INA=1;IND=1;INC=0;void right()/右转,两轮转速方向相反INB=1;INA=0;IND=0;INC=1;void stop()/停止INB=0;INA=0;IND=0;INC=0;