沈阳理工毕业设计智能玩具车控制系统的设计与实现王子豪最终版.docx
- 文档编号:11407847
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:60
- 大小:1.39MB
沈阳理工毕业设计智能玩具车控制系统的设计与实现王子豪最终版.docx
《沈阳理工毕业设计智能玩具车控制系统的设计与实现王子豪最终版.docx》由会员分享,可在线阅读,更多相关《沈阳理工毕业设计智能玩具车控制系统的设计与实现王子豪最终版.docx(60页珍藏版)》请在冰豆网上搜索。
沈阳理工毕业设计智能玩具车控制系统的设计与实现王子豪最终版
摘要
智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯及自动控制等技术。
本论文主要通过玩具小车模拟智能无人循迹驾驶汽车,实现其基本功能。
其中,使用嵌入式微处理器和红外传感器加装于玩具小车之上,感应周围环境变化,获取路面信息,处理之后通过无线通信模块与计算机进行实时通信。
本文实现的智能玩具小车,通过对玩具车电子硬件、传感器设计和对嵌入式处理器软件的编程、调试,设计了根据不同路径环境下的循迹控制算法,完成了玩具小车在规定路径上的智能循迹行驶功能。
关键词:
智能循迹小车;嵌入式;传感器;自动控制
Abstract
IntelligentVehicleisacollectionofenvironmentalawareness,planningdecisions,multi-leveldriverassistancefunctionsinanintegratedsystem,whichfocusedontheuseofcomputers,modernsensor,informationfusion,communicationsandautomaticcontroltechnology.Thisthesissimulatedintelligentunmannedvehicles,toachieveitsbasicfunctionalitythroughthetoycar.Amongthem,theuseofembeddedmicroprocessorsandvarioussensorsontheinstallationandtoycartoachieveitsinductionsurroundingschange,accesstoroadinformation,afterprocessing,real-timecommunicationwiththecomputerviathewirelesscommunicationmodule.Implementationofthisintelligenttoycar,toycarsbyelectronichardwareandsensordesignmodificationsandprogrammingsoftwareforembeddedprocessors,debugging,designcontrolalgorithmsbasedontrackingdifferentpathsenvironments,finishedtoycaronapredeterminedpathintelligenttrackingtravelfunctions.
Keyword:
IntelligentTrackingVehicle;EmbeddedMicroprocessors;Sensors;AutomaticControll
1引言
1.1研究背景和意义
智能控制技术指在无人(或少量)干预的情况下能自主地驱动智能机器实现控制目标的自动控制技术。
智能汽车是当今车辆工程领域研究的前沿,20世纪80年代以来,随着计算机技术、信息技术、通信和网络技术的快速发展以及其他学科的相互发展和渗透,使得控制科学与工程研究的研究不断深入,控制系统向智能化的发展已成为一种趋势。
在此基础上,智能控制的车辆也越来越受到工业、交通、国防、能源等领域的青睐,得到了蓬勃发展。
智能车辆在普通车辆的基础上增加了先进的传感器、控制器、执行器和无线通信等装置,通过车载传感系统和信息终端,实现与人、车、路等的智能信息交换,使车辆能够智能的感知周围环境,自动分析车辆行驶的安全及危险状态,并使车辆按照人的意愿到达目的地,最终实现替代人来操作的目的。
目前对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面[1]。
近年来,随着移动互联网技术的快速发展,智能车辆与下一代移动通信技术和云计算相结合,己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到重点发展的智能交通系统当中[2]。
汽车产业,作为一个有着一百多年历史的传统产业,在新的环境下,必然需要不断的自我革新,紧跟时代潮流。
智能汽车正式两种产业的有机结合,必然会的到蓬勃的发展。
随着人民生活水平不断的提高,消费力的提升,智能汽车的产业前途不可限量。
1.2研究内容
本文主要通过对玩具小车的控制系统设计研究,以达到模拟智能汽车的目的。
目前国际上发展智能汽车设计思路都是一致的,即在成熟可靠的传统汽车平台上,改装其控制系统,加装传感器和智能模块。
智能汽车是一个综合的浩大的工程,包括传感器的应用、电动机的应用、电路设计、自动控制原理、系统调试、机械结构设计等。
因此本文研究的智能玩具车忽略其机械、电气性能,着重于自动控制硬件系统和软件算法的研究。
2设计方案
2.1硬件设计方案
在智能玩具小车的整体设计中硬件的设计至关重要。
良好的硬件设计是智能玩具车稳定运行的基本保证。
智能玩具车的硬件模块大体可以分为三部分,即传感器电路、驱动电路和辅助电路。
另外,在硬件设计过程中也有很多需要考虑的因素,如强弱电的分离,模拟、数字信号的隔离,布线的合理性等。
2.1.1主控芯片
智能玩具车中的主控芯片是该系统的核心,它负责整个系统的信息获取、处理和控制。
方案一:
采用目前广泛运用,成本低廉的51系列单片机作为主控芯片。
51系列单片机作为一种经典的单片机品种,技术成熟且技术资料丰富,开发周期短,特别适合低端智能玩具上使用。
但是,目前看来,51平台已经过于老旧了,硬件性能也开始捉襟见肘,软件开发局限性较大,不利于后续产品升级。
并且,片上系统集成度较低,实际运用需要大量的外围电路,不利于系统的小型化和稳定性。
方案二:
采用ARMCortexM系列核心的嵌入式处理器。
CortexM系列是ARM专为工业控制、智能电器等领域特别推出的嵌入式核心,继承了ARM芯片一贯的优点,具有高性能,低功耗的优点,系统集成度高。
并且,由于ARM的开放授权,大量芯片厂商陆续跟进,使得该系列芯片成本大大降低,目前价格已经能做到和传统单片机一样的量级。
2.1.2电源电路
电源电路的好坏关乎着整个系统的安全性、稳定性,是整个系统最基础的一环。
目前广泛运用的主要是线性电源和开关电源。
方案一:
线性稳压电源。
线性稳压电源是一种工作在线性状态下的直流稳压电源,是经典的、较早使用的电源电路。
线性稳压直流电源的优点是反应速度最快、输出纹波小,工作噪声低;然而,它的的缺点是在大功率条件下电源效率较低、发热量大。
方案二:
开关稳压电源。
开关电源是现代电力电子技术发展而成的新型电源,通过控制开关管开关断的时间占比,来持续输出稳定电压。
开关电源一般由脉冲宽度调制(PWM)控制芯片和功率场效应管(MOSFET)构成。
开关电源的优点是:
功耗小、效率高;稳压范围宽;效率高,滤波电容的容量和体积少;电路形式多样灵活。
开关稳压电源的缺点是存在较为严重的开关干扰。
开关稳压电源工作中会产生高频交流电压和电流,导致尖峰干扰和庇振干扰,如果不采取一定的措施进行抑制和屏蔽,就会严重地影响电源的安全有效输出[3]。
2.1.3电机和驱动模块
方案一:
采用电阻网络和数字继电器构成驱动电路,通过改变继电器的开关状态,从而达到分压的目的。
但该方案的缺点就是继电器的工作频率有限,无法实现高频PWM调节。
还有一个问题在于电动机工作电流很大,这种方案效率较低,工作损耗大,而且使用寿命不高。
方案二:
采用功率三极管或MOSFET构成H桥驱动电路。
该驱动的电路结构方案成熟、原理简单,载电流能力强。
用由MOSFET管组成的H型桥式电路,用单片机或可编程芯片输出占空比可调的脉冲控制信号,即可以精确调整电动机转速。
由于电路工作在管子的饱和截止状态,因此效率高。
采用H型桥式电路可以实现转速和方向的控制,电子管的开关速度快、稳定性强,因此是一种广泛采用的电机调速技术。
可以选用大量成熟方案的H桥驱动模块。
2.1.4循迹电路
方案一:
采用发光二极管(LED)或着卤素灯等其他外部光源,用光敏二极管或颜色传感器接收发射的光线信息。
然而光敏二极管精度不够,受外界光的干扰影响较大,线性程度不好。
而颜色传感器虽然能够检测出颜色信息,但是由于外界环境和光线强弱的变化,极易出现传感器判断失误的现象。
另外,该方案集成度较低,体积比较大,不适合智能小车的安装使用。
方案二:
利用红外对管传感器作为寻迹方案,红外光电对管集成了红外发射管和接收管,因为传感器发射出的是红外光,所以接收信号对外界可见光的影响较小,并且光电对管输出对信号可以通过电平转换电路变成数字信号输出,可靠性高,适合单片机的接收控制。
若在小车底部安装该光电传感器,当底部的遇到黑色路径时,传感器输出高电平,遇到白色地面时,输出低电平。
通过单片机I/O接口接收信息,程序控制小车改变方向。
2.1.5最终方案选择
综合以上各个方案的优缺点和本论文设计的智能玩具小车的实际要求,现将最终决定的设计方案列出:
1、硬件方案:
(1)主控芯片采用ARMCortex-M3内核的STM32F103嵌入式处理器;
(2)电源方案采用线性稳压模块与DC-DC开关稳压模块相结合。
(3)电机和驱动模块采用集成MOS管电机驱动,小车转向采用舵机控制;
(4)循迹电路传感器采用集成式光电传感器,小车行驶时记录编码器的输出脉冲;
2、软件方案:
(1)开发软件采用MDK-ARMV5.1集成开发环境
(2)调试软件采用串口调试助手软件和J-LINK仿真软件。
2.2总体设计框图
经过上诉方案论证的过程之后,其系统总方框图如图2.1所示。
图2.1系统组成框图
主控芯片接收传感器输入的信号,其中红外传感器阵列用来检测线路,编码器用来检测电机运动路程信息;接收到的传感器信息由MCU处理,输出控制信号,控制舵机和电机进行相应的动作。
另外处理器还通过I/O口控制直流电机、舵机、无线通信和LCD的显示。
在功能和作用上,系统成了分成了三个主要部分,即信息获取与处理部分、动作控制部分和信息交互部分:
(1)信息获取和处理部分包括两种传感器:
光电传感器阵列和编码器,以及担任信息处理作用的STM32F103主控芯片。
这个部分主要对传感器获得的赛道信息采集处理,为下一步动作控制部分的基础。
(2)动作控制部分包括舵机控制与电机驱动。
这个部分是该智能小车系统的执行部门,它将上一部分处理的电信号转换为实际的速度、角度等物理量。
(3)信息交互部分包括LCD显示模块和无线通信模块。
这个部分主要作用是系统的测试和参数调整,能够直观快速的显示系统的各项状态。
3硬件设计
3.1主控电路设计
主控电路是智能小车系统各功能模块的控制中心,它负责信息的获取、处理和执行。
主控电路硬件系统包括MCU芯片及外围接口电路、电源电路和对应的程序下载与ISP通信接口电路。
3.1.1芯片硬件结构
本设计使用的
MCU是ST公司推出的STM32系列32位微控制器,如图3.1所示为STM32F103芯片及引脚图,该芯片的各项硬件参数性能如下:
图3.1STM32F103芯片及引脚图
1、内核
32位Cortex-M3内核,最高72MHz工作频率,支持单周期乘法和硬件除法。
2、存储器
512K字节ROM,64K字节SRAM;
3、外设
(1)2个12位模数转换器,1个温度传感器,2个DMA控制器;
(2)64个通用快速I/O端口;
(3)1个串行单线调试和JTAG接口;
(4)6个通用定时器和2个高级定时器;
4、通信接口
(1)2个I2C总线接口;
(2)3个USART通信接口;
(3)2个SPI总线接口;
(4)2个CAN总线接口;
(5)1个USB2.0全速接口。
3.1.2供电电路设计
由于智能玩具车各模块对电源的需求不同,故不能直接使用单一的电源。
表3.1给出了智能玩具车常用模块的供电需求情况。
表3.1智能车常用模块的电压需求情况
模块名称
需求电压
典型单元
单片机供电
舵机供电
编码器供电
I/O外设
光电传感器
常用IC芯片
3.3V
5~6V
5V
5V/3.3V
5V
5V/3.3V
STM32F103VBT6
FUTABAS3003
欧姆龙E6A2-CW3C
Nokia5110LCD
BFD-1000
缓冲IC供电根据需求而定
其中,除了舵机电压可以提升至6V外,大多数供电电压需求为5V或3.3V,而电池电压为12V。
由于STM32的功耗很小,所以不需要大电流稳压,但主控芯片需要一个稳定的电压保持平稳工作,所以供电设计为独立供电,避免与其他负载并联导致负载变化时影响芯片供电引起问题。
在芯片供电中,使用三端固定式集成稳压器AMS1117-3.3来提供降压稳压供电,图3.2为AMS117-3.3的实物图。
图3.2AMS117-3.3芯片图图3.3AMS117-3.3基本应用电路图
如图3.3所示为AMS1117-3.3的基本应用电路,只要把正输入电压加到集成稳压器输入端输入端,公共端接地,其输出端则可以输出3.3V正电压。
实际电路中,芯片输入端和输出端与地接大容量滤波电容外,还需要接小容量电容(0.1~10μF),用于抑制芯片自激振荡,压窄高频带宽,减小高频噪声。
图3.4所示的为最终制成的最小系统电路板。
图3.4最小应用系统实物图
3.3电机驱动模块设计
在智能玩具车运行过程中,电动机的速度是根据传感器的反馈随时调整的。
想实现电动机调速,并不能像普通玩具车一样用恒定电压对电动机进行供电。
电动机的控制是通过脉宽调制(PWM)实现的。
单片机芯片在接收并处理完成传感器传回的道路信息后得出预期速度,通过脉宽调制信号来控制电动机的转速。
然而单片机芯片的输出能力非常弱,不可能直接控制电动机转动,所以需要一个专门的电动机驱动模块来驱动电机。
3.3.1驱动电路原理
图3.5所示的是一个典型直流驱动调速电路。
图3.5简单直流电机调速驱动电路
其中VT为功率MOS管,电流大小由电机功率决定。
PWM信号的占空比决定电动机的转速,故电动机的转速可以通过调节PWM占空比来实现。
使用此方案可以实现电动机的单向调速,若想实现双向控制,就要使用H桥来控制电机正反转动。
图3.6H桥原理电路
如图3.6所示为最基本的H桥原理电路图,H桥电机驱动电路是用4个功率开关管(三极管或MOSFET)俩俩级联,电机两端分别接上下两个开关管。
导通对角线上的一对管子就能使电机运转,而每一侧的开关管不允许同时导通。
根据个管不同的导通情况,电流可能会从左到右或从右到左流过电机,从而控制电机的不同方向。
固定任意一侧开关管的状态,在另一侧接上PWM控制信号,即可实现电机正反方向的调速。
3.3.2电机驱动模块
在智能车的设计过程中,广泛采用的驱动方式是使用集成MOSFET全桥驱动芯片。
相对于采用分立元件搭建电路,集成模块价格便宜,操作简单,稳定性高,因此本设计采用了2403ND直流电机驱动模块。
该直流电机驱动模块功能特点如下:
(1)尺寸设计尽量小,易于模块的放置与安装;
(2)支持电机电压宽泛,7-24V均可以使用,加防反接功能;
(3)双路电机接口,每路最大负载电流3A,每路有独立的3A过流保护;
(4)与L298N驱动芯片控制信号同逻辑,每路都支持控制使能、正反转及制动;
(5)使能信号可外接PWM,正反转控制信号可串联限位开关;
(6)控制信号使用灌电流驱动方式,支持绝大多数单片机直接驱动;
(7)使用光耦对全部控制信号进行隔离。
如图3.7所示为2403ND直流电机驱动模块的实物图。
图3.72403ND直流电机驱动模块实物图
3.3.3接口定义
在2403ND驱动模块的接口定义中,+5V和GND为控制信号电源,如果控制信号为3.3V,那么+5V接3.3V;ENA、ENB分别为电机接口1和电机接口2的使能信号,可以外接PWM;IN1~IN4为两路电机正反转、制动(或称刹车)控制信号。
控制逻辑如表1.2和表1.3所示。
其中0为低电平、1为高平、×为任意电平,悬空时为高电平,如表3.1所示。
表3.1电机接口控制信号逻辑
IN1
IN2
ENA
输出状态
×
×
0
无输出,OUT1、OUT2悬空
0
0
1
刹车,VOUT1=VOUT2=VGND
0
1
1
正转,VOUT1-VOUT2=电源电压
1
0
1
反转,VOUT2-VOUT1=电源电压
1
1
1
刹车,VOUT1=VOUT2=电源电压*
*注:
未连接控制信号时的默认状态
3.4舵机驱动设计
智能玩具车的转向系统需要舵机(Servo)来控制,如图3.9所示,舵机是由直流电机、减速齿轮组、传感器和控制电路构成,是一套典型的伺服控制系统。
舵机通过接收的发送信号,输出指定的轴旋转角度。
舵机与普通直流电机的区别在于直流电机是连续转动的,而舵机只能在一定角度内转动。
舵机可以反馈转动的角度信息,而普通直流电机不能做到。
因此普通直流电机一般是整圈转动做动力输出,而舵机主要用于控制某物体转动一定角度控制(例如机器人的关节驱动)。
图3.8舵机实物图图3.9舵机的伺服系统
舵机的伺服系统由可变宽度的脉冲来进行控制,其波形类似与驱动电机的PWM波形。
控制线是用来传送脉冲的。
脉冲有最小值,最大值,和频率三个参数。
一般而言,舵机的基准信号都是周期为20ms,最小宽度为1ms,最大宽度为2ms。
中间脉冲的宽度为1.5ms,这个基准信号定义的位置为中间位置,如图3.10所示。
图3.10舵机转动角度与接收脉冲的关系
3.5测速模块设计
在智能玩具车设计中,速度反馈是一个重要环节,良好的速度反馈是智能汽车在告诉运行过程中精确的调节速度的前提。
速度反馈值可以通过PID算法(详见软件设计部分)更加迅速的调整小车的加速与减速。
本文主要通过光电脉冲测速传感器来测量小车的速度。
光电式脉冲传感器可以将机械唯一、转角或速度变化转换成点脉冲输出。
光电编码器的最大特点就是传感器检测非接触,不收机械运动的抖动误差影响,因此它的响应快、精度高、可靠性高。
图3.11光电脉冲测速原理示意图
光电编码器采用光电接收技术,将转角和位移转换为不同角度极性的数字脉冲,如图3.11所示的是为光电脉冲测速原理示意图,在发光元件和光电接收元件中间有一个扇形的码盘,码盘上均匀的刻有透明光栅,转动码盘形成光脉冲,产生对应的电信号。
市售的集成封装的编码器精度高,测速准确,码盘和电路都封装在编码器内,极大降低了损坏的概率。
现在常用的编码器为欧姆龙公司生产的100线、200线或500线编
码器,这里采用的是欧姆龙EA62-CW3C型100线编码器,图3.12是该编码器的实物图。
具有双向测速功能,可直接输出方波,通过两路方波的相位差来识别转动方向。
供电电压为5~12V,完全兼容智能玩具车的供电需求。
图3.12编码器实物图
3.6循迹电路设计
目前在路径检测上广泛采用的是红外对管检测,电路基本原理图如图3.13所示。
图3.13光电对管检测电路原理图
小车循迹原理是当小车在画有黑线的白色路面上行驶时,由于黑线和白色地板对红外光线的反射系数不同,因此可根据传感器接收到的反射光的强弱来判断黑线。
红外对管装有一对红外发射管和红外接收管,红外光在不同颜色的表面具有不同的反射性质。
红外发射管向地面发射红外光,遇到白色地面时发生漫发射,红外接收管接收到了发射光,输出较低的电压;当遇到黑线时,则红外光被吸收,红外接收管接收不到信号,则输出高电压。
高低电压的模拟的电信号通过电平比较器转换为数字信号。
因此遇到黑线时输出高电平,白色输出低电平,从而实现了黑白路径的检测。
本文设计了一款专门用作黑、白线检测的传感器,特别适合复杂黑白线、交叉黑白线的检测,它使用5路巡线、1路避障共6路的高灵敏度的红外传感器,能够对黑白线进行准确的识别。
该传感器模块的电路设计如图3.14所示。
图3.14传感器模块电路设计图
该电路设计具有如下功能和特点:
(1)集成5路循迹传感器,适合复杂黑线、白线的跟踪;
(2)有一路蔽障用的红外传感器,蔽障距离可以通过滑动变阻器调节;
(3)有一个专门设计的触碰传感器,使得智能小车能够规避前方障碍;
(4)输出信号全部都为数字信号,方便与单片机相连;
(5)全部传感器都有LED灯作为指示,方便调试
(6)支持电压为3.0-5.5V满足系统需求。
最终经过PCB设计制做的模块实物如图3.15所示。
图3.15循迹模块实物图
3.7辅助及调试电路设计
在智能玩具车基本硬件模块组装完成之后还需要花费大量的时间进行调试,在调试过程中需要一些辅助的调试设备。
3.7.1液晶显示器
液晶显示是智能车对外界反馈信息最好的方式,快捷且直观,可以将液晶显示模块与单片机进行连接,将要监视的数据发送到液晶显示模块上,从而可以脱离在线仿真监视变量的变化。
这里选用的Nokia5110液晶模块,图3.16为该液晶模块的实物图。
该款液晶显示器自身重量轻,占用面积小且显示区域大,编程自由。
显示器的数据为串行输入,节省单片机I/O口资源。
图3.16Nokia5110液晶显示模块实物图
3.7.2无线通信
使用串口通信可以将智能车采集到的数据发送给计算机进行处理,然而其弊端在于线缆的限制。
由于通信过程中必须使用线缆进行连接,因此无法采集到智能汽车运行过程中的数据。
为了摆脱线缆的束缚,可以采用无线通信方式。
图3.17NRF24L01模块实物图
常用的无线通信模块为NRF24L01,图3.17为该模块的实物图。
该模块使用SPI协议与单片机通信。
使用NRF24L01模块进行通信需要在智能车上加装一个模块,接收端需要一款单片机提供SPI协议驱动NRF24L01模块接收数据,并且通过串口方式发送给计算机。
该无线通信模块与MCU的接口应用电路设计如图3.18所示。
图3.18无线模块与单片机接口应用电路
4软件设计
软件部分为整个智能玩具车运行的核心,完成了硬件和机械部分,软件算法的完善程度决定了小车运行的最终效果。
本章阐述了智能车软件部分的原理和算法设计思路,最后在附录中给出了各模块的代码。
4.1主程序
智能玩具车的主程序流程可以用图4.1来表示。
整体的控制使用5ms定时器中断,所有的控制环节都在中断服务子程序中运行。
图4.1主程序流程图
以下是主程序的基本框架:
intmain(void)
{
软硬件初始化();
for(;;){
读取光电传感器的数值();
液晶显示读取的数值();
根据需要延时();
}
}
定义的中断服务子程序如下:
voidEXTI2_IRQHandler(void)
{
转向控制();
速度控制();
}
下面列出的是整个程序的宏定义以及全局变量定义:
#defineCLPPORTA.4//定义的是触碰开关端口CLP
#defineNearPORTA.5//定义的是接近传感器端口Near
#defineSS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 沈阳 理工 毕业设计 智能 玩具车 控制系统 设计 实现 王子 最终版