遥控小车控制系统.docx
《遥控小车控制系统.docx》由会员分享,可在线阅读,更多相关《遥控小车控制系统.docx(37页珍藏版)》请在冰豆网上搜索。
遥控小车控制系统
目录
第1章绪论1
1.1研究综述2
1.2选题意义2
1.3设计要求3
第2章系统框图4
2.1系统结构框图4
2.2设计方案5
第3章系统硬件的设计6
3.1遥控小车的系统组成6
3.2系统各模块的主要设计7
3.3遥控小车的主要参数13
3.4遥控小车系统的主要特点13
第4章遥控小车的软件设计15
4.1程序的设计15
第5章总结与设计心得17
参考文献18
致谢19
附录120
附录221
第1章绪论
1.1研究综述
随着智能玩具市场的迅速发展,关于智能玩具小汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
本设计就是在这样的背景下提出的。
同时科学家研究出各种能取代人的自动化劳动工具,能从事一些需要劳动力大、威胁性大的工作。
遥控小汽车的出现,也改变一些特殊场合的工作,它可以从事考古、机器人、医疗器械等方面的工作,为人门带来很大的方便。
智能汽车从其诞生到现在,已经发展到了第三代,第一代智能小车只是再现型智能小车。
它们装有记忆存储器,有人将作业的各种操作要求示范给智能小车,使之记住操作的程序和要领。
当它接到再现命令式,则自主地再现动作。
第二代智能小车是装有简单计算机和简单传感去的离线编程的工业智能小车。
它能感知外界信息和进行“思维”,比第一代智能小车更灵活、更能适应环境变化的需要。
第三代智能是装有多种传感器,能识别作业环境,能自主决策,具有人类大脑的部分功能,且动作灵活,是人工智能技术发展到高级阶段的产物。
只要技术水平达到了能够减少汽车在生活中的事故,那么智能汽车也将象火车一样给人们的生活带来便利和安全。
本题目是采用红外遥控技术,通过遥控命令对小汽车行驶状态进行控制,如前进、后退、左转和右转。
并配合相应的传感器实现小汽车的自动避障,当小汽车检测到四周都有障碍物时,能够实现自动停车。
根据题目的要求,确定如下方案:
在现有玩具电动车的基础上,加装红外线、超声波传感器及金属探测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对小车的智能控制。
1.2选题意义
智能车辆致力于提高汽车的安全性,舒适性,适应性和提供优良的人机交互界面,是目前各国重点发展的智能交通系统ITS中的一个重要组成部分,也是世界车辆工程领域研究的热点和汽车工业增长的新动力。
随着企业生产技术的不断提高以及对自动化技术要求的不断加深,智能车辆已在许多工业部门获得了广泛的应用。
科学家研究出各种能取代人的自动化劳动工具,能从事一些需要劳动力大、威胁性大的工作。
遥控小汽车的出现,也改变了一些特殊场合的工作,它可以从事考古、机器人、医疗器械等方面的工作,为人门带来很大的方便。
在发达的工业国家,有些智能车辆已经实现了商品化。
由于成本低廉,又可以比人类工作的更好,它已逐步深入到工业和社会的各个层面。
在西方发达国家,智能车辆已广泛应用于医疗福利服务,商务超市服务,家庭服务等领域,在此基础上,已经开发出来的产品成为航天,医疗,工业控制,物流等各个领域的关键设备.研究设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及提供一定的参考。
同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。
智能小车的研究为智能汽车的问世做理论基础,为人工智能在科技和工业,乃至社会的各个层面发挥无可替代的作用做基础。
可见,无论是从科学发展,理论研究的角度,还是从汽车工业发展以及市场竞争的角度看,对智能车的研究都是必要的。
此外这次课程设计还有以下意义:
(1)通过这次课程设计,加深对单片机理论方面的理解。
(2)掌握单片机的内部模块的应用,如定时器/计数器、中断、片内外存储器、I/O口、串行口通讯等。
(3)了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片器应用系统打下良好基础。
(4)通过简单课题的设计练习,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.3设计要求
完成遥控小车的设计,要求如下:
1、用单片机控制;
2、有发射和接受部分;
3、能实现无线遥控;
4、能自动实现避开障碍物
第2章相关理论
2.1核心控制器简介
本遥控小车使用的微控制器是宏晶半导体公司推出的STC12系列芯片STC12C5A48S2,该单片机具有增强型的8位单片机。
该系列单片机在汽车电子领域有着广泛的应用。
STC12C5A48S2单片机的中央处理器CPU8由以下四部分组成:
算术逻辑单元ALU、累加器ACC、控制单元与和寄存器组。
寻址方式有8种。
CPU外部总线频率为24MHz或者40MHz,通过内部数据锁相环(PLL),可以使内部总线速度达到100MHz。
内部寄存器组中的寄存器,堆栈指针和变址寄存器均为8位,它具有很强的高级语言支持功能。
CPU8的累加器ACC中,分为A组和B组,它们都是8位的,A组和B组也可以组成16位的累加器。
CPU8的寄存器组包括如下4个部分:
1.8位累加器A、B或16位累加器D。
2.8位寻址寄存器X和Y是用来处理操作数的地址。
可分别用于源地址,目的地址的指针型变量运算。
3.堆栈指针SP是8位寄存器。
4.程序计数器PC是8位寄存器。
它表示下一条指令或下一个操作数的地址。
2.1.1单片机STC12C5A48S2的内部资源
STC12C5A48S2作为STC12系列的一种,内部资源非常丰富,简要介绍如下:
1.时钟和复位模块
—PLL(内部数据锁相环频率合成器)
—COP看门狗
—时钟监控
2.存储器
—48KBFLASHEEPROM
—8KBRAM
3.两个8路A/D转换器
—10位精度
—具有外部触发转换功能
4.增强型捕捉定时器
—8位主计数器
—8个输入捕捉通道或输出比较通道
—2个8位或1个16位脉冲计数器
5.4路PWM通道
—可编程周期以及占空比
—独立控制各路PWM的周期和占空比
—中间对齐和左对齐输出
—频率范围宽的可编程时钟选择逻辑
—紧急时刻快速关闭输出
6.串行接口
—两个异步串行通信接口模块SCI
—1个I2C总线接口
STC12C5A48S2支持在线编程,即写入,擦除,在线下载程序。
在线编程的基本原理是,单片机内的CPU有能力对片内Flash进行写入,擦除操作,用户需以某种方式,一般为串行地将命令和数据传送给单片机就可以了,单片机的编程接口除了完成Flash写入、擦除功能外,还可用于应用程序的调试,甚至可以在应用程序中运行时,动态地获取CPU寄存器的值、存储器等的瞬态信息,这就是RS232与TTL电平转换的好处。
2.1.2单片机STC12C5A48S2的最小硬件系统
在前一章我们提到STC12C5S48S2的最小系统硬件电路原理图,虽然单片机将CPU、ROM、RAM以及I/O口统统集成在一个集成电路芯片中,但仍然需要一些外部电路的支持,这些外围电路主要为单片机最小硬件系统提供电源、时钟、I/O驱动、通信口等。
让单片机“活”起来,这个最小系统,即人要能够与单片机通信(一般是通过串行口通信或BDM电缆来实现),包括发命令给单片机,下载程序,调试程序等。
有了这些基本环境,就可以调试单片机硬件系统了,在硬件没有问题的基本条件下才谈得上软件开发。
最小系统也称为开发板,可以分为以下几个部分:
1.供电电路。
开发板的供电是靠外部+5V直流电源,通过外部电源模块提供的,实际上,单片机I/O模块的供电多数采用+5V,单片机的CPU速度越来越快,CPU的供电电压也越来越低,一般采用3.3V、2.5V甚至更低的工作电压。
本小车系统的单片机片内使用2.5V电压,片外I/O口使用5V电压,较低的片内电压使CPU运算速度快,功耗低;较高的I/O电平有利于抗外界干扰,所以我们选择的这款单片机STC12C5A48S2特别适合于智能小车系统。
由于这款单片机内部集成了电压调整器模块,电压调整器模块产生单片机内部需要的其他电压,因此只要向这款单片机提供+5V外部直流电源就可以了。
为了稳定这些不同的电压,需要外接一些电容,这些电容有两类,电容值比较大的如1uF、10uF等称为储能电容储能电容消除吞吐数字电路1和0交替信号,即三极管导通、截止时的电流变化;另一类电容值较小的电容如0.1uF、0.01uF的成为去耦电容,去掉单片机运行产生的高频噪声。
2.时钟电路。
主要由石英晶体振荡器和一些电容组成,虽然单片机可以由集成到单片机内部的RC振荡器产生单片机工作需要的时钟,但这种简单的时钟电路频率的稳定性得不到保证,不如使用外部晶振来得稳定;速度很快的单片机往往使用片内集成的压控振荡器(VCO)产生的高频振荡作为系统时钟,但VCO也需要外部晶振提供稳定的频率来锁定起振荡频率。
其外部晶振电路有两种接线方式,一种是串联振荡电路,另一种是并联振荡电路。
在我们的遥控小车系统的主板设计中,采用并联振荡电路。
具体电路如下图2-1所示。
这是我们主控模块上的晶振与单片机的连接,此电路给单片机提供了一个稳定的外部振荡源。
图2-1单片机模块晶振电路
3.RS232驱动电路。
上一章我们提到,在调试辅助模块里,有人机通信功能。
RS232驱动电路提供TTL到RS232电平的电平转换。
单片机可以利用异步串行通信协议同PC通信。
RS232电平转换芯片MAX232可以实现TTL电平与RS232电平之间的转换,然后在通过DB9接口和PC机进行串口通信。
在我们的遥控小车系统中,上位机可以通过RS232向控制主板下载程序。
2.2L298N芯片
2.2.1简介
1)工作电源电压高达46V。
2)总直流电流可达4A。
3)低饱和电压。
4)过热保护。
5)逻辑“0”,输入电压为1.5V(高抗干扰)。
该L298N是一个集成在一个15瓦的电铅多采用SO20封装的单片电路。
它是一种高电压,高电流双路全桥式驱动器,设计接受标准TTL逻辑电平驱动器,如继电器,电磁铁,直流和步进电机的电感性负载。
两个使能输入提供启用或禁用的输入信号的设备独立。
对每座桥晶体管的发射极下连接在一起并相应的外部终端可为一个外部感应电阻器连接。
一个额外的电源输入提供,这样的逻辑,在较低的电压工作。
2.2.2L298N框图
图2-2L298N芯片框图
2.2.3L298N原理图的参数
图2-3绝对最大额定值
1.引脚连接
图3L298N的两种不同封装
2.
各端子的功能(参考框图)
图4比较不同的封装引脚图
3.
电气特性
图5每个引脚的电气特性
第3章系统框图
3.1系统结构框图
根据题目要求,系统可分为电源模块,红外传感模块,单片机核心模块,无线遥控模块,电机驱动模块等部分组成。
具体框图如图3-1所示
图3-1系统框图
其中包括电源模块、红外传感器模块、单片机核心模块、无线发射与接收模块、电机驱动模块。
电源模块:
采用5节5号电池产生8.5V的直流电源,经过7805芯片稳压,输出为5V直流稳压电源,为单片机正常工作提供保障。
红外传感器模块:
采用型号为E18-D80NK的数字式红外传感器,检测路面前是否有障碍物,遇到障碍物则返还给单片机数据,它的测障碍物灵敏度范围是3cm~80cm(可调)。
单片机核心模块:
使用8位单片机STC12C5A48S2,主要功能是完成采集信号的处理和控制信号的输出。
无线遥控模块:
采用遥控编码、解码集成芯片PT2262/PT2272为核心器件,它们是一对带地址、数据编码功能的无线遥控发射/接收芯片,其中发射芯片PT2262-IR将载波振荡器、编码器和发射单元集成于一身,使发射电路变得非常简洁。
电机驱动模块:
利用L298N芯片可以通过脉冲调制控制直流电机的速度,这种调速方式有调速特性优良、调整平滑、调速范围广、效率高等优点。
3.2设计方案
根据题目的要求,确定如下方案:
在现有遥控小车底盘的基础上,加装红外传感器、无线发射与接收模块、电机驱动模块、稳压电源模块,实现对小车的速度、位置、运行状况的实时测量,然后由单片机根据所检测到各种数字信号实现对遥控小车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠、精度高,可满足对系统的各项要求。
如下图1所示。
这是我设计的遥控小车系统结构框图。
其中包括电源模块、红外传感器模块、单片机核心模块、无线发射与接收模块、电机驱动模块。
第4章系统硬件的设计
遥控小车主控芯片为STC12C5A48S2单片机,由此单片机做成的最小系统来作为双论小车的主控模块。
此最小系统包括供电电路、时钟电路、复位电路以及通信端口。
以上做为基础在来连接外部设备,就得心应手了。
4.1遥控小车的系统组成
遥控的功能模块主要包括:
控制核心(MCU)模块、通信模块、电源管理模块、电机驱动模块、无线遥控模块、智能红外避障模块。
每个模块都包括硬件和软件两部分。
硬件为系统工作提供硬件实体,软件为系统提供各种脉冲信号。
在这些模块中,有些模块是小车能正常行驶所必须的,如:
单片机核心模块(MCU)、电源模块、电机驱动模块、直流电机。
这些模块是遥控小车系统的核心模块,也是遥控小车能能够正常行驶的关键所在。
而有些模块则对遥控小车的行驶效果没有太大影响,它们只是为了增强系统功能而设计的模块,如红外传感器模块、无线遥控模块电路,这些模块统称为遥控小车系统的辅助模块。
遥控小车上的每一个模块,无论是核心模块还是辅助模块,其制作过程中都包含以下几个步骤:
查阅资料,科学的论证,电路制作,软件编程,最后经过实践检验才完成的。
为了使遥控小车能够快速行驶,单片机必须把行驶中红外传感器接收到的信号、接收到的无线遥控信号迅速地判断出来。
如果红外传感器部分的数据没有正确地采集和识别,电机驱动模块接收信号的失当,都会造成遥控小车地严重抖动甚至无法接收到传感器的信号;如果直流电机的驱动控制效果不好,也会造成在无障碍直线路面上的速度上不去,拐弯时候造成大的误差。
4.2系统各模块的主要设计
电源模块:
对电池进行电压调节,为各个模块正常工作提供可靠的电压。
如下图4-1所示。
这是一个典型的7805芯片稳压连接方法,本设计采用5节5号南孚电池产生8.5V的直流电源,经过7805芯片稳压,输出为5V直流稳压电源,为单片机正常工作提供保障。
图4-1遥控小车系统的电源稳压模块
红外传感器模块:
检测路面前是否有障碍物,遇到障碍物则返还给单片机数据。
如下图3-4所示。
这是一个数字式红外传感器,型号为E18-D80NK。
它的测障碍物灵敏度范围是3cm~80cm(可调),本设计中的遥控小车测障碍物范围为3cm~15cm。
为了使此传感器读取到的数据不丢失,我们在它的数据口加了一个10千欧的上拉电阻,信号线接在了单片机的P3.2口上。
图4-2红外传感器模块
其构造简单,但内部工作原理并不简单。
红外线传感器探头由红外二极管和红外光电管构成,其工作方式如下图3-4-1所示。
红外二极管发射出红外线调制信号,频率为38KHz。
红外线遇障碍物后被反射,反射回的红外线信号被红外光电管接收后转化为电信号。
电信号的能量反映了反射灵敏度的信息。
图4-2-1红外线传感器的工作方式
由光传输特性可知,光强是随着距离的增大而减小的。
这种能量与距离的反比关系是非线性的,因此红外线测距避障的结果一般不是精确值,而仅表征被测障碍物的距离范围。
本小车系统上的红外传感器是高度集成式的器件,内部自带放大电路和比较器,如下图4-2-2所示。
红外线被红外光电管接收后经前置电路转换为电压信号V,电压V放大K倍后(Vin)送入比较器正端,当Vin大于比较器参考电压Vp时,比较器输出Vo为高电平,反之为低电平。
图4-2-2红外传感器内部电压比较测距工作方式
无线遥控模块:
发送与接收信号,直接控制单片机的信号输出。
如下图4-3所示。
这是一个无线发射模块电路原理图,我们能通过手动按右边的4个按钮,给PT2262编码芯片一个信号,然后通过发射遥控天线,使我们的接收模块接收到。
这个电路就相当于一种编码器,它最大有12位三态地址,共有531441种地址代码。
PT2262是一种与PT2272配对的编码器,它也具有12位三态地址,共有531441种地址代码。
只要任意选择其中一种,保证编码一致就可以,因而具有实现很强的抗干扰能力。
PT2262构成的编码发射电路,图中PT2262的VDD是通过按键接通后向芯片供电,这样静态时,PT2262并不耗电,特别适合是电池供电的遥控场合。
图4-3无线发射遥控模块电路原理图
上面提到无线遥控模块,介绍了发射模块的电路原理,有发射就一定要有接收,如下图4-4所示。
这是一个无线接收模块电路原理图,与发射模块一样,接收模块也有一个天线,用来接收信号。
它能将数据和地址编译成代码的波形。
PT2272构成的编码接收电路,为了能正确解调出调制的编码信号,接收端需加一级前置放大级,保证输入PT2272的信号幅度足够大。
PT2272各输出端接主单片机P2端口。
同时PT2272具有锁存功能,即当发射信号消失时,PT2272的数据输出端仍保持原来的状态,直到下次接收到新的信号输人,这一功能使得软件编程控制更加简单可靠。
片机中置了若干软件陷阱,当程序进入陷阱后,让其强制进入一个指定地址执行一段专门对程序出错进行处理的程序。
图4-4无线接收遥控模块电路原理图
电机驱动模块:
利用H桥原理,将单片机输出的信号放大,从而能控制直流电机正反转。
下图4-5是L298N芯片内部原理图,它是由2个H桥电路组成,H桥是控制直流电机的典型电路。
图4-5L298N芯片内部电路原理图
L298N芯片与单片机的连接图如下图4-6所示。
L298N可以通过脉冲调制控制直流电机的速度,这种调速方式有调速特性优良、调整平滑、调速范围广、效率高等优点。
L298N是为控制和驱动电机设计的推挽式功率放大专用集成电路器件。
图4-6L298N芯片与单片机的连接
调试辅助模块:
在控制核心模块(MCU)上,搭接了一个RS232与TTL电平互转的STC专用下载器,可以随时将修正好的程序往单片机里烧写,使得小车调试更加方便。
如下图4-7所示。
此电路图可以实现人机通信,我们把写好的C程序或汇编程序生成.hex后缀的文件,通过以下电路,烧写到单片机芯片中。
这可以让单片机很好地为我们工作。
图4-7RS232与TTL电平相互转换的STC专用下载电路原理图
4.3遥控小车的主要参数
长:
20cm宽:
18cm
高:
14cm重:
0.5Kg
红外传感器检测频率:
5ms检测精度(红外传感器):
0.5cm
4.4遥控小车系统的主要特点
1.采用8位单片机STC12C5A48S2作为MCU,该系统单片机可靠性高,抗干扰能力强,工作频率最高达到48MHz,从而保障了系统的实时性。
2.为了提高系统的可靠性,系统在硬件方面采用了抗干扰技术。
包括:
数字滤波技术,电磁兼容性分析等。
3.系统具有调试辅助模块,可以实时调试程序。
4.系统硬件和软件都采用模块化结构,这样可以按需求方便容易的增加和删减功能。
5.系统的红外感应头反应迅速,能够快速感应到路面前的障碍物,遥控小车行驶过程中不会发生翻车现象。
6.系统的无线发射与接收模块抗干扰能力非常强,编码与解码过程具有唯一性、快速性、稳定性。
7.系统采用7805稳压芯片稳压,能为全局电路提供稳定的电压。
8.合理使用和分配了单片机STC12C5A48S2内部资源,使单片机能工作在一个最优性能指标上。
综上所述,该遥控小车控制系统在理论上和实践上具有一定的创新点。
其功能完善,运行稳定,可靠性高。
我们设计好的小车不仅能让我们娱乐,而且提供强大的辅助功能,让我们能从中学习到不少的知识。
第5章遥控小车的软件设计
5.1接收处理程序的设计
初始化程序:
对转向电机、前后驱动电机上电时设为停止状态,开中断允许等。
主程序:
根据标志位00H的值判断进入自动驾驶或手动控制状态,其程序流程图如图5-1所示。
图5-1控制小汽车接收板主程序流程图
中断接收程序:
对第一位脉冲的宽度进行验证,然后进行计数,根据脉冲的个数进行相应的控制操作,其程序流程图如图5-2所示。
图5-2遥控小汽车中断接收程序流程图
3.3源程序的设计
以下是遥控小车发射及接收完整源程序:
*******************************
**
*遥控编码控制器*
*采用89C2051*
**
*******************************
P1.0口按钮为前进,P1.1口按钮为后退,P1.2口按钮为左转弯,P1.3口按钮
为右转弯,P1.4口按钮为自动驾驶,P3.5口为编码输出
***********************************
**
*主程序和中断程序入口*
**
***********************************
其中源程序如附录2所示。
3.4本章小结
本章主要讲述软件设计思路,概括为遥控小汽车发射程序设计、接收程序设计、源程序设计以及遥控小汽车发射程序流程图、接收程序流程图、中断程序流程图等。
软件程序的设计将进入系统测试部分,以观察测试结果题写测试结论。
第6章总结
从这一学期的开始,我开始了我的毕业设计及论文工作,时至今日,论文基本完成。
从最初的茫然,到慢慢的进入状态,再到对设计思路逐渐的清晰,整个写作过程难以用语言来表达。
遇到困难,我会觉得无从下手,不知从何写起;当困难解决了,我会觉得豁然开朗,思路打开了;当论文经过一次次的修改后,基本成形的时候,我觉得很有成就感。
在搜集资料的过程中,我去学校的图书馆,阅览室,利用空闲时间,上网搜集等各种方式方法,尽量使我的资料完整、精确、数量多,这有利于论文的撰写。
然后,我认真对资料进行分类,理论的、实际的例子、图片等等相关内容整理出来,列出提纲,再与老师进行沟通。
老师对我的所准备的资料基本满意。
于是在老师的指导下,在不断的肯定与否定中,并且结合我实际现有的资料内容,从而完成了我此次的毕业设计。
对在模型车的制作中我们得出了一些经验,总结如下。
1、参数调试很重要。
在某些时候会有一些比较新颖的控制策略,但是应用之后实际的行驶效果并不是很好,此时不能轻易就否定策略不佳,而应该将策略中某些参数,做一些研究进行优化。
2、在用定时器产生PWM方面,我们结合实际情况调整车速,做到遇到障碍物能及时反应回来,使小车能作出避障的动作。
3、但是仍有许多地方需要完善,比如如果使用步进电机代替直流电机,编程会变得相对简单,硬件也会容易搭接实现。
经过了一学期的毕业设计,从硬件的布局,到软件的调试,刻苦钻研、细心分析,终于完成了遥控小车的设计。
致谢
本次课题及论文得以顺利完成,不仅仅是我个人的成果,更是众多人无