餐厅智能助餐机器人_第1页
餐厅智能助餐机器人_第2页
餐厅智能助餐机器人_第3页
餐厅智能助餐机器人_第4页
餐厅智能助餐机器人_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装订线长 春 大 学 毕业设计(论文)纸第1章 绪论1.1课题的研究背景及意义伴随城市人口的激增,生活节奏的加快和生活质量的提高,以及人们可支配收入的增加和消费理念的转变,人们餐饮消费的实力以及餐饮需求逐年快速增长。早餐、午餐甚至晚餐,更多的人都愿远离厨房在外就餐,这些因素极大地刺激了快餐、工作餐、晚宴、休闲聚会等餐饮形式的发展。餐饮业成为扩大内需、增加就业的重要行业,为国民经济的发展做出了积极贡献。我国现有各类餐馆近400多万家,年营业额超过15000 亿元人民币,并保持着15%-17%的年增长率。然而由于高昂的人工成本,加上餐饮市场竞争激烈,没有特色没有品牌的经营往往濒临倒闭,整个餐饮市场可以说是盈亏参半。据国内贸易部服务消费司统计,餐饮行业盈利的只有40%,保本或微利的占30%,剩下的30%就面临亏损。因此减小餐厅的运营成本迫在眉睫。目前餐厅一名服务员的月薪在4000上下,一年的成本就需要5万左右。加上服务员行业的员工目前的年龄层是二十至三十岁上下的年轻人为主,这部分年轻人往往工作不稳定,换工作的频率非常之高,这些因素就会给餐厅的营业带来许多不必要的麻烦与成本损失。餐厅智能助餐机器人可以有效的解决这些问题。送餐机器人依照设计好的程序运行,不会劳累,而且还不会产生情绪,能在避免应服务态度引起的不必要纠纷。它能吸引顾客的好奇心和眼球,提高餐厅客流量,助餐机器人成为餐厅的一种风景,让人们怀着好奇心饶有兴趣地边就餐边欣赏,给消费者营造一个新鲜的就餐环境。助餐机器人只需要初期的购买投入和平时的运维成本,因此餐厅智能助餐机器人可以降低餐厅营业高昂的人工成本。从而提升餐厅的竞争力。以往机器人往往指的是工业机器人,它们应用于传统工业领域,如汽车行业,冶金行业。服务型机器人的研发之前主要集中在在各个研究机构或者是高校实验室内,如今因为各项技术的成熟和它广阔的发展前景,服务型机器人逐渐从研究所和高校走出,并且越来越受到企业和商业界的注意。如在发达国家已经开发出一些商业化的服务机器人产品。餐厅智能助餐机器人属于智能化服务机器人的一个分支,对它的研发具有广阔的市场前景和重要的研究意义,并且符合当今人们对生活智能化的要求。1.2 国内外研究现状在国内外早期的机器人的研究和发展主要集中在以工业型机器,而在现代则以服务型机器人为主。在以往服务型机器人的研发主要集中在在各个研究机构或者是高校实验室里,如今因为各项技术的成熟和它广阔的发展前景,服务型机器人逐渐从研究所和高校走出,并且越来越受到企业和商业界的注意。服务机器人技术主要基于计算机技术和控制原理以及环境感知技术。这使得机器人能够检测外部环境根据算法来规划和执行相应任务。这些技术主要包括: (1) 传感器和信号处理技术。用于感知外部环境,输出信号,并对信号进行提取、变换、分析、综合等处理。 (2) 自动控制技术。通过外加的设备或装置使机器某个工作状态或参数自动地按照预定的规律运行。 (3) 仿真模拟技术。模拟将利用实时数据,在虚拟模型中反映真实世界,使得研究人员可以在虚拟建模中进行测试和优化。 (4) 物联网技术。随着物联网产业的发展,更多的设备和机器将使用标准技术连接,可以进行现场通信,提供实时响应。 (5) 人机交互技术。服务机器人的面向对象是人,包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及命令等。餐厅机器人是一种广为大众熟知的服务型机器人。按使用场地来划分,餐厅机器人又可以分为厨房机器人和餐厅服务机器人。本论文主要讨论的是餐厅服务机器人。目前 ,国外在服务机器人方面,已经开发出一些商业化产品,如游泳池清洗机器人、机器人吸尘器、机器人锄草机等等。在餐厅服务机器人方面新加坡Infinium Robotics所开发出一款飞行送餐机器人。这款机器人以无人机为原型,能实现在空中投递食物。但是由于成本相对较高,并且需要人工维护控制,因此这种飞盘送餐机器人的定位为高端餐厅。我国在服务机器人领域的研发与发达国家相比起步较晚。近年来在国家863计划的支持下,我国在服务机器人研究和产品研发方面已开展了大量工作,并取得了一定的成绩。目前国内做餐厅机器人的知名企业有十几家,具有代表性的企业有上海惊鸿、深圳欧凯、沈阳新松等。江苏省无线传感系统应用工程技术开发中心的顾菊芬和李泓研发的智能餐厅助手服务机器人基于Zynq7020的双核异构混合系统“Linux操作系统+裸机应用系统”构建而成,双核系统优势互补、性能稳定。广州博斯特智能科技有限公司2015年设计的咖啡厅送餐机器人。能够在餐厅里面为客人点餐,送餐。它具有红外避障、语音交互等功能,能出色地完成咖啡厅的点餐和送餐工作。1.3论文主要研究内容论文的主要研究内容为餐厅智能助餐机器人,餐厅智能助餐机器人属于智能化服务机器人的一个分支。设计的助餐机器人应用于餐厅场景,可循迹驶向指定餐桌,并搭载点餐触摸屏。实现餐厅智能点餐和送餐。需完成的基本工作如下:1、 提出系统的总体设计方案;2、 根据理论分析,给出系统工作的基本原理和组成;3、 设计系统的软件,包括单片机的C程序和屏幕界面的设计;4、 设计系统的硬件,包括主控芯片的最小系统、外围电路、驱动控制电路和传感器电路。本设计在理论分析的基础上,根据总体方案确定系统的组成。对系统的每一个模块进行元件的选型和电路设计,在完成硬件电路设计和机械结构的搭建后,进行程序流程的规划,完成程序流程图,然后进行单片机软件和触摸屏的操作界面的编写,最终完成本设计。设计的助餐机器人实现功能如下:1、智能点餐,厅智能助餐机器人上的触屏显示菜单并支持客人点菜操作; 2、智能送餐,将菜品从厨房送到顾客餐桌并返回;3、巡航线上有人员时通过语音请求提醒对方让道;4、路径识别,根据地板上的巡航线自动行驶到指定餐桌。1.4论文结构安排本论文由6章节构成,从整体到局部分析和论述了餐厅智能助餐机器人的系统设计方案和系统各个组成模块的原理,从而详细介绍本论文的研究内容。每个章节具体内容安排如下:第1章:绪论。介绍了餐厅智能助餐机器人的研究背景及意义和国内外发展现状,概述了系统的研究内容与实现的功能以及论文结构安排。第2章:系统整体设计方案。介绍对餐厅智能助餐机器人系统的相关理论基础及原理进行介绍。首先论述餐厅智能助餐机器人的基本原理及系统框图,接着介绍了餐厅智能助餐机器人的主要组成部分及各部分芯片或相应模块的分析和选取,从而实现系统各项功能。第3章:系统硬件设计。设计硬件电路设分别阐述了系统各个模块的工作原理,包括主控模块、系统电源电路模块、电机驱动模块、红外循迹电路、显示屏电路和语音电路。第4章:系统软件设计。主要分为两部分:触摸屏的操作界面和单片机程序。触摸屏的操作界面部分介绍了界面设计软件DGUS ToolV5.04,界面设计软件的使用方法和点餐界面、送餐界面设计以及单片机和屏幕的通信协议。单片机程序部分,先进行程序流程的规划,完成程序流程图,然后介绍了各个子程序的编写,最终完成软件整体的设计。 第5章:系统性能测试。对本设计的成品进行各项功能的测试,对测试的数据进行记录和分析。检验实物的完成程度和可靠性,是否达到的设计要求。第6章:总结。对论文的总结和论文设计期间的感悟。第2章 系统总体设计方案2.1总体设计方案智能助餐机器人系统由控制系统、信息采集系统、点餐送餐系统、驱动系统、语音系统五部分构成。控制系统使用飞思卡尔公司的KL26Z256ZLL4芯片作为核心控制芯片,它接收系统各个传感器的实时信息进行数据处理,并进行相应控制。信息采集系统主要使用了红外传感器,HC-SR04超声波传感器,和干簧管来采集道路信息。点餐送餐系统采用触摸串口屏,选择的型号为迪文科技有限公司的DWT48270M50-06WT。用户可以在串口触摸屏上选择座位号,和点菜等交互。智能助餐机器人由信息采集系统检测道路信息,经过核心控制芯片数据处理,通过驱动系统控制电机差速实现机器人循迹行驶。语音模块特定场景下在控制芯片控制下播放语音如:在点餐机器人提醒用户点餐,用餐时提醒用户用餐,在行驶的过程中检测到障碍后机器人会停下并通过语音模块提醒让路。系统的结构框图如下图2.1所示。电机驱动 转向控制道路节点搜寻红外路线循迹超声波障碍检测ISD1820语音模块道路信息采集系统 驱动系统语音系统KL26点餐送餐系统串口触摸屏串口通信图2.1 智能助餐机器人总体结构图2.2 系统主要模块的选择要实现系统的某一项功能,市场上往往有较多的芯片或模块可供选择使用,合理的选择会达到事半功倍的效果,因此在设计时需要根据系统需求和相关的芯片手册选择合适的芯片和模块。2.2.1 控制模块的选择嵌入式微控制器又称为单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据特定的应用,在芯片内部集成了ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能部件和外设。本设计采用飞思卡尔公司的KL26Z256ZLL4作为核心控制芯片,这款芯片属于该公司的Kinetis系列产品,具有出色的低功耗表现、内存扩展特性和功能集成。所有的Kinetis MCU都受到大量由飞思卡尔和第三方软硬件系统的全面支持,从而可以降低开发成本,缩短产品开发时间。这款芯片的特性如下:1、内核和框架:基于ARM的Cortex-M内核的32位MCU内核,1.77MHz单周期访问内存,48MHz CPU频率。相对8位和16位微控制器,减少了闪存、系统消耗和耗电量,使代码密度更为精简。优化内存访问:访问可选周期,以降低耗电量。更精简的指令系统:56种指令、17个寄存器能够实现轻松编程,而且能够有效处理内存中8/16/32位数据。多达4通道DMA服务,可用于外设和内存服务并减少CPU 干预。2、超低功耗:灵活多样的低功耗模式,包括新的门控时钟,该模式在要求最低功耗时通过关闭总线、系统时钟减少动态功耗 在未唤醒内核下,UART、SPI、I2C、ADC、DAC、TPM、LPT和DMA支持低功耗模式。3、内存:高达256KB闪存;高达32KB SRAM。4、混合信号模拟:快速、高精度的16/12位模数转换器、12位数模转换器和高速比较器。提供强大信号调节、转换和分析性能的同时降低了系统成本。5、人机接口:可选的电容式触摸传感接口工作于所有低功耗模式下。 6、 通信:所有UART支持DAM传输,总线检测到数据也能触发传输, UART0支持4-32倍的采样速率。在STOP/VLPS模式,也能运行异步传输和接收操作。最大支持两路SPI,最大支持两路I2C。USB支持片上调节3.3V 到5V。 7、可靠性和安全性:内部看门狗监控。8、 定时控制器:强大的定时模块支持通用PWM电机控制功能可用于RTOS任务调度时基、ADC转换或定时的周期中断定时器。9、系统特性:GPIO支持引脚中断宽泛的工作电压:1.71V3.6V,Flash编程电压、模拟外设电压低至1.71V。运行温度范围:40105。由此可见KL26Z256ZLL4具有优异和稳定的性能,能较好满足本次设计开发的需求。因此,本设计采用KL26Z256ZLL4芯片作为核心控制芯片。2.2.2稳压芯片的选择在系统运行时,不同的模块和芯片的工作所需的电压不同,同时系统的输入电压、电路参数、环境温度、负载等外界因素也在发生变化时,为了能给系统提供恒定、满足不同模块所需的的输出电压,使用稳压芯片设计一个稳压电路是很有必要的。在本次设计中,根据各个模块芯片的工作电压范围,我们选取5V作为系统的供电电压,由于该压力变送器采用的是电池供电的方式,我们需要将8V的电池电压输入变成5V的稳定输出电压。常用的5V直流稳压芯片有LM29405.0和7805,LM2940比7805的转换效率高,7805直接输入不接输出的情况下其内部还会有3mA的电流消耗(静态电流)。而LM2940的静态电流就比它远远小得多了。LM2940是输出电压固定的低压差三端稳压器;输出电压5V;输出电流1A;输出电流1A时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40+125;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。2.2.3显示器的选择显示器属于本系统的I/O设备,即输入输出设备。在本系统中用户在串口触摸屏上选择座位号、点菜以及显示数据等交互。是系统功能实现的重要的一个环节。常用的嵌入式显示器有小型的液晶显示器(Liquid Crystal Display, LCD)、专业的工业嵌入式显示器及电容触摸串口屏。小型的LCD如1602和12864在一些较为初级和简单的系统中使用较多。各种型号的LCD通常以显示的行数或液晶点阵的行、列来命名。比如:1602的意思是每行可以显示16个字符,一共可以显示两行。此类液晶显示器体积小、功耗低、显示操作简单,但缺点也很明显:屏幕小,能显示的内容较少;只能显示ASCII码字符,即数字、大小写字母、各种符号等;使用的温度范围较窄。工业嵌入式显示器具有防尘、耐高低温、抗干扰能力强等优点,但由于价格昂贵也不适用于本设计。电容触摸串口屏具有可靠、稳定、功能性强、易用性良好等多个优点,价格适中。适用于一些中、小型工业自动化项目的应用。如本次设计采用的迪文科技有限公司的DWT48270M50-06WT型显示屏,该串口屏开发体系的优势列举如下:1.迪文串口屏把 GUI(用户图形界面)的每一个页面分解成多个控件,用户需要实现某个功能只需要利用PC 端的开发软件在相应的页面上添加功能控件即可实现。2. DGUS 有多种控件可供用户选择,能够实现丰富的功能(如显示数据、触控输入、播放声音等)。3. 具有 56K 的 RAM 变量空间,8通道曲线趋势图存储器,极快(最快 80ms)的变量显示响应速度。4. 具有256字节的配置寄存器控件,并支持串口指令的读写,易于进行硬件控制与操作。7. 集成了RTC(公历/农历),集成了背光亮度的调节以及触控蜂鸣器伴音功能。8. 提供了可靠的硬件平台(基于迪文ASIC的HMI 平台架构,已经历了将近10年的工业应用考验),运行也极为稳定可靠。2.2.4距离传感器的选择机器人在固定路线上循迹行驶时,需要实时监测前方是否有障碍物,若有障碍则要停下并语音提示,以免撞上行人或物体,因此选择一款测量精确、实时性强的距离传感器非常关键。距离传感器属于非接触式传感器,距离传感器种类繁多,在机器人智能化领域运用的较多的是超声波传感器和红外传感器。红外传感器基于三角测量原理:红外发射器按照一定角度发射红外光束,当遇到物体后,光束会反射回来,反射回来的红外光线被CCD检测器检测到以后,可以得到一个偏移值,已知发射角、偏移值以及滤镜焦距,利用三角几何关系就可以求出传感器到物体的距离。市面上此类传感器比较成熟的是SHARP公司的GP2Y0A02YK0F型红外测距传感器,反应速度快。但红外传感器缺点在于:检测的最小距离太大,而且得到的数据非线性,在实际检测的时候需要通过软件进行修正。超声波传感器利用声波在同一介质中的传播速度为一常数,即声源与目标之间的距离与声波在声源和目标之间往返传播所需的时间成正比。利用这一特点,通过测量声波往返传播时间就能间接求得距离。超声波距离传感器测量距离普遍比红外的远,最近测量距离较小,较为符合本次设计要求。因此本设计采用HC-SR04型超声波距离传感器作为系统的距离传感器。 2.2.5语音模块的选择在本系统中控制芯片通过控制语音模块在特定场景下播放特定语音,来实现和客户的简单交互。如点餐机器人执行点餐任务,到达指定餐桌后提醒用户进行点餐操作;执行送餐任务,到达指定餐桌后提醒用户用餐;在行驶的过程中检测到障碍时,机器人会停下并通过语音模块提醒让路。系统采用的语音芯片为美国ISD公司于2001年推出一种单片820秒单段语音录放电路 ISD1810,它的基本结构与ISD1110、1420完全相同,采用 CMOS 技术,内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动及 FLASH 阵列。该芯片的主要特性有:使用方便袋8至20秒语音录放;高质量自然的语音还原技术;边沿/电平触发放音;自动节电,维持电流0.5uA;不耗电保存100年;外接电阻调整录音时间;内置喇叭驱动放大电路;10000次录音周期;35V单电源工作;借助专用设备可以批量拷贝。电源电压 3-5V, 在录放模式下,按住REC录音按键不放即录音,RECLED 灯会亮起,录音在松开按键时停止,放音有三种情况:1、边沿触发放音,按PE键一下即将全段语音放出,除非断电或语音结束不能停止放音;2、电平触发放音,按住 PL 键时即放音,松开按键即停止;3、循环放音,置循环放音开关闭合,按动 PE 键即开始循环放音,只能断电才能停止。语音录放芯片 ISD1810能较好满足系统设计的要求,因此本设计采用该芯片作为语音模块。2.2.6电机驱动模块的选择直流电机是设计必不可少的组成部分,它主要作用是为系统提供必须的驱动力,用以实现其各种运动。但由于电机属于大功率的器件,而单片机的I/O口所提供的电流往往十分有限,所以必须外加电机驱动电路来为电机提供足够的电流。专用的驱动芯片由于结构简单、价格便宜、可靠性高等特点,因而被广泛的应用实现电机的驱动。电机的驱动芯片有很多如L298N、BST7970、MC33886等,这里我们采用LM298N驱动模块,BST7970、MC33886一般在电机功率比较大的场合适用。L298N是专用驱动集成电路,属于H桥集成电路,其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如小功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。一般来说L298N由于自身压降太大,所承受的电流太少,所以不满足大功率电机的需要,但本系统采用的电机工作电流仅为0.35A-0.4A,LM298N芯片完全能够满足系统工作要求。第3章 系统硬件设计合理的硬件设计是系统正常运行,各项功能稳定运行的基础。智能助餐机器人系统由控制系统、信息采集系统、点餐送餐系统、驱动系统、语音系统五部分构成。每个系统都有相应的硬件电路,本章主要设计和论述各个细分电路的设计和原理。3.1单片机最小系统单片机最小系统,也叫做单片机最小应用系统,是指用最少的原件组成单片机可以工作的电路系统。本设计的单片机最小系统是以KL26Z256ZLL4芯片为核心,以电源、复位电路、晶振和下载调试接口作为外围电路构成的电路系统。3.1.1 MKL26Z256VLL4引脚本设计主要采用了KL26系列的100脚MKL26Z256VLL4芯片作为核心控制芯片。芯片引脚包括了电源引脚、调试/编程接口、晶振接口、复位引脚和复用引脚。因为该芯片的内部集成功能较多,因此在内核内部把多个功能复用到相同的引脚上,从而减少引脚数,通过修改复用寄存器来修改引脚功能。本设计主要使用了引脚的GPIO功能,UART功能和TPM功能。GPIO即通用输入输出,引脚作为GPIO时,GPIO的数据方向寄存器和数据输出寄存器决定了每个引脚的方向和数据输出情况,GPIO的数据输入寄存器会将该引脚上的数字信号转换为逻辑值。本设计设置芯片引脚PTC1C4、PTB0B3、PTA6、PTA7、PTA12、PTA13、PTB22、PTB20为GPIO。PTC14设置为下拉输入模式作为检测循迹模块输出。PTB0B3设置为上拉拉输入模式作为检测干簧管输出。PTA6、PTA7、PTA12、PTA13设置为输出模式用来控制语音模块。PTB22设置为输出模式,用于发出超声波模块的时序信号,PTB20设置为输入模式,用于接收超声波模块返回的信号。UART即通用异步接收器/发送器,设计设置PTA14和PTA15作为UART接口,用于可显示屏的通信。TMP全称定时器/脉宽调制模块,其支持输入捕捉、输出比较,并且能够产生PWM信号来控制电机和电源管理应用程序。系统设计设置PTE24、PTE25、PTE29、PTE30作为PWM信号产生端口用于连接电机驱动模块的信号输入端,用于控制电机转速。3.1.2 MKL26Z256VLL4外围电路在最小系统中,MKL26Z256VLL4芯片的外围电路主要包括: 电源电路、复位电路和晶振电路。KL26芯片中有较多的VDDx和VSSx数字电源引脚,目的是提供足够多的电流来保证芯片的正常运行。KL26数字电源的和模拟电源是区分开的,目的是防止信号的相互串扰影响到某些敏感元件。KL26有专门的ADC、DAC模块模拟参考电源引脚,可用于稳定的模拟参考电源。MKL26Z256VLL4芯片的外围采用稳压芯片ASM1117设计了稳压电路,将5V输入转换成3.3V输出,以供最小系统内部使用。电路如下图3.1所示。图3.1 KL26外围稳压电路MKL26Z256VLL4支持10种复位方式如上电复位(POR)、外部引脚复位,看门狗复位等。本段论述的复位方式为外部引脚复位。RESET为MKL26Z256VLL4芯片的复位引脚,如图3.2所示,图中RESET信号接入KL26的PTA20引脚,按键按下时RESET引脚接地KL26控制器复位。在复位电路中加入电容是为了增加的低电平脉冲宽度。按键按下时RESET引脚接地,为低电平,按键弹起后,电容通过上拉电阻充电,电压逐渐增大,最后变为高电平。电容的充电过程保证了足够长的低电平脉宽来产生复位信号。图3.2复位电路晶振,全称为晶体振荡器,是MKL26Z256VLL4芯片内部电路产生时钟频率的部件。晶振提供的时钟频率越高,那么芯片的运行速度就越快。单片机的一切指令的执行都是建立在晶振提供的时钟频率上。也就是说没有晶振就没有时钟周期,芯片就无法执行内部的程序代码。KL26通过内部的MCG模块选择外部参考时钟源和内部参考时钟源,由于内部时钟源不稳定,芯片一般采用外部参考时钟源(EXTAL和XTAL)。通过XTAL引脚提供振荡器来起振。电路如图3.3所示。图3.3晶振电路 3.2系统电源电路为给系统各个芯片供电,一个可靠的电源电路是必不可少的。在系统中电机驱动需要5V电压,语音模块工作电压为3V5V,超声波模块需要4.5V5.5V电源供电,红外循迹电路工作需要3.35V电压。综合考虑,系统采用5V供电。驱动电路的工作电压均为直流,电压有7.2V和5V两种。系统的供电是由8V的电池供给的,所以需要8V变为5V的电路。直流电压变换的芯片有很多,比如常用的7805三端稳压芯片。考虑到电源的电压7.2V和需要的工作电压5V之间的压差只有2.2V。如果用7805稳压,需要输入和输出电压差要有3V以上,7805不能满足要求。LM2940的输入和输出电压差可以只有1.0V左右,故选用LM2940作为稳压器件,电路图如图3.4所示。管脚1接电池的正端,同时和地之间接入滤波电容,提高输入电压的稳定性。2脚是地,节电池的负端;3脚是5V输出端和地之间接入的滤波电容,减少杂波的输出。根据LM2940芯片手册可以得知,LM2940的输出电流为1A,而本设计系统中有电机,显示屏等耗电量较大的器件,因此一路LM2940电源电路显然是不够提供足够的电流的,而且容易对稳压芯片造成损坏。每一个电机运转需要0.4A电流,因此电机需要单独一路电源电路供电。剩下的模块共用一路电源电路,经检验这样的电源电路设计,系统运行状况良好。图3.4系统电源电路3.3红外循迹电路红外循迹电路用于餐厅助餐机器人的道路循迹,要求电路能准确快速分辨出白色背景和道路黑线,从而让餐厅助餐机器人得以循迹行驶。红外循迹电路如图3.5所示,电路核心元件为四电压比较器集成电路芯片LM339和红外对管传感器。图3.5红外循迹电路LM339电压比较器芯片,内部装有四个独立的电压比较器,4个比较器相互独立,1、3、13、14脚分别是比较器的输出端,3、12端引入电源,该集成芯片可单电源工作亦可双电源工作,单电源: 236V,双电源:118V;其余脚分别为各个比较器的同相输入和反相输入。LM339是很常见的集成电路。利用LM339可以方便的组成各种电压比较器电路。结合表3.1能直观的知道LM339各引脚的功能。表3.1 LM339引脚功能引脚引脚功能符号引脚引脚功能符号1输出端2OUT28反向输入端3IN3-2输出端1OUT19正向输入端3IN3+3电源VCC10反向输入端4IN4-4反向输入端1IN1-11正向输入端4IN4+5正向输入端1IN1+12地GND6反向输入端2IN2-13输出端4OUT47正向输入端2IN2+14输出端3OUT3LM339中每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。红外对管是由红外线发射管与红外线接收管组成。红外发射管是由红外发光二极管矩组成的发光体,加上电压后可以激发红外光。红外线接收管是专门用来接收和感应红外线发射管发出的红外线光线的。它可以进行光电转换,当红外发射管照射在黑色物体上时反射回来的光就较少,接收管接收到的红外光就较少,表现为电阻大,如果在外电路上接上负载,负载上就获得了电信号,而且这个电信号随着红外光的变化而相应变化。因为LM339内部的四个比较电路完全相同,为了方便分析,这里将图3.5简化出一路,如图3.6。图3.6简化红外循迹电路LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只上拉电阻电阻。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。图中R1、R2为限流电阻,不同大小的限流电阻决定了红外发射管的发射功率。R2的选择和采用红外接收管的内阻有关。图中R3为分压电阻,为比较器提供参考电压,具体参考电压的设定应根据R2上端的电压来决定,此时一般通过调节此电阻来适应不同的检测路面与高度。在实际测试中在黑色背景的情况下的,IN+输出电压为0.32V。在白色背景下IN+电压为0.22V。只要将参考电压设置在0.32V和0.22V之间,当红外接收管受到红外光,同相输入端信号变化,红外循迹电路输出相应的高低电平,系统就能分辨出白色背景和道路黑线。3.4电机驱动电路电机驱动电路有三个功能:为电机提供提供驱动电流;改变电机极性,及实现电机的正反转变化;实现对电机的调速(需要软件配合,即单片机产生PWM波)。要解决驱动力不足和换向问题,设计一般会采用两种方法,一是设计由分离元件组成的驱动电路实现,另一种方法则是采用专用的驱动芯片加以实现,如本设计所使用的L298N芯片。在介绍LM298N驱动模块之前,我先介绍一下H桥电路,H桥电路如图3.7,从图中可以看出,其形状类似于字母“H”,作为负载的直流电机像“桥”一样架在上面,所以称为“H桥驱动”,4个开关所在的位置就称为“桥臂”。H桥电路内部采用了4个三极管,三极管起到放大的作用,即增大了驱动电流,可以实现第一个功能。要使电机运转,必须使对角线上的一对三极管导通。例如,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定的方向转动,进而实现正反转控制。图3.7 H桥电路L298N内部的组成其就是上面讲的H桥驱动电路,所以工作原理我以上论述的H桥相同。L298N内含两个H桥的高电压大电流全桥式驱动器,该芯片可以驱动一台两相步进电机和四相步进电机,也可以两台直流电机。采用标准逻辑电平信号控制;具有两个用控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。L298N模块的驱动电路图如图3.8所示。电路中八个续流二极管是为了消除电机转动时的尖峰电压保护电机而设计。图3.8电机驱动电路3.5 显示屏接口电路显示屏和MCU采用串口通信来相互传输信息。串口通信通过数据信号线、地线等,按位进行传输数据。按数据传输的方向及是否同时传输,可以将其分为三类:单工、半双工和全双工。单工:数据传输方向是单向的。通信双方,一方固定为发送端,一方则固定为接收端;半双工:数据传输方向是双向的,但同一时刻只能由其中的一方发送数据,另一方接收数据。不能双向同时传输;全双工:数据传输方向是双向的,并且同一时刻通信双方可以同时收发。显示屏采用异步、全双工串口(UART),串口模式为8n1(51单片机的MOD1,9bit UART),即每个数据传送采用10个位:1个起始位,8个数据位,1个停止位。全双工通信的方式,传输速度快,效率高。KL26中的UART(异步收发器)模块可以支持这种通行方式。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。本设计中将PTA14和PTA15开启UART功能,将PTA14作为发射端连接显示屏的接收端,PTA15作为接受端连接显示屏的发射端,波特率设置为115200波特。接口电路如图3.9。图3.9显示屏接口电路3.6语音模块电路在本系统中控制芯片通过控制语音模块在特定场景下播放特定语音,这要求语音模快储存大约20秒时间以内的语音,并通过控制芯片控制播放。设计采用的ISD1810芯片能实现8 20 秒单段语音录放。内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动及 FLASH 阵列。芯片引脚排布如图3.10。图3.10 ISD1810引脚排布图电源(VCC)芯片内部的模拟和数字电路使用的不同电源总线在此引脚汇合,这样使得噪声最小。去耦电容应尽量靠近芯片。地线(VSSA, VSSD)芯片内部的模拟和数字电路的不同地线汇合在这个引脚。录音(REC)高电平有效。只要 REC 变高(不管芯片处在节电状态还是正在放音),芯片即开始录音。录音期间,REC必须保持为高。REC变低或内存录满后,录音周期结束,芯片自动写入一个信息结束标志(EOM),使以后的重放操作可以及时停止。然后芯片自动进入节电状态。边沿触发放音(PLAYE)此端出现上升沿时,芯片开始放音。放音持续到EOM标志或内存结束,之后芯片自动进入节电状态。开始放音后,可以释放PLAYE。电平触发放音(PLAYL)此端从低变高时,芯片开始放音。放音持续至此端回到低电平,或遇到EOM标志,或内存结束。放音结束后芯片自动进入节电状态。录音指示(/RECLED)处于录音状态时,此端为低,可驱动LED。此外,放音遇到EOM标志时,此端输出一个低电平脉冲。此脉冲可用来触发PLAYE,实现循环放音。话筒输入(MIC)此端连至片内前置放大器。片内自动增益控制电路(AGC)控制前置放大器的增益。外接话筒应通过串联电容耦合到此端。耦合电容值和此端10K欧输入阻抗决定了芯片频带的低频截止点。话筒参考(MIC REF)此端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。自动增益控制(AGC) AGC动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持最小。通常4.7uF的电容器在多数场合下可获得满意的效果。喇叭输出(SP+,SP-)这对输出端可直接驱动8欧以上的喇叭。单端使用时必须在输出端和喇叭之间接耦合电容,而双端输出既不用电容又能将功率提高至4倍。SP+和 SP-之间通过内部的50K欧的电阻连接,不放音时为悬空状态。外部时钟(XCLK)此端内部有下拉元件,只为测试用,不用接。振荡电阻(ROSC)此端接振荡电阻至VSS,由振荡电阻的阻值决定录放音的时间。直通模式(FT)此端允许接MIC输入端的外部语音信号经过芯片内部的AGC电路、滤波器和喇叭驱动器而直接到达喇叭输出端。平时FT端为低,要实现直通功能,需将FTT端接高电平,同时REC、PLAYE和PLAYL保持低。语音模块如下图3.11。图3.10语音模块电路图第4章 系统软件设计本系统软件设计包括显示屏界面设计和单片机程序设计。显示屏界面设计在软件DGUS ToolV5.04 下完成 其中包括显示屏和单片机的通信协议规划和界面美工设计。单片机程序设计是在IAR Systems环境下,使用C语言对系统各项功能进行软件开发。首先依据硬件电路和各模块技术手册,对各模块进行编程,并在单独测试后,进行整体联调,分析系统程序,并对其进行测试、修正,最终形成稳定成熟的软件系统。4.1显示屏界面设计MINI DGUS 屏是基于配置文件来工作的,所以整个开发过程也就是通过 PC 软件辅助设计完成变量配置文件的过程,基本开发流程如下:第1步:变量规划。变量规划基本遵循两个基本原则:a. 数据变量尽可能地址连续,以便于读/写;b. 参数描述变量和数据变量的地址要分开,并且不要交叉。第2步:界面设计。 利用PS(或者其它绘图软件)进行界面及界面相关元素(图标、字库)设计。第3步:界面配置。利用迪文提供的工具软件进行界面的配置,生成触控配置文件和变量配置文件。第4步:测试修改。把配置文件、图片、字库、图标库等借助SD卡下载到MINI DGUS屏,进行界面测试和修改。把串口连上用户MCU系统,进行数据联调。第5步:定版。定版后,把配置文件、图片、字库、图标库等MINI DGUS屏涉及的文件保存在一张SD卡利用SD将文件下载进屏幕。4.1.1界面设计软件DGUS Tool本系统使用DGUS Tool进行显示界面的设计,DGUS Tool为迪文公司为其显示屏设计的图形界面开发软件。在该软件环境中,开发者能实现对现实界面人机交互系统的设计。使用DGUS配置软件DGUS Tool能实现触控配置:变量输入、弹出菜单、增量调节、拖动调节、RTC设置、按键值返回、基本触控、ASCII文本录入、GBK文本录入。显示配置:变量图标显示、动画图标显示、滑块刻度指示、艺术字变量显示、图片动画显示、数据变量显示、文本显示、RTC显示、图标旋转显示、曲显示、基本图形显示、列表显示、表盘时钟显示。在本设计中主要使用了数据变量显示、基本触控、按键值返回。数据变量显示能实现在显示屏的指定位置显示数据,主要需要设置的参数有数据变量显示的坐标、变量地址、变量类型、文本显示和显示单位。基本触控实现当在指定位置按下时显示屏的各个界面的切换,主要需要设置的参数是页面切换和按钮效果。按键值返回在基本触控的基础上能在按下的同时向串口发送数据,需要设置的参数是页面切换和按钮效果以及键值。文本显示实现文字的显示,主要的参数有编码方式、字库位置、变量位置。显示屏与单片机使用串口通信,在界面设计时需要规划好通信协议,一条完整的串口数据如下表4.1所示。表4.1串口通信数据结构2字节1字节1字节N字节2字节帧头数据长度指令数据CRC校验其中串口屏默认帧头为5A A5;数据长度指该项右侧(指令,数据,校验)所有数据长度和;指令为0x80-0x84的其中之一,指令具体功能如表4.2;数据中存放需要的通信数据;CRC校验对指令和数据进行校验。表4.1指令说明指令功能数据内容说明0x80访问寄存器下发:寄存器地址+写入数据向指定寄存器写入数据0x81访问寄存器下发:寄存器地址+读取字节长度向指定寄存器地址读取指定数据长度应答:寄存器地址+数据字节长度+读取的寄存器数据向屏发送读寄存器的指令后,屏的应答0x82访问变量存储器下发:变量存储器器地址+写入的数据变量从指定的变量寄存器地址开始写入数据0x83访问变量存储器下发:变量存储器器地址+读取的变量数据长度从变量存储器指定地址开始读取指定字节长度的数据应答:变量存储器地址+变量数据字节长度+读取的变量数据向屏发送读变量存储器器的指令后,屏的应答0x84写曲线缓冲区CH_Mode+DATA写曲线缓冲区数据4.1.2点餐界面设计点餐界面主要由两级页面组成:座位号选择页面和点餐页面。座位号选择页面用于选择座位号后让机器人驶向指定座位,选择完座位后页面跳转到点餐页面。点餐页面实现用户的点餐操作。两个页面设计完成后在DGUS Tool工程中的效果如下图4.1、4.2所示。图4.1点餐座位号选择页面图4.2点餐页面如上图中所示,点餐座位号选择页面上有8个可选择的座位号,用户可以在屏幕上点击相对应的按钮来选择座位号,选择完后显示屏会通过串口发送相应的数据到单片机,单片机控制机器人驶向对应的餐桌。点餐页面由菜单栏和已选择菜单栏组成,用户可以在菜单栏进行点菜,点击对应的菜单显示屏发送相应的数据到单片机,单片机发送数据到显示屏的对应地址,已选择的菜单就会在左边的已选栏显示出来,已选择的菜单可以通过修改按钮进行修改。每个按钮对应的键值和地址如下表4.3。表4.3点餐界面按钮对应数据按钮号按键返回1按键返回2按键返回3按键返回4发送数据5A A5 06 83 00 00 01 00 235A A5 06 83 00 00 01 00 245A A5 06 83 00 00 01 00 255A A5 06 83 00 00 01 00 26按钮号按键返回5按键返回6按键返回7按键返回8发送数据5A A5 06 83 00 00 01 00 115A A5 06 83 00 00 01 00 125A A5 06 83 00 00 01 00 135A A5 06 83 00 00 01 00 14按钮号按键返回9按键返回10按键返回11按键返回12发送数据5A A5 06 83 00 00 01 00 155A A5 06 83 00 00 01 00165A A5 06 83 00 00 01 00 175A A5 06 83 00 00 01 00 18按钮号按键返回13按键返回14按键返回15按键返回16发送数据5A A5 06 83 00 00 01 00 195A A5 06 83 00 00 01 00 205A A5 06 83 00 00 01 00 225A A5 06 83 00 00 01 00 21按钮号Text1Text2Text3Text4Text5变量地址011001140118011C0120按钮号Text6Text7Text8Text9Date Display变量地址01240128012C013001384.1.2送餐界面设计送餐界面主要由两级页面组成:座位号选择页面和送餐页面。座位号选择页面用于选择座位号后让机器人驶向指定座位,选择完座位后页面跳转到送餐页面。两个页面设计完成后在DGUS Tool工程中的效果如下图4.3、4.4所示。图4.3送餐页面图4.3送餐座位号选择页面如上图中所示,和点餐座位号选择页面相同,送餐座位选择页面有8个可选择的座位号,用户可以在屏幕上点击相对应的按钮来选择座位号,选择完后显示屏会通过串口发送相应的数据到单片机,单片机控制机器人驶向对应的餐桌。送餐页面没有其他控件,每个按钮对应的键值和地址如下表4.4。表4.3送餐界面按钮对应数据按钮号按键返回15按键返回16按键返回17按键返回17发送数据5A A5 06 83 00 00 01 00 275A A5 06 83 00 00 01 00 285A A5 06 83 00 00 01 00 295A A5 06 83 00 00 01 00 30按钮号按键返回19Date Display变量地址5A A5 06 83 00 00 01 00 3101384.2系统总体程序设计系统程在硬件的基础上实现了,有顾客需要点餐时,服务员在触屏的座位号选择界面选择相应座位,选择完成后助餐机器人沿巡航线移动,行进过程中时刻判断道路节点和是否有障碍物,若有障碍则停止等待并同时语音提示“您好,请让路”。若有检测到节点则进入对应子程序,进行停车或者转弯。到达终点后语音提示“欢迎光临,请点餐”并等待。顾客完成点餐后,发送点餐数据到PC端,助餐机器人沿原路返回。需要送餐时,服务员在触屏的座位号选择界面选择相应座位,选择完成后助餐机器人沿巡航线移动,行进过程中时刻判断道路节点和是否有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论