智能扫地机器人课程设计(共21页).docx
精选优质文档-倾情为你奉上1、课题背景及研究的目的和意义1.1课题背景扫地机器人是服务机器人的一种,可以代替人进行清扫房间、车间、墙壁等。提出一种应用于室内的移动清洁机器人的设计方案。其具有实用价值。室内清洁机器人的主要任务是能够代替人进行清扫工作,因此需要有一定的智能。清洁机器人应该具备以下能力:能够自我导航,检测出墙壁,房间内的障碍物并且能够避开;能够走遍房间的大部分空间,可以检测出电池的电量并且能够自主返回充电,同时要求外形比较紧凑,运行稳定,噪音小;要具有人性化的接口,便于操作和控制。结合扫地机器人主要功能探讨其控制系统的硬件设计。1.2研究目的和意义 国家农业智能装备工程技术研究中心邱权博士介绍说,扫地机器人可以看作是一种智能吸尘器,通过其基于传感器检测的智能运动规划算法使原本由人操作的吸尘器成为一个可自主运行的智能化设备。它通过各种传感器,比如碰撞开关、红外接近开关、超声传感器、摄像头等,来感知自身的位置和状态,通过智能算法决定当前的任务状态。它可以根据某个传感器检验地面清洁程度,根据历史信息确定哪些区域已经打扫过,它的充电座会发出红外线信息,在电量低于一定值后,它开始寻找红外信息来自动充电。防跌落是基于机器人底部所安装的红外传感器检测地面的距离,当距离发生变化时机器人将停止并改变路线。由于扫地机器人是一个智能化产品, 1.3工作原理扫地机器人机身为可移动装置,机器人依托红外识别以及超声波测距从而避障,配合芯片控制内部电机转动以及内部真空环境吸尘,通过路线设计,在室内自由行走,由中央主刷旋转清扫,并且辅以边刷,沿直线或者之字形活动路径打扫。2、设计要求与内容1)以 AT89S52系列单片机为核心设计移动清扫机器人电机驱动与控制电路,采用红外传感器和超声波传感器完成障碍物检测电路设计,完成充电站检测电路设计,完成避障算法与路径规划算法设计。2)按键选择清扫模式和充电模式。3)显示方式LED 显示当前时间和机器人当前工作状态。3、系统方案设计3.1设计任务1)利用AT89S52处理器编程实现电机驱动。2)液晶显示扫地机器人的内部参数。3)当扫地机器人显示电量不足时,无线模块发送命令到充电桩,开始进行充电模式,此时红外发射光线充电桩与扫地机器人充电接口对接,此时超声波实时测量两者之间的距离控制扫地机器人与充电桩之间的距离,防止速度过快损毁机器。4)按键实现充电,清扫,停止3种模式对扫地机器人进行模式的切换。5)用 protel 绘制详细电路原理图,标明元器件的型号、参数和引脚功能符号,电路图应符合电气要求。红外3.2系统整体框图电压控制 超声波AT89S52 驱动 按键TFT液晶屏无线模块3.3 选择方案论证3.3.1单片机选择方案论证方案一:使用公司的AT89S52作为主控制器。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。方案二: 综上所述,选择方案一,价格适中,可操作性强,且现在使用AT89S52也是一种难度适中的选择。3.3.2 驱动芯片选择方案论证方案一:6612芯片?方案二:ULN2003是一个非门电路,包含7个单元,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,起续流作用(在感性负载中,电路断开后会产生很大的反电动势,为防止损坏达林顿管,接反相的二极管来构成通路,使之转换为电流)。另外二极管的作用,驱动电流断开时,电机内的电感产生很大的反电动势,每一个单元的二极管都与三极管的集电极相连,产生反电动势时就构成了放点回路,从而保护了三极管。 方案三:使用东芝半导体公司TB6612FNG驱动芯片。TB6612FNG体积小,发热小,不需要加散热片,外围电路比较简单,只需要外接电容就可以直接驱动电机。综上所述,选择方案一和二,体积小,电路简单,所以选择L298作为移动驱动电路,选用ULN2003作为清扫电机驱动电路。3.3.3无线模块选择方案论证方案一:选用RF903模块,作为微功率模块,传输距离能达到500米,兼具了低功耗和远距离的要求、另外性能强大,增加了电源切断模式、可以实现硬件冷启动功能、抗干扰能力强。方案二:选择NRF24l01无线模块,此模块的体积小,但功耗大综上所述,选择方案一,价格低,受环境温度小,综合性能更强,所以选择。3.3.4时钟模块选择方案论证方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不采用此种作为显示.方案二:采用TFT液晶显示屏,液晶显示屏的显示功能强大,显示尺寸小巧,管脚占用少,适合单片机特点。3.4硬件电路设计3.4.1原理图设计3.4.2独立式键盘设计综合扫地人的无线控制,功能模块分为清扫模式,自动充电模式,暂停三大块,所以应该有按键供选择。独立式键盘设计结构简便,设计可靠。独立式按键比较简单,它们各自与独立的输入线相连接,如图所示。 独立式按键原理图 4 条输入线接到单片机的 IO 口上,当按键 K1 按下时,+5V 通过电阻 R1 然后再通过按键 K1 最终进入 GND 形成一条通路,那么这条线路的全部电压都加到了 R1 这个电阻上,KeyIn1 这个引脚就是个低电平。当松开按键后,线路断开,就不会有电流通过,那么 KeyIn1和+5V 就应该是等电位,是一个高电平。我们就可以通过 KeyIn1 这个 IO 口的高低电平来判断是否有按键按下。 3.4.3蜂鸣器报警电路如图所示,因GPIO口输出电流有限,而蜂鸣器在蜂鸣时需要较大的电流,GPIO输出口无法满足要求。而8550最大可提供1A的输出电流,足以驱动蜂鸣器。所以,我们用GPIO口来控制8550的导通与截止,从而来控制蜂鸣器。当向F1写入逻辑1时,F1输出高电平(+3.3V),8550的基极电流为0,此时Q1处于截止状态,电源不能加到蜂鸣器的正极上,蜂鸣器不能蜂鸣;当向F1写入逻辑0时,F1输入低电平(0V),8550的发射极和基极之间产生电流,此时Q1导通,蜂鸣器开始蜂鸣。3.4.4移动驱动电路 L298内部的原理图L298 引脚符号及功能引 脚功 能SENSA、SENSB分别为两个H桥的电流反馈脚,不用时可以直接接地ENA 、ENB使能端,输入PWM信号IN1、IN2、IN3、IN4输入端,TTL逻辑电平信号OUT1、OUT2、OUT3、OUT4输出端,与对应输入端同逻辑VCC逻辑控制电源,4.57VVSS电机驱动电源,最小值需比输入的低电平电压高GND地L298的逻辑功能IN1IN2ENA电机状态XX0停止101顺时针011逆时针000停止110停止当使能端为高电平时,输入端IN1为PWM信号,IN2为低电平信号时,电机正转;输入端IN1为低电平信号,IN2为PWM信号时,电机反转;IN1与IN2相同时,电机快速停止。当使能端为低电平时,电动机停止转动。在对直流电动机电压的控制和驱动中,半导体功率器件(L298)在使用上可以分为两种方式:线性放大驱动方式和开关驱动方式在线性放大驱动方式。半导体功率器件工作在线性区优点是控制原理简单,输出波动小,线性好,对邻近电路干扰小,缺点为功率器件工作在线性区,功率低和散热问题严重。开关驱动方式是使半导体功率器件工作在开关状态,通过脉调制(PWM)来控制电动机的电压,从而实现电动机转速的控制。3.4.5清扫电机驱动电路高耐压、大电流复合晶体管ICULN2003,ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成该电路的特点如下:ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16或SOP16塑料封装。ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL、COMS,由达林顿管。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管。它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM应该悬空或接电源。ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达500mA,9脚可以悬空。比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚ULN2003 是高压大电流阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。 3.4.6超声波测距模块基于超声波距离传感器的避障: 目前市场也有一部分扫地机器人采用超声波传感器实现避障。超声波传感器与红外传感器之间的区别在于,红外线感应属光学感应技术,超声波感归属于声学感应系统的范畴 。超声波音频发射头能够发出超过 20KHz 的音频信号,音频信号碰到障碍物后会反弹回波,机器人的接收器可以接受障碍物反弹的回波并通过分析回波信号判断前方有无障碍物。超声波感应技术最大的优点是对透明类障碍物具有很高的识别率,而且可以正确识别任意颜色的障碍物,即使在全黑环境下也能正常工作。3.4.7红外模块红外线检测技术的优点:技术成熟、成本低廉、使用寿命长和工作可靠性高。一对优质的红外线对管价格低廉,而且具有工作寿命长和电气性能稳定等优点。红外线本身属于不可见光,完全可以在黑暗环境中正常工作,在日常清洁使用中具备较高的工作可靠性。红外线检测技术的缺点:红外线对透明或半透明的障碍物具备较强的穿透性,机器人将无法感应到矿泉水瓶、落地式玻璃门等物体。此外,光波具有最易被黑色物体吸收而被白色物体反射的特性。通常情况下,采用该检测技术的扫地机器人在深色障碍物前,无法正确接收到红外反射信号。 虽然红外线检测技术存在一些缺点,但是作为目前最成熟的障碍物检测技术,它仍然将在相当长的一段时间内存在,纵观目前市场上销售的扫地机器人产品,会发现几乎所有的扫地机器人采用红外传感器与碰撞传感器融合方式实现避障。采用这种技术的产品特征为:在机器人的碰撞栏前端有一圈茶黑色感应窗,传感器安装在感应窗内部。该检测系统的检测原理为:机器人工作过程中遇到障碍物时,红外传感器发射的光波会因为受到阻碍而产生回波,机器人内部红外接收器检测到回波后,会认为前方存在障碍物,即命令减缓机器的前进速度以慢速碰撞障碍物,确定障碍物的位置后进行避障行为。基于红外线与碰撞传感器障碍检测系统是目前扫地机器人中最为成熟也是使用范围最广的障碍检测系统技术3.4.8无线通信模块RF903模块性能及特点:1)433MHz开放ISM频段免许可证使用2)最高工作速率50kbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合3)125频道,满足多点通信和跳频通信需要;内置硬件CRC检错和点对多点通信地址控制4)低功耗3-3.6V工作,待机模式下状态仅为2.5uA,TXMODE在+10dBm情况下,电流为40mA;RXMODE为14mA;收发模式切换时间 < 650us5)模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接串接各种单片机使用,软件编程非常方便6)增加了电源切断模式,可以实现硬件冷启动功能7)SPI兼容的控制接口,低功耗任务周期模式,自带唤醒定时器,与RF905SE编程接口类似8)增加了RSSI功能,通过SPI接口可以获取当前接收到的信号强度(0-255),可以供当前设备做出决策,比如低于某个数值50可以报警,提示用户当前信号质量比较低等9)作为微功率模块,传输距离能达到500米,兼具了低功耗和远距离的要求3.4.9电量剩余检测电路检测电池剩余电量使用ADC模块,此模块是12位逐次逼近型的模拟数字转换器。逐次逼近型模数转换器基本工作原理是转换开始前先将所有寄存器清零。开始转换以后,时钟脉冲首先将寄存器最高位置成1,使输出数字为1000。这个数码被数模转换器转换成相应的模拟电压U0,送到比较器中与Ux进行比较。若U0Ux,说明数字过大了,故将最高位的 1清除;若U0Ux ,说明数字还不够大,应将最高位的1保留。然后,再按同样的方式将次高位置成1,并且经过比较以后确定这个1是否应该保留。这样逐位比较下去,一直到最低位为止。比较完毕后,寄存器中的状态就是所要求的数字量输出。可见逐次逼近转换过程与用天平称量一个未知质量的物体时的操作过程一样,只不过使用的砝码质量一个比一个小一半。如下图,当采用压电阻将输入的电压从12V分压至5V或者3.3V以内,然后输入到AD转换模块,为了保护转换模块的安全。输入的电压经过钳位保护电路后进入AD模块。由于此转换模块是10位的AD模块,进入之后得到数字量,然后进过计算可以得到电池的实际电压,实际电压=数字量*Vi*3/4096,vi是当电池充满电时,输入到芯片的最大电压。通过这种方式就能够计算出电池的剩余电量。3.4.10降压电路DF1117 系列稳压器可提供1A直流输出,它可运行在输入输出相差1V的环境下。在最大输出电流时,电压差设计可提供最大为1.3V,且它随着输出电流的减小而减小。芯片焊接校准为参考电压的1%。这种限流起到平衡的作用,调整器和电源电路使超负载最小化。 DF1117 兼容了其它三终端的系统接口,并提供了SOT-223和TO-252两种封装形式。 特性:三端可调整电压或稳压为 1.5V、1.8V、 2.5V、2.85V、3.3V 和5.0V,输出直流为1A,工作在电压差为1V,线路调整率:最大0.2%, 负载调整率:最大0.4%,封装形式:SOT-223和TO-252 应用范围:高效率线性标准器、快速整流校准器、5V到3.3V的线性校准器、电池充电器、现行小型计算机系统接口终端、笔记本的电源设备 电池动力仪器。3.4.11 液晶显示屏全新1.8寸串口SPI彩屏模块、分辨率:128X160、驱动IC:ST7735、模块接口:4线SPI接口、支持模拟SPI和硬件SPI、最少只需4个IO即可驱动.本模块特点:1.支持Arduino各种单片机直插,无需任何接线2.集成稳压IC,支持5V或者3.3V供电3.板载电平转换方案,真正可完美兼容5V/3.3VIO电平,支持各种单片机IO连接4.集成SD卡扩展电路,5.预留SPIFLASH字库电路,方便扩展应用3.5软件设计初始化各模块3.5.1主程序设计 调用转换模块检测电路电量是否足够NY蜂鸣器持续报警调用液晶显示程序显示电量自动寻回充电清扫按键按下3.5.2清扫模式设计输出PWM波启动移动电机调用编码器程序控制移动电机转速调用转换模块检测电路转速过快转速过慢减少PWM脉冲输出增大PWM输出 3.5.3充电模式程序设计充电按键按下启动RF903发出充电信号是否收到信号NY调用液晶显示程序未准备好调用液晶显示程序已准备好调用小车自旋转程序启动红外接收程序是否收到红外信号NY停止自旋转,控制小车运行,完成充电对接继续自旋转 3.5.4停止模式程序设计按下停止模式按键关闭清扫电机关闭移动电机关闭中断服务程序专心-专注-专业