找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4261|回复: 1
收起左侧

基于激光传感器的智能电动车设计

[复制链接]
ID:200673 发表于 2017-5-17 10:52 | 显示全部楼层 |阅读模式
目录

摘  ........................................... I
ABSTRACT........................................ II
第1绪论....................................... 1
1.1研究意义和发展趋势............................................ 1
1.2研究内容...................................................... 1
第2章智能车系统结构介绍............................ 3
2.1整体设计概述.................................................. 3
2.2系统硬件模块方案分析.......................................... 3
2.2.2电机驱动模块方案分析...................................... 4
2.2.3测速方法分析.............................................. 4
第3章硬件设计与仿真............................... 5
3.1硬件设计总体框图.............................................. 5
3.2电源电路设计.................................................. 5
3.3主控电路设计.................................................. 6
3.3.1 AT89C51单片机介绍........................................ 6
3.3.2最小系统介绍.............................................. 8
3.3.3主控电路.................................................. 9
3.4电机驱动模块.................................................. 9
3.4.1驱动电路设计.............................................. 9
3.4.2 H桥电机驱动电路......................................... 10
3.5路径识别模块设计............................................. 11
3.6 电机转向电路设计............................................ 11
3.7避障模块设计................................................. 12
3.8驱光模块设计................................................. 13
3.9报警模块设计................................................. 14
3.10显示电路设计................................................ 14
第4章系统软件设计和编程........................... 16
4.1主程序框图设计............................................... 16
4.2循迹子程序设计............................................... 17
4.3避障子程序设计............................................... 22
4.4驱光子程序设计............................................... 25
第5章系统软件仿真与分析........................... 27
5.1仿真软件介绍................................................. 27
5.1.1 PROTUSE软件介绍......................................... 27
5.1.2 MULTISIM软件的介绍...................................... 27
5.2仿真结果及分析............................................... 28
5.2.1基于PROTUES平台仿真结果分析............................. 28
5.2.2基于MULTISIM仿真平台结果分析............................ 29
第6章总结及展望.................................. 31
致谢............................................ 32
参考文献........................................ 33
附录一基于PROTUES仿真程序........................ 34





1 绪论1.1 研究意义和发展趋势
近年来,随着科学技术不断进步,汽车逐渐成为人们生活出行方式的主要交通工具,越来越受到消费者的青睐,导致道路上的车辆越来越多,交通事故发生的频率在生活中越来越多,给人们的生活带来了很大的影响,给社会造成了无法弥补的经济损失。政府有关部门对事故的分析普遍认为是由以下几个因素造成:驾驶人对周边环境判断不足,驾驶人本身素质和管理法则等。在汽车的智能化方向的探索与研究由此受到人们的广泛关注与重视。智能车系统是一种集路径识别、决策规划、自动驾驶等功能于一体的综合智能系统。它更加注重于驾驶人员的舒适性和安全性以及汽车本身的智能性。
智能车就是一种轮式移动机器人,它能够获取周边环境的信息、决策规划轨迹来选择最佳的行驶模式。智能化汽车综合运用了计算机、电气、机械、汽车电子、自动控制、传感器技术等一系列技术。计算机技术、信息技术和控制技术的进步带动了智能车在日常生活和工业生产中的使用。在国内,很多高校和企业建立起校企合作产学研相结合的模式,这都充分突出车辆的智能化研究有着重大的意义和广阔的前景。随着控制技术和计算机技术等高新技术的不断提高,汽车在智能化方面的研究将会得到很大程度的突破和进展。在未来汽车的研究方面将会越来越智能化,汽车对环境的适应能力将会越来越强。
1.2 研究内容
本课题研究的目标是使小车具有按照路面的黑色轨道循迹行驶功能,寻找前方点光源并行驶到位的趋光功能及声光报警功能,这就需要小车对道路信息的获取、识别,以及对信息的处理和反馈等具有很强的能力。通过查找相关资料总结前人的经验教训,研究并设计了智能车的硬件电路以及控制方法,使小车能够高速稳定的运行。主要有以下几个方面。
首先,通过介绍智能车的系统结构,设计并选择一个较好的方案使智能车系统的各个模块能够维持小车高速稳定的状态。
然后,在硬件控制电路方面进行了模块化设计,主要有电源电路设计、主控电路设计、电机驱动模块、电机转向电路设计、路径识别模块、避障模块、驱光模块、报警模块和显示电路模块等。其中,电源能够提供系统各个模块所需的电压和电流,保证了各个模块正常工作。选择符合实际需求的稳定可靠的稳压芯片才能保证智能车具有较好的速度,选择驱动效果较好的驱动电路才能保证小车高速稳定的运行。
最后,通过编程和使用仿真软件对硬件电路和软件电路进行仿真和调试。




2 智能车系统结构介绍2.1 整体设计概述
本课题所设计的小车要求具有自动循迹、驱光、避障等功能,能在预订的轨迹上快速稳定的行驶。小车的行驶轨迹是以白色地面为背景以中间30mm宽度连续黑色作为引导线,遇到障碍物能够避开障碍物,同时遇到点光源能够进行驱光行驶,针对这样的路况小车能够自动决策运行状态的自动控制系统。其中,通过激光传感器检测到的道路信息传送到单片机内,单片机对接收到的数据进行分析和处理,分别输出舵机的控制量和电机的控制量,来控制舵动电机的转角和舵机的转向转角。另外,通过速度检测部分,将电机转速传递到单片机内,对智能车速度实现闭环控制,以提高单片机对电机的控制。因此,设计的智能小车不仅要按照要求正常行驶,还必须能够稳定、快速的运行。
智能车设计的关键器件是自动控制器。在保证智能车正常行驶的前提下,应优先考虑电路设计简单明了,以减轻系统不必要的负载,也要应坚持充分创新的原则,以提高智能车的灵活性,同时,以清晰明了但功能完美为出发点,同时充分考虑小车的稳定性,实现智能车快速稳定行驶。
作为能够自动获取周边道路信息、识别路径稳定运行的智能小车,控制器和车模可以看作一个自动控制系统。一般情况下由传感器、信息处理、控制算法和执行机构四个部分构成。其中,单片机作为核心器件。控制系统的硬件主要由传感器、执行器和驱动电路组成;控制系统的软件主要由单片机完成信息处理和控制算法设计。因此,自动控制器设计包括硬件电路设计和软件控制算法两部分。
2.2系统硬件模块方案分析
2.2.1 显示方案分析
方案一:液晶显示屏(LCD)具有重量轻,功耗低,无辐射危险,平板显示器和视觉区域影像稳定等优点,屏幕效果好、分辨率高、抗干扰能力强。但是液晶显示是以点阵的形式来显示各种字符,内置芯片要有大量的字符库,需要大量程序控制而本显示功能只需要显示时间等简单的信息,不需要占用控制芯片的大量资源。此外液晶显示芯片容易受到静电干扰造成芯片损坏,使用液晶显示屏成本要高。
方案二:使用数码管显示。数码管具有低能耗,低电压,使用寿命长,抗老化、防晒、防潮,对环境要求低,维护方便。数码管是采用BCD编码显示数字,其优点是程序占用资源少,编译程序工作量小。
综上所述,选用方案二。
2.2.2 电机驱动模块方案分析
方案一:将电力晶体管作为功率放大器的输出控制直流电机使用。该方案所需成本不高,驱动电路结构简单,但驱动能力较弱,低速运行时连接晶体管的电阻会产生一定的功率损失,甚至发热发烫,很难保证小车经过很长时间依旧维持高速稳定的运行的状态。
方案二:采用由双极性管组成的H桥电路,用单片机输出控制PWM脉冲来控制晶体管的开关状态从而调整电机转速。H桥电路在晶体管工作处于饱和或截止状态下工作状态较好;它能够实现简单的转速和方向的控制;晶体管开关速度很快,有很好的稳定性,并且此调速方案应用于很多领域。
根据两个方案的优缺点,选择方案二。
2.2.3 测速方法分析
方案一:利用霍尔开关器件A44E检测轮子上的磁铁输出转动圈数信号输出给单片机,达到测量回送速度的作用。霍尔元件外围电路简单、占用体积小,动态特性好,价格相对便宜等特点,电源要求高,安装方便。霍尔开关的原理是在一定磁场强度范围内起到控制作用,因此其抗干扰能力非常的强。将磁铁安装在车轮上,将霍尔器件安装在固定轴上,有霍尔元件感应磁铁来产生脉冲(当霍尔器件靠近磁场时输出高电平,其它情况下是低电平),只需将四个磁铁均匀的安放在一个轮子上四个磁铁,通过测得一秒所得的脉冲数,计算出一秒车轮转动的圈数,再测出车轮的周长就能够计算出小车运行时的所对应速度,再结合脉冲时间计算可得到当前路程。
方案二:采用红外传感器进行测速。对射式红外传感器以及反射式红外传感器都容易受到环境因素的影响,稳定性相对较低,且在价格方面相对较高。
综合方案一和方案二,决定采用方案一。




3 硬件设计与仿真3.1 硬件设计总体框图
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif

3.1系统设计框图
原理框图介绍:系统把89C51单片机作为主控制器,将传感器模块获取的值进行处理,然后控制驱动电机,实现左右转和前进后退的功能。并在小车行驶过程中所测得的时间和路程显示在数码管上,这样便于我们观察小车的运行状态。当运行过程中检测到点光源时,单片机控制报警模块进行报警,并驱光行驶。当小车在行驶过程中检测到障碍物时自动发出报警。
电源部分的作用是给单片机系统各个模块进行供电,本设计系统将电机驱动部分和单片机等数字器件分开,独立进行供电。分开独立供电有利于提高小车运行的稳定。
3.2 电源电路设计
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif
3.2电源电路
电源电路是系统的核心部分,它给系统各个模块供电使各个模块能够工作并维持正常稳定的状态。在本设计中,系统需要的供电模块有:传感器模块、单片机模块、显示模块、报警模块、电机驱动模块等。本设计除了要考虑电压范围和电流大小外,还需要考虑外围电路的简单性和电源转化损耗及干扰、噪声问题。选用适当的方案选择电源能够维持系统稳定的运行。
系统的总电源选择7.2v,2A/h可充电的镍镉电池组,根据电路中各个模块对电路中电压的要求不同,因此电源模块需要使用多个稳压电路,将充电电池电压转换成各个模块所需电压。
各模块所需电源如图所示



file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif


3.3系统所需电源
电源电路我们采用LM317AH作为稳压芯片进行稳压。LM317AH作为集成三端稳压块,具有改变输出电压的能力,使用非常方便而且应用范围非常广。稳压电源的输出电压可根据公式Vo=1.25(1+R2/R1)进行计算。7.2V电源由两节锂离子电池串联得到,7.2V电压经过稳压芯片LM317AH转换得到5V电压,给其它模块供电,7.2V提供给电机。分开供电的目的是最大程度减少电机运行过程中对其它模块和器件产生干扰。
3.3 主控电路设计3.3.1 AT89C51单片机介绍
89C51单片机是把所有具有控制应用所必须的模块都集成在一个大小有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I\O口、串行口、定时器/计数器、中断系统及特殊功能存储器。它们是由单一总线连接而成,其基本结构是CPU加上外围电路芯片的传统结构模式,但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
1微处理器
该单片机中包含一个与通用的微处理器基本相同的八位的微处理器,同时包含了控制器和运算器两大部分,提高了单片机控制的处理功能的能力,它可以处理位变量和处理数据。
2数据存储器
其内部为128个字节,片外最多扩至64k字节,在程序运行的时候运算中间结果、工作变量、缓冲、标志位和数据暂存等,所以称为数据存储器。
3程序存储器
由于受集成度限制,片内只读存储器容量不够时可扩展至片外只读存储器,片外最多可外扩至64k字节。
4中断系统
具有5个中断源。2级中断优先权。
5定时器/计数器
片内有2个16位的定时器/计数器,具有四种工作方式。
6串行口
1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多级系统,从而使单片机的功能更强且应用更广。
7P0口、P1口、P2口、P3口
为4个并行8位I/O口
8特殊功能寄存器
共有21个,用于对片内的各功能部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
89C51是一种低功耗、低电压、高性能的8位单片机。它采用了CMOS和高密度非易失性的存储器技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的FlashROM允许在系统内改编程序或用常规的非易失性存储器编程。因此89C51是一种功能强、灵活性高且价格合理的单片机,可方便地应用在各种控制领域。
3.3.2 最小系统介绍
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif
图3.4单片机控制电路
1.电源
89C51单片机的电压为4.0-5.5V。我们选择LM317AH稳压芯片对系统进行供电,其中C为瓷片电容,主要起退耦作用,保证单片机稳定工作,维持各模块的正常工作使小车能够高速稳定的运动。
2.晶振
晶振和单片机内部的电路相结合,产生单片机需要的时钟频率,单片机的所有指令都是通过在这个基础上执行的。晶振提供时钟频率,单片机运行速度随着时钟频率的变化而变化,时钟频率越高单片机运行速度就越快。本系统主要采用频率为12M的晶振,再配合使用2个30Pf的电容构成晶体振荡电路。
3.复位
复位电路能够确保系统中各个电路模块的正常工作稳定运行,因此是电路部分不可缺少的部分。复位电路首先是要进行上电复位,复位电路中的1uF电容在上电瞬间给RST端一个瞬时的高电平脉冲,当这个电容上的电量充满时高电平的信号将变低,即RST端的高电平保持的时间是由外部这个充电电容决定的。
3.3.3 主控电路
本系统采用AT89C51作为控制核心,P2口主要接电机驱动和报警电路,P0口接数码管的段选,P1口低四位接四位数码管的位选,高四位接传感器模块。18、19接单片机的晶振,9脚接复位。电容C起退耦作用,防止电源波动对单片机的影响。
3.4 电机驱动模块
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif
3.5电机驱动电路图
驱动电路主要是控制电机的转向和停车。本设计采用H桥驱动电路,L298N内部集成了H桥式驱动电路,单片机给予L298N电路PWM信号控制小车的速度和启停,单片机通过I/O口向L298N的17、18脚发送驱动控制信号实现电机的速度和正反转及启停。
3.4.1 驱动电路设计
电机驱动采用L298作为主要的驱动芯片,比较常见的15脚Multiwatt封装,内部有4通道逻辑驱动电路。
利用L298及其外部辅助电路和电机构成驱动电路。LM298的六个输入控制端IN1、IN2、IN3、IN4以及ENA和ENB接单片机I/O口,L298的输出端OUT1、OUT2和OUT3、OUT4分别与MOTO1,MOTO2两个电机相接。D2-D9主要是保护电路,保护LM298防止被烧坏,由于当系统断电时,LM298停止工作,但是电机由于惯性仍然继续运动,此时电机相当与一个发电机,向外部电源发电。这个电压如果直接加到LM298的输出端就可能引起LM298烧坏。所以,必须在这个上面加上8个二极管,把电机断电时产生的电能吸收掉,保护LM298不被烧坏。
3.4.2 H桥电机驱动电路
如图3.6所示是一个常用的电机驱动控制电路。因为它的形状和字母H非常相似,因此叫做“H桥驱动电路”。4个三极管组成这个电机驱动电路。电机驱动电路H桥式通常包括4个三极管和一个电机。导通时分别为对角线上的一对三极管,相应电机会正反转。判断不同三极管对的导通与否,然后判断电流的流向,根据电流的流向控制电机的转向。
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
图3.6 H桥结构图
对角线上的一对三极管导通则电机转动。例如,如图3.7所示,当Q1管和Q4管同时导通时,电流就从三极管Q1从左至右如黑线所示顺时针流过电机,图中箭头所示为电流流过的方向,这时电流将驱动电机正转。
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
图3.7 H桥控制电机正转
图3.8所示为三极管Q2和Q3导通时的电流流向,电流将从右至左逆时针方向流过电机。当三极管Q2和Q3同时导通时,电流将从右至左流过电机,驱动电机将反转。
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
图3.8 H桥控制电机反转
3.5 路径识别模块设计
光电传感器通过发射管发射光线再通过接收管接受反射回来的光线的强度的判断来确定周围的道路情况。本设计中,光线在白色地面上反射回来的轻度较强,而在黑色地面上反射的光线较弱,经过接收管两端输出电阻不同区分开黑白路面。
将激光传感器的发射管和调制管连接,通过载波来改变发射管的发光频率。接收管通过接收的光线通过放大、比较将信号传递给单片机,从而控制单片机输出高低电平判断线路的轨迹。
3.6 电机转向电路设计
舵机的结构包括减速齿轮组、位置反馈电位计和直流电机等控制电路。减速齿轮组由电机驱动,其输出轴带动一个线性的比例电位器作位置检测。该电位器把转角线性地转换为电压并反馈给控制线路板,然后控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正、反转,使齿轮组的输出位置与期望值相符,从而达到使伺服电机精确定位的目的。
舵机工作原理框图如图3.9所示:
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif










图3.9舵机的控制工作原理框图
舵机的输入线共三条:白线是控制信号线。红线是电源线,黑线的地线,这两根线给舵机提供基本的能源保证,主要是电机的转动消耗。
三线连接法:
黑线:地线
红线:电源线(7.2V)
白线:信号线(PWM信号)






file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image016.gif


  
        
B黑 R红 W白
   
   
   




舵机插头
小车在实际的运行过程中,当提供给舵机7.2V电源会发现小车转向非常灵敏,如果电压电源低于7.2V会明显发现舵机反应迟钝。正常情况下电机反应较灵敏,能够顺利完成小车运行所需的灵敏度要求。并且舵机内部有过载保护作用,不会造成过电压而损坏电机。
3.7 避障模块设计
采用一只红外对管置于小车右侧,当检测到障碍物时,控制芯片输出报警信号并调用控制小车避障程序,从而达到避障的目的。通过测试发现小车能够很好的避开障碍,且充分的利用资源而不浪费。
这里我们选用TCRT5000型光电对管,该红外光电传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。原理图如下:
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg
3.10避障原理图

电路工作时,传感器的红外发射二极管不断发射红外线,当接收端没有接收到反射回来的红外线或接收到的红外线强度不大时,光敏三极管一直保持关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,接收红到的外线强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点亮。
3.8 驱光模块设计
感光电路采用光敏电阻和ADC0832组合电路。通过A/D转换后的电压变换量反馈到单片机里执行寻光处理程序。
感光模块主要由光敏电阻和ADC0832组成。正常情况下ADC0832与单片机的接口应为4条数据线,分别为CS,CLK,D0,DI.但由于D0和DI端在通信时并未同时有效并与单片机的接口是双向的,因此在电路设计过程中可以将D0和DI并联在一根数据线上使用。当ADC0832未工作时,CS端应为高电平,此时芯片禁用,CLK和D0/DI的电平不需要确定。当要进行A/D转换时,必须将CS端置于低电平并保持到转换结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,D0/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前,DI端必须置于高电平,表示起始信号。在第2,3个脉冲下沉之前DI端应输入2位数据用于选择通道功能,此时2位数据为“1”“0”时,只对CHO进行单通道转换。当2位数据为“1”“1”时,只对CH1进行单通道转换。当2位数据为“0”“0”时,将CH0作为正输入端,CH1为负输入端进行输入。当2位数据为“0”“1”时,将CH1作为正输入端,CH0作为负输入端进行输入。到第3个脉冲的下沉之后,DI端的输入电平就失去输入作用,此后D0/DI端则开始利用数据输出D0进行转换数据的读取。从第4个脉冲下沉开始由D0端输出转换数据最高位DATA7,随后每一个脉冲下沉D0端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19个脉冲是数据输出完成,也标志一次A/D转换的完成。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。
3.9 报警模块设计
在单片机的I/O口里会输出高低电平,在p21和p23分别接上LED指示灯而p25接上了蜂鸣器外接个9012的三极管起到开关的作用,当三极管达到饱和状态下就驱动了蜂鸣器工作了。
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
图3.11报警电路原理图
3.10 显示电路设计
单片机的显示通常需要多位显示。大多数时候选择多位数码动态显示来完成。
在数码管显示电路中,数码管8段每一段都会占用单片机的一个I/O口,本次设计采用4位数码管,则需要32个I/O接口,而单片机的I/O口只有32个,必然导致接口不够用,动态显示则刚好解决这个问题。
所有数码管的段选全部连接在一起,如何不同内容的同时显示呢?动态显示的原理是利用多位数码管交替来显示,利用人的视觉短暂停留效果使人的视觉上看到好像多个数码管同时在显示。
在编程时,要用单片机控制和段选,所谓段选是指选中其中一个数码管,然后通过单片机输出段码,要显示的数字就能在相应的数码管上显示出来,延时一段时间后,再选中另一个数码管,再显示出对应的段码,高速交替。
在动态显示程序中,各个位的延时时间的设置也是非常关键的,如果延时时间太长就会出现闪烁的现象;如果时间太短就会出现显发暗且有重影。
静态驱动就是单独为每一个LED提供电流。这样每个LED都能够正常发光,亮度相对较高。
动态扫描驱动就是把电流供给所有的LED灯,灯的显示亮度在相当短的时间内会显得暗一点,由于供给给每个LED的电流并不是相同的,而是根据各LED间扫描频率的电流不断交替变化,扫描的频率依据程序具体的设定,实际上每位数码管是根据扫描频率一次给每一个LED单独供电。
4 系统软件设计和编程4.1 主程序框图设计
                                                                    



file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image021.gif


4.1主程序设计流程图
程序设计主要包括电机的程序控制设计、舵机的程序控制设计以及道路信息检测程序设计等几个部分。所有的控制程序编程思路,除了模块的初始化之外,都是以激光传感器采集到的道路信息作为控制策略制定的基础,以编码器测得的实际行驶速度作为智能车的速度反馈信息,利用PID控制和模糊控制等思想,软件和硬件有机结合,共同实现智能车自动寻迹形式的目的。主程序的控制流程图如上面图4.1所示。



  
        
   
   
   
   
   
   


4.2 循迹程序设计
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif















图4.2循迹流程框图
小车在行驶过程中通过激光传感器采集小车周围的道路信息反馈给单片机,单片机作出相应的反应。当检测到小车偏离路线时,单片机通过控制电机的转速使小车回到正确的路线,然后单片机再控制电机加速使小车高速行驶,当检测到终点时,单片机控制小车减速直至小车在终点处停止运动。








4.3 避障程序设计
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image023.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image024.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif                                                                                                  
  
        
Y
   
   
   
  
        
N
   
   
   
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image026.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image027.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image028.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image029.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image030.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image031.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image032.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image033.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image034.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image035.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image036.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image037.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image038.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image037.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image039.giffile:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif                                                     
4.3避障程序流程图
在小车行驶过程中,当激光传感器检测到小车前方有障碍物时,通过传递信息给单片机,使单片机执行相应的动作。通过控制电机转速使小车减速,通过舵机实现小车转向,当小车避过障碍物后再通过舵机使小车回到原来的轨迹上行驶。当激光传感器未检测到障碍物时,小车正常行驶,通过控制电机转速使小车加速,直至小车高速稳定运行。


















5 系统硬件和软件的仿真5.1 仿真软件介绍5.1.1 PROTUSE软件介绍
本系统使用protuse仿真软件进行仿真,并结合Keil C进行联合调试。它是一款著名的EDA仿真软件,从画原理图、调试代码到单片机和外围电路协同仿真,一键切换到PCB设计,实现了从概念到产品的完整设计。是一款集电路仿真软件、PCB设计软件和虚拟模型仿真软件于一体设计软件,其处理器模型支持HC11、PIC10/12/16/18/24/30/DsPIC33、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其它系列处理器模型。它同时还支持IAR、Keil和MPLAB等多种编译器进行编译。
元器件种类多:器件库中含有2700多种元器件,创建新元件也非常的容易;智能的器件搜索:对于比较模糊的元器件还可以通过模糊搜索迅速的找到所需的元器件的位置;它的连线功能也非常的智能化,连线时方便快捷,大大减短了绘图所需要时间;支持总线结构:使用器件和总线布局使电路变得清晰明了。
在该软件中绘制完成电路图后,再调入已经编译好的目标代码文件就能够清晰的观察到模拟的实物运行的整个状态过程。它不仅可以将单片机的功能形象化,同时还可以将实例运行的过程形象化。前者可以在一定程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬度高度对应。这在相当程度上替代了传统的单片机教学实验的功能。而且数据库提供了大量的元器件,这是实验室无法与之相比的。在修改电路设计上更加的方便,它具有设计灵活,结果、过程统一的特点。且使设计时间变短,降低工程制造的风险和成本。
5.1.2 MULTISIM软件的介绍
Multisim软件用于电路设计和仿真,是一款EDA软件。它拥有一个完整的集成化设计环境。Multisim计算机仿真与虚拟仪器技术不仅可以节省学校购买仪器的成本还能够让学生随时进行相关实验。学生能够很方便的使用该软件进行绘图和进行仿真,通过理论与实践相结合提高独立思考的能力,增强自己的专业知识。Multisin软件的特点:
(1)清晰的图形界面:整个操作界面就像一个电子实验工作平台,绘制出电路所需要的元器件和仿真所需要的仪器都能够直接拖放到操作界面,点击鼠标就能使用导线连接功能将它们连接起来,软件仪器的控制面板和操作方式都与实物相似,测量实物、波形和特性曲线都能够在仪器的控制面板上显示出来,和在实验室使用真实仪器一样。
(2)元器件种类繁多:Multisim在EWB的元器件库原有基础上又增加了很多元器件,包括基本元件、半导体器件、运算放大器及其它各种部件,用户还能够使用元件编辑库的功能编辑自己所需要的元件模型,还可以通过LiT公司网站或其代理商获得元件模型的扩充和更新服务。
(3)接近完美的分析方法: EWB不仅提供了直流工作点分析、交流分析、瞬态分析、傅里叶分析、噪声分析、失真分析、最坏情况分析等等外,Multisim还添加了很多的分析手段,包括直流扫描分析、批处理分析、等,一定程度上满足了需求者对一般电子电路的分析设计要求。
5.2 仿真结果及分析5.2.1 基于PROTUES平台仿真结果分析
该系统的键盘显示与电机驱动是在KEIL C编程下使用PROTUES仿真。最终实现其设计与仿真的。
键盘显示仿真部分是由单片机AT89C51仿真、4*4键盘矩阵键盘、电阻、LCD1602液晶显示屏组成。电机驱动仿真部分是由单片机AT89C51、L298驱动芯片、直流电机以及部分保护电路组成。本电路对键盘的八个键设置了电机和显示的一系列功能。通过对4*4的键盘进行扫描,将键盘信号输入到单片机,由单片机的P0口输入到显示屏,通过P2口来控制电机驱动芯片实现电机的正转、反转、停止、加速、减速等功能。
如图5.1所示,4*4矩阵键盘上key1键控制第一个电机正转传屏幕显示“one run right”,key2控制第一个电机反转屏幕显示“one run left”;key3控制第二个电机正转屏幕显示“two run right”;key4控制第二个电机反转屏幕显示“two run left”,key5和key6控制第一个和第二个电机停止并显示“one stop”和“two stop”;key7和key8分别控制第一个电机正转加减速,并分别显示“one right quick”和“one right slow”。
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image042.gif
图5.1电机驱动电路仿真图
5.2.2 基于MULTISIM仿真平台结果分析
当开关J1闭合,J2B打开时,电机正转;当开关J1打开,J2B闭合时电机反转,
H桥电路仿真图:
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image044.jpg
5.2H桥电路仿真图


电源管理模块仿真结果:
file:///C:/Users/PC%E4%BD%95%E5%BF%97%E5%88%9A/AppData/Local/Temp/msohtmlclip1/01/clip_image046.jpg
5.3电源电路仿真图






回复

使用道具 举报

ID:367060 发表于 2020-4-8 16:15 | 显示全部楼层
乱码啊,怎么看啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表