1、机器人避障功能毕业论文摘 要 80C52单片机是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。这里介绍的是如何使用80C52单片机来实现智能小车的设计,该设计是结合科研项目而确定的设计类课题。本系统以设计题目的要求为目的,采用80C52单片机作为控制核心,采用红外传感器检测道路面上的障碍,控制智能小车的自动避障,快慢速行驶,按键开车停车,并可以实现自动记录行驶时间,自动避障,自动寻线功能。最终完成智能车设计需要综合单片机编程、模数电、Protel 设计、电路焊接、自动控制算法设计等多方面内容。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计
2、方法及测试结果分析。 采用的技术主要有:(1)通过编程来控制小车的速度;(2)传感器的有效应用;(3)显示译码管的使用。关键词: 80C52单片机;光电检测器;PWM调速;智能小车Design and create an intelligence electricity motive small carAbstract80C52 is a 8 bit single chip computer. Its easily using and multi-function benefit large users. This article introduces the UESTC graduation
3、 design with the 80C52 single chip computer. This design combines with scientific research object. This system regards the request of the topic, adopting 80C52 for controlling core, infrared reflection sensor for test the hinder. It can run in a high and a low speed or stop automatically. It also ca
4、n record the time, distance and the speed or searching light and mark automatically the electric circuit construction of whole system is simple, the function is dependable. Experiment test result satisfy the request, this text emphasizes introduced the hardware system designs and the result analyze.
5、The adoption of technique as:(1)Speed control by program the engine;(2)Efficient application of the sensor;(3)The adoption of the new display chip. Keywords 80C52 single chip computer; light electricity detector; PWM speed adjusting;Electricity motive small car第一章 引 言 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国
6、电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,可见其研究意义重大,但是,各大智能车比赛项目或活动大都是在预先设计好的赛道上进行的,在实现智能避障时,却显得乏力。本设计就是在这样的背景下提出的,本题目是结合科研项目而确定的设计类题目。设计的智能电动小车要求能够实时显示行驶时间、速度、里程,具有自动寻迹、避障功能,可程控行驶速度、精确定位停车。 根据题目的要求,确定如下方案:在现有玩具电动车的基础上,外加光电、红外传感器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动小车的智能控
7、制。 这种方案能实现对电动小车的运动状态进行实时控制,控制灵活、可靠、精度高、易于调试和维护,可以根据不同环境,不同参数更改程序代码,调整硬件结构,使小车满足要求的指标。本设计采用MCS-51系列中的80C52单片机。以80C52为控制核心,利用红外传感器检测道路上的障碍,控制电动小车自动避障,快慢速行驶,并可以自动记录时间、行驶里程,即时显示速度,自动循迹和寻光功能。80C52是一片8位的微控制器,作为第三代微控制器,它的易用性和多功能性能满足大多数场合的要求。第三代单片机包括了Intel公司发展MCS-51系列的新一代产品,如8xC152、80C51FA/FB、80C51GA/GB、8xC
8、451、8xC452,还包括了Philips、Siemens、ADM、OKI、Harria-Metra、Atmel等公司以80C51为核心推出的各具特色、与80C51兼容的单片机。新一代的单片机的最主要的技术特点是向外部接口电路扩展,向更完善的控制功能扩展,能与常用的外部接口功能单元如A/D、PWM、PCA(可编程计数器阵列)、WDT(看门狗监视定时器)、高速I/O口、计数器的捕获/比较逻辑等兼容。第三代微控制器中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。Philips公司还为80C51系列的8xC592单片机引入了具有较强功能的设备间
9、网络系统总线CAN(Controller Area Network BUS)。这些完善的总线结构,为系统的扩展与配置打下了良好的基础。单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化控制工具,小到玩具、家电行业,大到车载、舰船电子系统,遍及计量测试、工业过程控制、机械电子、金融电子、商用电子、办公自动化、工业机器人、军事和航空航天等领域。为满足不同的要求,出现了高速、大寻址范围、强运算能力和多机通信能力的8位、16位、32位通用型单片机,小型廉价型、外围系统集成的专用型单片机,以及形形色色各具特色的现代单片机。 本设计采用80C52RC芯片作为控制单元,80C52采用CMO
10、S工艺,功耗很低。该设计具有实际意义,其无人驾驶的特性可以应用于考古、地震救援、医疗器械、自动搬运等许多方面,尤其是在足球机器人研究方面具有很好的发展前景;在考古方面应用到的超声波传感器进行检测,所以本设计与实际结合,应用性较强。第二章 方案设计与论证 智能车制作是一个涵盖电子、电气、机械、控制等多个领域和学科的科技创新活动。简单点来说可以将其分为硬件电路(包括电源、MCU控制部分、电机驱动、传感器)、机械、算法三方面的设计。根据题目的要求,确定如下方案:在现有玩具小车的基础上,加装光电传感器,实现对电动小车的速度、位置、运行状况的实时测量,并将测量数据传动通过信号流的方式传送至单片机进行处理
11、,然后由单片机根据所检测的各种数据实现对电动小车的智能控制。 这种方案能实现对电动小车的运动状态进行实时控制,控制简单、灵活、可靠、精度高,测量障碍的距离可调整,其整体模块均可以通过软件或硬件的调整来满足各种场合的需求。2.1 微处理器(MCU)和场可编程逻辑门阵列(FPGA)的选择方案一:场可编程逻辑门阵列作为控制核心方案二:微处理器作为控制核心场可编程逻辑门阵列的优缺点:高速性。作为信号高速处理的标准模块,拥有比MCU高出三个量级的频率,这意味着FPGA可以拥有高速的信号处理能力,速度高到可以实现将信号进行FFT变换,实现数字滤波,最后再进行FFT变换还原信号,这样大量的数据处理需要高速的
12、数字器件完成。所以目前FPGA在通讯领域发挥着其不可替代的作用。稳步发展的技术。FPGA作为更新的技术,在几年之内会变得更加快速、更加便宜,此技术的发展空间和发展潜力巨大。大量的端口。相对于MCU的32个IO口,FPGA拥有高出MCU一个量级的端口数目,这为以后更好的技术的出现提供了硬件扩展支持,设计者在进行系统的初始设计期间,就能够考虑到并适应预期的技术发展,并提供额外的扩展端口为技术升级做准备。FPGA拥有的端口数为256、512、1024或者更多。严谨。作为严谨的语言,FPGA中变量和信号有所区分,不同进制之间区分,这样虽然降低了潜在的错误风险,但是,这会使设计变得更加复杂。大量的警告和
13、错误。以xilinx的ISE为例,即时程序设计正确,在综合的时候,也至少有十处警告,这说明了技术的不成熟,有待改进和发展。支持的语言模块太少。数字设计中,VHDL工具甚至不能很好地综合for循环(可能造成无效或不可综合),将for循环的每一次循环用单独的器件实现,每个i值生成一组器件,以此来解开for循环并实现电路,这样会造成器件的大量浪费,这将是以一个极其昂贵的解决方式。不能运用mod操作符求余,因为这个操作需要除法,多数VHDL工具不能综合出触发电路,除了二位除法(一次右移操作)等简单除法。与之相比,微处理器拥有成熟的技术,设计完善,编程实现时可以做到零错误零警告,支持比硬件描述语言(VH
14、DL)更好的C语言。设计简单,设计程序简洁有效,出错率大大降低。由寄存器组实现数据存储记忆,与寄存器和触发器存储数据相比更加有效,支持自动数据转换,设计更加简单。比如clk时钟信号,在FPGA中,需要为时钟信号专门写进程,需要专门分配端口,再使用分频得到想要的频率,在MCU中,时钟信号是所有器件的驱动时钟,对于计时,仅仅需要打开寄存器让寄存器计数即可。并且在数字设计中对MCU程序的设计是逻辑的,不需要特别的数学技能。而不像对电容器、晶体管或其他的元器件那样,要求对模型进行计算才能了解和认识他们的内部特性和工作过程。事实上,微处理器有很多的优点:易于设计。MCU支持各种进制之间的自动转换,设计时
15、不用考虑具体信号进制,在硬件实现时,MCU自动将数值进制转换成为所赋值的信号的进制,所以,设计时可以灵活写十六进制数据,对硬件更有效的控制。而不像FPGA那样,需要对进制转换单独写进程或者调用函数实现。能使用各种高级语言,比如,使用mod函数实现取余操作。灵活性和功能性。C语言本身支持直接对硬件进行操作,例如对内存地址的操作、位操作等。C语言作为一种高级语言,对硬件的支持并不差于汇编语言,这个特性能在设计单片机程序时带来很大便利,在稍后的设计部分中可见,单片机对C语言的兼容性将C语言的优点继承了下来。在这方面,VHDL相对薄弱。单片机中更高层的功能,如微处理器、存储器和输入输出控制器,在使用这
16、些器件时,数字设计者不用对最复杂而关键的片上组件及其互连技术进行设计,因为这已经由器件制造商设计出来并测试过了。这些都体现了微处理器的灵活和高效。可编程性。如今大多数数字设计都是采用语言进行编程来完成的。这些语言可以将数字电路的功能进行规格化或者模型化。在构建任何真实硬件之前,要使用编译器和模拟器来测试硬件模型的运行状况,然后才将模型用特别的组件技术实现电路。这就使得电路的设计具有相同性,对于同样的电路,只用改变E2PROM的程序就可以实现功能的改变,从而带来了极大的便利。微控制器这种集成电路在它们出厂后具有逻辑功能的编程能力。这些器件能够通过重新编程来设置其功能,这就意味着,如果发现了设计中
17、的差错,不需要在物理上替换器件或重新接线,就可以排除错误。也意味着,设计者可以自行设计出自己所想要的芯片。用同样的电路,写入不同的程序,系统就可以完成不同的功能,加上E2PROM电可擦除芯片的诞生,设计者们就不用专门为一种功能去设计一种电路,不用自己动手搭建电路,就像在三十年前他们的教授所做过的那样。 快捷性。如今,MCU的处理速度很快,对于时钟为11.0592MHZ的微处理器而言,12个时钟周期为一个机器周期,所以该MCU的频率大约为1MHZ,也就是说,一秒钟执行106条指令,执行一条指令的时间为1微妙。对于F22战斗机而言,开加力时时速大约为M2.00,也就是680米每秒,单片机执行一次指
18、令时,F22大约能飞行0.68毫米,所以,对于普通的智能小车而言,用单片机作为控制核心是完全可以胜任的。经济性。单片机能够在一片芯片里提供大量的功能。能够重复使用的电路可以被集成到单个芯片里,以很低的成本进行大量的生产,这样就可以将那些计算器、数字手表、音乐生日卡之类的不同功能的器件集成在一起了。 本设计因为需要直接对硬件进行操作,需要简易灵活的程序编写,所以笔者选择单片机作为控制核心。2.2 直流电机和步进电机的选择直流电机的工作原理:直流电机的转子为三组呈60的漆包线圈,在线端口焊接六个60圆弧铜片。这些铜片构成换向片,两个弹性铜片靠在换向片两侧,作为供电电刷。当电源通过电刷向漆包线圈供电
19、时,线框中就会有电流流过。直流电机的定子为一对磁极,由导磁良好的钢铁制成,磁极的磁力由一个U型永久磁铁产生,将磁极放置在漆包线圈两侧,形成磁场,漆包线圈处于磁场中。当线圈通过电流时,三个线圈就会受到磁场的洛伦兹力,受力方向依照左手定理判断。受到磁场的作用力的线圈会旋转,当旋转了60后,原通电线圈断电,下一组通电线圈通电,使整个转子继续受到相同旋转方向的力,这就是直流电机的工作原理。直流电机的优点和缺点:控制简单。直流电机的控制相对于步进电机要简单,直流电机的两个接口加正电压时电机正转,加负电压时电机反转,易于控制。转速快。直流电机的转速不受控制,所以外加电压时,直流电机一直处于最佳工作状态,无
20、保留地发挥出其最大转速。成本低。相对于步进电机,直流电机的成本更低,价格易于接受。更重要的是,两个直流电机仅需要一片L298N芯片即可完成控制,所以,选择直流电机能使得电路更简单。无法控制转过角度。所以对于速度的测试需要和外部传感器配合使用,增加了硬件的设计难度。同时因为无法控制转过角度,所以无法通过软件精确控制直流电机的行驶距离。 步进电机的工作原理: 步进电机是一种将电脉冲转化为角位移的器件。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为步距角,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通
21、过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。步进电机的优点和缺点:角度、转速可控。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,使得步进电机只有周期性的误差而无累积误差。所以在速度、位置等控制领域用步进电机来控制变的非常简单。控制较为复杂。需要四个接口输入,所以如果使用步进电机,智能小车需要两个驱动轮,也就是八个接口,这就使得需要两片L298N芯片,使成本增
22、加。这样设计就需要额外增加步进电机的费用和另一片L298N芯片的费用。无法实现较高的速度。步进电机的精确控制性决定了其扭矩较大,这样也使得步进电机趋向于驱动力而不是旋转速度,使得步进电机速度有所限制。 本设计中使用控制简单的直流电机,因为设计中创新的光线反射式避障不需要精确控制行驶距离,这样可以节约出步进电机和一片L298N芯片及其外部电路的成本。2.3 舵机和万向轮的选择根据控制方式,舵机应该称为微型伺服马达。舵机能够利用简单的输入信号转动到一个比较精确的角度,所以非常适合机器小车使用。舵机简单的说就是集成了直流电机、电机控制器和减速器,并封装在一个便于安装的外壳里的伺服单元。舵机内安装了一
23、个电位器检测输出轴转动角度,控制板能根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制。舵机的工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。总而言之,控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出。电位器和齿轮组
24、的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持目标角度。舵机的控制信号为周期20ms,脉宽0.5ms-2.5ms之间的PWM信号,在20ms的周期中,输入脉冲宽度与舵机输出角度之间的关系:0.5ms -901.0ms -451.5ms 02.0ms 452.5ms 90可见,使用舵机可以获得精确的转角,这样的方式能提高机器小车的行驶速度,但是,精确转角的方式使得机器小车要想转弯必须以要有一个固定的转角,要求小车的转弯路线为圆弧,小车不能原地转弯,且因为舵机需要用到定时器,而定时器本身在程序较复杂时中断时间不准确,所以舵机有控制不准的
25、风险。使用万向轮的优点在于转弯不需要转角,可以原地转弯,因为其不需要圆弧转向,所以万向轮可以精确控制小车的行进路线,缺点是无法精确控制转角。本设计中采用万向轮的方式转向,因为万向轮是从动轮,两个主动轮和一个从动轮呈三角形分布,所以在平面上从动轮那个点的受力完全由两个主动轮给予,其转动方向和转动速度完全依靠于两个主动轮,使用简单有效,而且,使用万向轮的方式可以为单片机省下一个定时器。2.4 最终元器件选择元器件选择:E18-D80NK型光电反射式传感器3个、STC89C52RC型单片机1块、RS232芯片1块、11.0592M系统晶振1个、LED发光二级管2个、共阳七段数码管4个、蜂鸣器1个、L
26、298N芯片1块、直流电机2个、电容电阻若干。电容选择1uF和30pF,电阻选择1K和10K两种。第三章 硬件设计3.1 课题的方案论证3.1.1 主要任务设计一台具有避障功能的智能小车。该智能小车利用红外传感器检测周围障碍情况,用控制电机驱动电路来控制机器人的前进方向,以躲避障碍物。用单片机作为控制核心,完成硬件和软件的设计。3.1.2 功能要求(1)小车能够实现自动躲避在车前方,左方,右方的障碍物,达到智能的效果。(2)状态和时间显示功能:第一个数码管可以显示小车当前状态,第三个和第四个数码管可以显示小车实际行驶时间。(3)按键转换功能:小车在上电复位后,由独立按键1控制,按键1按下后,小
27、车行驶,再次按下时,小车停止。(4)报警功能:小车在遇到障碍物时候进行蜂鸣器报警。(5)障碍灯:两个LED灯用于显示小车周围障碍物的状况。3.1.3 性能指标 (1)红外传感器的探测距离为10cm以上。 (2)红外传感器的响应时间小于1毫秒。 (3)智能小车遇到障碍物到做出反应的时间小于2毫秒。 (4)智能小车能够在直线,弯道,S型弯道,发卡弯道等完成无碰撞行驶。 (5)智能小车能够在放置零散障碍物的平面空间内行驶无碰撞。3.2 课题工作一个单片机应用系统的硬件电路设计包含两部分内容:一是最小系统设计,即设计微控制器能工作的最精简的电路,该设计方法固定,可以参考大多数单片机系统设计,设计完成后
28、,单片机可以使用其内部的基本功能单元,如ROM、RAM、I/O端口、定时/计数器、中断寄存器等,单片机能正常工作,能按照程序控制其I/O端口。二是扩展设计,在单片机内部系统无法完成需求工作时,选择适当的芯片,设计对应的外部电路,添加外围设备,如独立按键,LED灯、七段译码管、蜂鸣器、AD/DA转换器等,来完成需求功能。3.3 系统整体框图图3-1 系统整体框图3.4 电源模块设计电源是整个系统稳定工作的前提,因此必须有一个合理的电源设计,对于小车电机部分的工作电源,要求在电池耗损时电压降低的情况下也能正常驱动电机,所以给电机供6V直流电压,使用四节五号电池串联供电,这样,即使存在电池耗损,整个
29、电池盒的供电大于3V,这样的电压也足以驱动电机正常工作。同时考虑到大电流器件可能会对单片机造成干扰,影响单片机的稳定运行,所以,本设计为单片机和电机控制芯片L298N这两块芯片单独供电,均采用四节五号电池串联供电。3.5 单片机最小系统设计STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 可编程Flash 存储器。拥有8 位CPU 和可编程Flash,具有以下功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,最高运行频率35Mh
30、z,6T/12T可选。具体使用到的模块包括:ADC模拟数字转换模块、定时器模块、PWM脉冲宽度调制模块、中断模块、I/O端口和实时时钟模块。单片机是小车的控制中心,单片机最小系统的设计是小车正常行驶的前提,最小系统指的是能够保证单片机正常运行的最精简的硬件设计,如图3-2所示,为STC89C52RC单片机的最小系统参考电路图。图3-2 STC89C52RC单片机最小系统参考图图3-2中的STC89C52RC单片机最小系统由以下几个部分组成:1. 晶振电路:单片机要能正常工作必须设计一个外部的时钟源,这个时钟源由晶振电路产生,具体电路为图中的Y1、C2、C3部分,电容典型值为30pF,晶振典型值
31、为12Mhz。2. 复位电路:STC89C52RC单片机为高电平复位,也就是说RST(9)脚上只要有持续两个机器周期以上的高电平就能使单片机复位,上电复位的原理是利用电容充电的一段时间将复位脚拉至高电平,使单片机完成复位,C1可以选用1uF的瓷片电容,R1在电容充电结束后将复位脚拉至低电平,保证单片机的正常工作。其中,单片机的十二个晶振周期为一个机器周期,微处理器在一个机器周期内能执行一条指令,所以,机器周期也称为指令周期。3. ISP 下载部分:如图中的Header5X2部分就是下载接口,电路是根据标准的ISP下载线来设计的,与常用的并口下载线,串口下载线和笔记本用的USBASP 下载线兼容
32、,只需将下载线接口插到本接口上就可以向单片机烧写程序。同时,ISP 的下载接口在设计时应注意以下两点,否则会造成程序下载的失败。1. 下载线接口中的电源和单片机共用一个电源。2. 下载线接口中用到的P1.5到P1.7 脚不能连接外部器件,如果要连接外部器件可以设计为可插拔的方式,防止影响程序的下载。在本设计中,笔者将这三个端口用于传递三个光电传感器的反馈信号,所以在下载程序的时候,需要将这三个光电传感器停用,即将它们断电,否则,下载器会提示无法正常下载。4.电源和地:如图所示,单片机的二十管脚为GND,接地,四十管脚为VCC,接电源,同时注意将第三十一管脚拉高,三十一脚即EA脚为内外存储器的选择脚,由于本设计只使用内部存储器,因此需要将此脚连至高电平,否则单片机无法正常工作。5.上拉电阻:P0口与其他三组I/O口不同,P0口没有内部上拉电阻,因此如果需要驱动LED等外部器件时需要在P0口加上10K的上拉电阻,并且加外部上拉电阻的方式有助于增强端口的驱动能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1