基于Arduino的拖地机器人-电路设计_第1页
基于Arduino的拖地机器人-电路设计_第2页
基于Arduino的拖地机器人-电路设计_第3页
基于Arduino的拖地机器人-电路设计_第4页
基于Arduino的拖地机器人-电路设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

基于Arduino的拖地机器人 电路设计摘要清洁机器人是一款可以为人类生活提供服务和便利的产品,是科技快速发展的代表产物,拖地机器人作为扫地机器人的一个分支,近年来在市场上也出现了很多型号。不论是扫拖一体的机器人还是只有拖地模块的机器人,都存在着拖地效率不高的问题,为了解决这个问题,本小组设计了一款基于Arduin。的拖地机器人。本文对此款拖地机器人的元件选型,设计和制作电路进行说明。硬件电路分为两部分,一部分是以ATmega2560为核心的控制板;另一部分是以L298N为核心的电机驱动板,并整合了电量显示模块。这两块电路板共同组成了本设计的硬件电路部分,并经过仿真和实物调试,验证了电路的可行性。关键词:拖地机器人;Arduino;ATmega2560;控制板;电机驱动板1绪论1.1研究背景及意义1.1.1研究背景随着二十世纪以来工业技术的快速发展,各种工业产物相继问世,在众多工业产品里面高端技术集成度最高,代表了工业最高水平的产物之一就是机器人。第一台工业机器人诞生于1962年,该机器人由美国研制和制造,机器人经历了五十多年的发展已取得显著的进步,并将在二十一世纪成为各个国家工业水平发达程度的标杆。目前,各个工业发达的国家都相继出台了相关政策以促进本国机器人的发展。美国为了在机器人行业保持领先地位,分别于2009年和2011年推出了第一版的《机器人技术路线图》和国家机器人计划,目的是创造更好的机器人系统;2014年,欧盟为了满足经济发展对机器人技术的需求,推出了《欧盟机器人研发计划》;中国为了实现从“制造大国”向“制造强国”的转变,于2015年发布了《中国制造2025》,并在2016年发布《机器人产业发展规划》,从基础上强化机器人产业的能力,培养多家企业龙头[1]。在各个国家推出的一系列政策的推动下,必将促进机器人技术的飞跃发展,进一步改变我们的生产和生活方式。服务型机器人作为机器人的一个分支,在市场中也占据着很大的份额。中国于2006年发布的《国家中长期科学和技术发展规划纲要(2006-2020年)》中对智能服务型机器人给予了明确的定义:“智能服务机器人是在无人为干涉条件下为人类提供必要服务的集成高新技术的智能化装备”,并明确指出要将其列为重点发展的前沿技术,并在2020年时要将智能服务型机器人发展为战略高新技术。2013年3月美国发布的《机器人技术路线图:从互联网到机器人》中提出机器人技术在服务领域、创造新市场和改善人们生活质量等方面都存在着巨大的潜力⑵。服务机器人是二十一世纪高新技术服务业的重要组成部分,各个国家都在此领域投入了巨大的研发精力,发展服务机器人也是我国高科技产业发展的一次重大机遇,对于提升国家竞争力具有重大战略意义,因此服务机器人的创新和发展是国家重点扶持的项目。清洁机器人作为进入人类家庭生活最普遍的机器人之一,它能够代替人类完成家庭环境的清洁,使人们解放双手,提高生活质量,是服务型机器人中不可或缺的一部分。清洁机器人涉及到很多关键的科学问题,例如机构学,运动学,导航和路径规划,这些重难点是阻碍清洁机器人快速发展的原因之一⑶,目前国内外相关行业学者都在对其进行研究和突破。清洁机器人可以根据清洁领域细分为扫地机器人,拖地机器人,洗碗机器人和擦窗机器人。其中地面清洁机器人的研究虽然已经取得了丰富的成果,也在清洁机器人里占据了很大的市场,但是目前市场中的大量产品都存在着一些问题。首先,扫地机器人得到了很多年的发展,扫地方案和技术都较为成熟,但拖地机器人发展时间较短,水渍残留和拖地清洁程度不高的问题一直无法得到有效解决;其次,虽然市场上存在大量扫拖一体类型的清洁机器人,但是大多数产品的结构和功能都相似,在拖地机器人的问题没有得到解决之前就将扫地机器人和拖地机器人合二为一,不仅水渍残留和拖地效率不高的问题无法解决,还会使耗电速度大大提高,使得扫地机器人的技术优势因为能耗问题无法发挥。1.1.2研究目的和意义目前市面上大多数拖地机器人采用的拖地方式都是用一块抹布固定在底部,然后通过水箱渗水的方式来浸湿抹布,同时机器人进行移动从而完成拖地工作。这种拖地方式虽然能够完成拖地工作,但由于抹布接触地面的一面经过长时间的工作后会沾上灰尘,使得后半程拖地工作的清洁程度不如前半程,且由于是通过渗水来浸湿抹布的工作方式,难免会因为渗水过多导致水渍残留的问题[4]。为解决以上问题,本小组设计了一款基于Arduino控制的拖地机器人。这款拖地机器人的抹布在底部做履带式运动,机器人内部有两个刷子对抹布的表面进行清理,并且在机器人前方有一个挤压装置,可以使抹布在经过浸水清理表面后的拖地工作中不会遗留水渍。本文主要为此款拖地机器人设计电路板,利用所学的知识和网上查找的资料,选用以ArduinoMega2560为核心控制板,运用传感器和各种元器件,通过L298N和ULN2003A电机驱动模块操控电机,从而完成拖地机器人的转向、避障、拖地和电量监控等功能。1.2国内外发展现状1.2.1国外发展现状SANYO公司于上世纪80年代就已经对自主机器人开展了研发工作,虽然该公司没有留下占领市场的产品,但其作为扫地机器人的研究先驱,对清洁机器人的发展起到了不可替代的促进作用。经过了数十年的发展,2001年世界第一款量产并投入市场的扫地机器人才诞生,它就是由瑞典家电巨头伊莱克斯制造的“三叶虫”扫地机器人。该扫地机器人经过了几代的更迭,刚问世时有着避障效果不好的明显缺陷,经过了改进,从第二代以后的产品相较于第一代有了较大进步,可以通过放置磁条来实现禁止进入房间和避免跌落楼梯的危险。虽然该扫地机器人并不成熟,但是已经具备现代扫地机器人的基本功能[5]。Roomba系列扫地机器人于2002年9月投放在市场上,该产品是由美国iRobot公司研究制造的,一出现就成为了这一市场的代表产品。Roomba系列扫地机器人从最初的随机无规划式Roomba3到Roomba8系列,到2015年9月推出的具有可视化定位的Roomba980,为了实现自我定位,该产品在顶端安装有一个视觉摄像头,并具有手机APP的WiFi互联功能,联网运动控制,预约清扫,清扫地图实时查看等功能[6]。随着该产品的出现,证明了扫地机器人技术发展到现在已经趋于完善和成熟,并开始了下一个方向的研究。拖地机器人是扫地机器人的一个分支,它起步较晚,且需要克服较多的设计难点,是近年来清洁机器人发展的研究重点。Scooba390是全球第一款全自动拖地机器人,该

机器人是由iRobot公司研究推出的产品,它采用独特的“四段式清洗系统”,即工作过程经过扫地、洒水、擦拭和吸水四个阶段,集拖地和吸尘一体化的清洁效果oScooba390的背面如图1-3所示,该机器人在工作时先用前方的刷子将灰尘扫到清洁胶条处,经吸尘口吸到集尘盒里,在胶条后方有喷水口,经过回旋刷的洗刷后水渍由回旋刷后方吸水橡胶刮片吸收[7]。拖地机器人的擦地方式可分为主动式和被动式两种,主动式拖地机器人清洁地面比较干净,水渍残留问题不明显,但使用场合存在局限性,不能在毛毯上使用,且价格较贵。被动式拖地机器人的结构是用一块擦地抹布固定在机器人的底部,抹布贴着地面,同时在固定抹布的上方渗水,随着机器人的移动对地面进行擦拭工作。这种工作方式的拖地机器人有美国iRobot公司研发的Braava380,它适用于大多数地面,且由于结构简单,可以将拖地模块整合到扫地机器人里,成为扫拖一体的清洁机器人[8]。图1.3Scooba390主动式拖地机器人图图1.3Scooba390主动式拖地机器人图1.4Braava380被动式拖地机器人1.2.2国内发展现状国内的清洁机器人起步较晚,落后于世界大多数发达国家,但发展较快,且定价较低,很快就抢占了国内的大部分市场。国内较为出名的厂商有科沃斯,小米米家、美的和深圳银星智能科技等公司,他们都研发出自己的代表产品,并持续在这方面进行深入的研究。目前市场上的产品大多数都是扫拖一体化的清洁机器人,由于国产定价比较低,所以国内厂商的产品在市场上有很高的占有率。虽然市场占有率较高,但是近些年来的产品都缺少创新性,使用的拖地方案都是被动式拖地法,存在的水渍残留和清洁程度不高的问题仍然存在。1.3拖地机器人的发展趋势拖地机器人是清洁机器人的一个重要分支,目前对于该机器人的研究还处于起步阶段。虽然在各个科研公司的不断研究下取得了很多的研究成果,但由于该领域涉及到的学科较多,尤其在结构方面还存在一系列问题需要研究,因此拖地机器人的发展现状也只是差强人意。主动式拖地方式虽然清洁效果较好,但由于是通过洒水清洁的工作方式,需要较大的储水量,因此在整体体积和清洁面积方面只能两者选其一;被动式拖地机器人虽然结构简单,且能够将拖地模块和扫地机器人结合在一起,但存在污水残留和清洁程度不高等问题。鉴于这些问题,未来拖地机器人的发展大致可分为以下几个方向:(1) 更加智能化。随着人工智能技术的快速发展,能够适应各种环境和拥有更多清洁方式的拖地机器人必然会在不久的将来出现在市场上。 (2) 更合理的拖地方式。目前大部分拖地机器人的拖地方式都不尽人意,有各种各样的问题,需要更多的研究去探索拖地方式的更多可能性,使拖地机器人能迈入一个新的篇章。1.4研究主要内容和目标本次毕业设计小组设计了一款拥有新型拖地方式的拖地机器人,本文主要为此机器人设计硬件电路,使机器人的功能得以实现。此拖地机器人是基于Arduino控制的,主控芯片是ATmega2560,然后再设计一块以各种电机驱动芯片和传感器为主的电路板,将两块板子通过杜邦线连接就可以组成一个完整的驱动系统,装载到拖地机器人上就可以使拖地机器人开始工作。在进行电路板设计之前先根据所学的知识和资料,选用了以Arduino为核心的控制板,然后根据各个部分的工作需要选用不同的电机和驱动模块,再根据预先设计的功能选用合适的传感器,最后为电量监控选用相关的芯片和显示模块[9]。根据功能选定好大部分的主要元器件后就开始查找相关资料,并使用AltiumDesigner18软件画出原理图。原理图主要分为两部分,第一部分是以ATmega2560为核心的控制板原理图,主要包括串口通讯和主控芯片的电路;第二部分是以L298N和ULN2003为主的电机驱动模块,还包括了传感器电路和电量监控电路[1。]。原理图绘制完毕后就进行PCB板的制作,确保线路连接没问题后就将PCB文件发给厂家,做出PCB板之后就可以进行实物的焊接,焊接完毕后就对逐个模块进行测试,测试没问题后就可以将PCB板与拖地机器人安装到一起,这样就完成了本设计。本设计要完成的目标:(1)学习相关资料和论文,了解电路知识各个芯片的数据参数;根据所学内容使用AltiumDesigner18进行原理图的绘制,并对AD18的元件库里没有的元器件进行手动绘制,并根据数据手册添加封装;根据原理图进行PCB板的绘制和合理布线,避免各个模块之间相互影响;对实物进行焊接,测试和仿真。1.5本章小结本章主要是对拖地机器人的现状和发展进行资料的说明和分析,从而得出此次研究的必要性,然后对研究内容和目的进行说明,阐述此次研究的主要过程和要完成的目标。2拖地机器人系统的总体方案设计本文使用ATmega2560作为控制板的核心芯片,并使用RS232串口通讯电路与电脑进行通讯,将数据和程序通过电脑传输到芯片中。驱动板是由L298N和ULN2003芯片为主的电路组合而成,再增加电量监控和显示的相关电路,最终实现避障行进,抹布的运动和电量显示的功能,系统的整体框架如图2-1所示。主漩

电机L2SBTJL2SBTJJ ULN跑皿]电源RS232 [电贿]ATrriega2560HC-SHD4电源RS232 [电贿]ATrriega2560HC-SHD4电置监搾中齬PCF8574T1LCD16D2显示所图2.1系统整体框架图2.1控制板的方案设计控制板的核心芯片需要具备强大的计算能力,可以完成多项任务的同时工作,任务包括传感器的数据分析和逻辑判断,从而完成对电机驱动芯片的控制使拖地机器人进行避障行进;电量的监控和显示;抹布转动电机的驱动芯片控制等。控制芯片在进行工作任务之前需要对芯片进行程序的输入和工作仿真,因此控制板还需要能够与电脑进行通讯的电路。由于此拖地机器人需要用到的电机数量比较多,因此需要12V的电压驱动,而大多数控制芯片的输入电压是5V或者3.3V,因此还需要降压芯片。鉴于以上要求,本文选用以ATmega2560芯片为核心的ArduinoMega2560,它的优点如下:(1) ArduinoMega2560集成了RS232串口通讯电路,拥有非常多的数字I/O口和模拟I/O口,为以后功能的扩展开发提供了可行性;(2) Arduino自带1.1V的参考电压,可以直接用来做电量监控而不需要设计多余的芯片电路;(3) Arduino的最大优点是自带非常丰富的库函数,编程时不需要进行复杂的底层代码设计,使编程的难度大大降低。2.2驱动板的方案设计由于驱动电机需要比较大的电流,而Arduin。的输出电流只有几十毫安,远远不足以驱动电机,所以需要电机驱动芯片来协助。Arduin。是一块已经整合完成的控制板,因此需要另外做一块驱动板,驱动板主要包括以下电路:(1) L298N电机驱动模块拖地机器人在进行拖地工作时需要做避障行进,L298N是一块普遍使用的电机驱动芯片,它可以控制两个直流减速电机,可以帮助Arduino对两个电机的转速分别进行调整,控制机器人的直行和转弯[11]o(2) ULN2003电机驱动模块 当拖地机器人工作时抹布是在底面做履带式运动,所以驱动抹布转动轴需要比较大的力。步进电机在低速时具有比较大的扭矩,因此我们就使用步进电机来驱动抹布转动轴。虽然步进电机也可以用L298N来驱动,但对于抹布转动轴电机来说并不需要复杂的速度变化,因此选用由七个达林顿管组成的ULN2003最为合适,它既能驱动步进电机,且芯片价格较低,可以节约成本。(3) 电量监控电路ArduinoMega2560内部自带L1V参考电压,可以用来监控电源电压,但是Arduino允许输入的电压只有5V[12],对于本设计来说无法将电源电压直接接入Arduino的模拟I/O口,因此需要将电源电压用电阻分压到5V以下。(4) LCD1602显示屏模块拖地机器人需要将电量情况反映给使用者查看,所以使用一块LCD1602显示屏来显示剩余电量。由于LCD1602显示屏有16个接口,如果直接接入Arduino就会占用太多I/O口,所以在LCD1602显示屏和Arduino之间使用了一块PCF8574T芯片,使显示屏可以通过IIC通讯方式与Arduino连接,这种通讯方式只占用4个I/O口,不会浪费接口资源[13]。(5) HC-SR04超声波传感器拖地机器人如果想要完成避障行进工作,就必须要有传感器将沿途的障碍物反映给控制芯片,因此本设计采用了HC-SR04超声波传感器。此传感器通过两个I/O口与Arduino进行通讯,将电源电路设计在驱动板中。(6) LM2596S降压芯片不论是各种芯片还是传感器,它们的供电电压都是5V,因此需要一块稳定的降压芯片将12V电压转换为5V。2.3本章小结本章主要是对拖地机器人的电路进行一个总体方案的概述,根据设计要求罗列了各个电路的设计,并对电路的总体结构和设计思路进行了说明。3拖地机器人系统的相关兀器件3.1控制板的元器件本设计中需要通过主控芯片控制的元器件有传感器,电机,显示屏和串口通讯等模块,因此控制芯片需要拥有较多的I/O口,且需要强大的控制能力才能对如此多的工作量进行同时控制。为了选择合适的控制芯片,本小组在设计初期对Intel公司的8051系列单片机、ATMEL公司的AVR系列单片机和ST公司的STM系列单片机进行了比较。虽然8051单片机具有操作简单且容易上手,适合新手使用,但存在着运行速度较慢的缺点,不适合本设计;STM系列单片机以STM32为代表,是单片机中性能较高的产品,它接口丰富且运算速度较快,但在实际操作时需要对控制对象进行复杂的底层设计,因此需要花费较多时间才能熟练掌握,对于时间紧迫的毕业设计来说不太适合;以AVR系列单片机为基础的Arduino具有丰富的库函数,编程时不需要进行繁琐的底层设计,只需对函数进行调用即可,对编程设计的同学给予了很大的方便,且系列产品中也有接口丰富的产品,具有开发简单易于上手,功能强大运算速度快的优点,使我们最终选择了此系列产品作为本次设计的控制板[14]。ArduinoMega2560控制板是一块灵活便捷,便于上手的开源开发板,具有54路数字接口和16路模拟接口,其中16路数字接口可以作为PWM输出,除此之外还有4路UART接口,一个16MHz晶振器,一个USB口和复位按钮。虽然本设计使用的是现成的开发板,但对于控制芯片和最小系统的搭建都经过了研究和对比,最终才采用此款开发板,接下来将对控制板的芯片和电路组成进行说明。3.1.1控制芯片ATmega系列是一种基于AVR的低功耗8位CMOS微控制器,是ATMEL公司生产的AVR单片机系列高档型号。该系列单片机集成度较高,使用它可以减少外围电路,它具有比传统单片机更强大的CPU,具有本设计需要的大多数功能,因此选用此系列单片机作为本次设计的控制核心芯片[15]。本设计需要用到多个传感器,并且还要控制多个电机驱动模块和显示屏模块,需要多个I/O接口。ATmega2560作为该系列产品中的一款较为强大的芯片,具有接口众多且控制功能强大的优点,它不仅可以满足目前的设计要求,还能为后续的扩展设计提供便利。ATmega2560主要有以下特点:(1) 具有多达54路数字I/O接口和16个模拟I/O接口,适合需要大量I/O接口的设计;(2) 具有8位中央处理单元,频率为16MHz,能够快速响应中断并进行处理;(3) 采用5V供电电压,具有上电复位和可编程欠压检测;(4) 具有256k字节的闪存可储存程序,其中8kb用于bootloader,可选Boot代码区具有独立锁定位,可做到真正的读写同时操作,它还有8kb的SRAM和4kb的EEPROM,并具有64kb的可选外部储存空间;(5) 提供14路8位PWM输出;(6) 具有AREF模拟输出参考电压,可实现精确度较高的电压监控;(7) 内置4路UART,可以与外部进行串口通信,除此之外还有TWI接口,可兼容

lie总线。芯片选用100引脚的贴片封装,管脚图如图3.1所示。ff--51uir31famd*VKMu»E?511

tsi

wff--51uir31famd*VKMu»E?511

tsi

w冋冋幵Tin陷絹国冋口岡円問司阿月珂宥阿囲円鸣l可Hx>Ai|财心,U—T*F-ApaHmiFarawok*rjcnxLwn>3«"PWKJiHh旳-"Irup^m■Wil333Hx>Ai|财心,U—T*F-ApaHmiFarawok*rjcnxLwn>3«"PWKJiHh旳-"Irup^m■Wil333f_d3回m可可回annsn曰njlamml訶日Lam刃.UmFCATJ.FEC■W42f咀fMIIH"R«RTJRC4**«,中fDCM>”假■iriAnRMCWF*V!>:■:/R■SQM"n«K<*F■DCHHHcf.wyiFWv»"mpiDCIRi"CMl-W.riEJ-#E-=-T£--_En日kMPM-Jasf4BUJ>■-■-»R4S-rwnEJ*is-af□-iR^■s-hn—V2^-UERE-HUBQ-图3.1ATmega2560引脚图ATmega2560的主要引脚功能如表3.1所示。表3.1引脚功能表引脚名称引脚序号引脚功能PG0、PE0〜PE7、PH3〜PH6、PB4-PB71〜9、16〜18、23〜26数字I/O接口,可提供8位PWM输出。PK0〜PK7、PF0-PF782〜97模拟I/O接口,带有ADC模数转换器功能,可以将外部输入的模拟信号转变为芯片运算时可以识别的数字信号。VCC10、31、61、805V电源引脚GND11、32、62、81电源地引脚AVCC100模拟电源引脚AGND99模拟地引脚PA0〜PA7、PC0-PC7PG0〜PG2、PD7、PL0〜PL7、PB0-PB371〜78、53〜60、70、50〜52、35〜42、19〜22数字I/O接口,每路能输出和接入最大电流40mA,每一路都配置了20〜50K欧姆的内部上拉电阻。PE0、PE1、PD2、PD3、PH0、PH1、PJ0、PJ12、3、45、46、12、13、63、64RX0〜RX3,TX0〜TX3四组串口,RX接收数据,TX传输数据,其中2号脚和3号脚可以连接RS232通信接口转换芯片,通过USB接口与电

脑通信。AREF98模拟输入信号的参考电压XTAL1、XTAL233、34外接晶振引线端RESET30低电平时复位单片机芯片SDA、SCL20、21TWI接口,它是对IIC总线的继承和发展,完全兼容IIC总线。SDA是双向数据线,SCL是时钟线。3.1.2接口转换芯片CH340G是一个USB接口转换芯片,它是国产芯片,在市面上的众多USB接口转换芯片中具有低成本,低功耗和引脚少的优点,使设计更加方便。该芯片有以下特点:通过外加电平转换器件,提供RS232接口;支持5V电源电压和3.3V电源电压;该芯片的引脚图和功能表分别如图3.2和表3.2所示。CH34HGCSNWMNiM-C3SR&1RSy2UCR5T%RppCH34HGCSNWMNiM-C3SR&1RSy2UCR5T%RppI图3.2CH340G引脚图表3.2CH340G引脚功能引脚名称引脚序号引脚功能GND1公共接地端VCC16电源输入端TXD2串行数据输出RXD3串行数据输入,内置可控的上拉和下拉电阻。V34当使用3.3V输入电压时连接VCC输入外部电源,使用5V输入电压时外接容量为0.1uF的退耦电容。UD+5内置上拉电阻,可直接连到USB总线的D+数据线。

UD-6内置上拉电阻,可直接连到USB总线的D-数据线。XI7晶振输入端,需外接晶体和电容。XO8晶振输出端,需外接晶体和电容。3.1.3运算放大器运算放大器可以将信号放大,也能在开关电源中起到保护作用。LM358是双运算放大器,价格便宜且功能全面,在电子器件中得到广泛的应用,它的内部包括有两个独立的、高增益、内部频率补偿的运算放大器,供电输入电压范围为3V〜30V[i6]。该芯片的引脚如图3.3所示。1OUT11 avcc1IN1H2一_I 7OUT2IIM1(+).3—+罕1,N2IGNO4LINWJ图3.3LM358引脚图各个引脚的功能如表3.3所示。表3.3引脚功能引脚名称引脚序号引脚功能OUT11运放1输出IN1(-)2运放1反向输入IN1(+)3运放1同向输入GND4电源地IN2(+)5运放2同向输入IN2(-)6运放2反向输入OUT27运放2输出VCC8电源引脚3.2驱动板的元器件驱动板上的主要元器件是由电机驱动模块组成,并添加了电量监控的相关元器件。设计此PCB板时需要针对电机的工作不同使用不同的电机,因此也需要使用不同的电机模块。该板集成了电量显示的显示屏和芯片,因此在设计电机驱动模块时需要对电机的反转电流进行控制,防止烧坏电量显示的相关元器件。

3.2.1主动轮电机驱动模块I"1 to_L/散热片与拖地机器人在工作时需要对障碍物进行规避运动,因此本设计中采用的是三轮设计,即前方一个万向轮配合后方两个主动轮,来控制行进的方向。拖地机器人的直行和转弯依赖的是主动轮的正转和反转,遇到障碍物时需要快速反应和执行程序,因此本设计采用L298N电机驱动模块。L298N是一种双H桥电机驱动芯片,每个H桥都拥有2A的电流输出,电机供电电压范围非常大,可以实现2.5〜48v的供电电压,其中对芯片的控制需要单独通过5v供电。该芯片通过控制H桥的输入口来控制电机的正反转,并通过Arduin。进行PWM调速[切,且它具有启动转矩大,可同时驱动两台直流电机的特点,可以在本设计中得到较好的应用。该芯片的引脚图和引脚功能表分别如图I"1 to_L/散热片与WWETTStNSNG>OUfPUl4ormiiJEhi皿£BiIMVTiLCKVeStlFFLVUOLltfkE-GNGrputi5UP1=<.TTOLTifiE¥aOJIRJIZOLJmJTiGURRfFiTKHQVWA图3.4L298N引脚图表3.4L298N引脚功能表引脚名称引脚序号引脚功能115SensingASensingB与地连接电流检测电阻,并向驱动芯片反馈检测到的信号。23OUTPUT1OUTPUT2是全桥式驱动器A的两个输出端,用来连接负载。4Vs电机驱动电源输入端。57INPUT1INPUT2输入逻辑电平信号,用来控制全桥式驱动器A的开关。

6ENABLEA使能控制端,输入逻辑电平信号,低电平全桥式驱动器禁止11ENABLEB工作。10INPUT3输入逻辑电平信号,用来控制全桥式驱动器B的开关。12INPUT48GND接地端,芯片本身的散热片与8脚相通。9Vss逻辑控制部分的电源输入端口。13OUTPUT3是全桥式驱动器B的两个输出端,用来连接负载。14OUTPUT43.2.2抹布转动转轴电机驱动模块抹布转动轴在工作时阻力比较大,且转动速度较慢,因此可以使用低速时转矩较大的步进电机。抹布转动轴的转速相对较稳定,不需要经常变化,但是Arduino数字I/O口的输出电流只有40mA,步进电机的启动电流需要100mA左右,无法达到步进电机的启动要求。ULN2003A是由七个达林顿管集成的芯片,所谓达林顿管是由两个三极管组合而成的电路,可以起到放大电流的作用°ULN2003A的每个引脚的输出电流可达200mA,可以驱动步进电机I"它的引脚和功能分别如图3.5和表3.5所示。图3.5ULN20003A引脚图表3.5ULN2003A引脚功能表引脚名称引脚序号引脚功能1B~7B1〜7CPU脉冲输入端COM9该脚是内部7个续流一极管负极的公共端,各一极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。E8接地端1C〜7C10〜16CPU脉冲信号输出端,对应信号输入端。3.2.3电量监控显示模块由于ArduinoMega2560自带基准电压,因此可以使用Arduino进行电量监控,只需将12V电压进行分压后接入Arduino就可实现。剩余电量的显示可以使用LCD1602液晶显示器,它具有16个接口,驱动它需要使用11个I/O口,如果将其直接接入Arduino就会造成I/O口资源的浪费,经过查阅资料,发现LCD1602显示屏可以通过中介IIC模块,使用IIC协议与Arduino进行通信[19]。3.2.3.1LCD1602显示屏本次设计使用的LCD1602液晶显示器是一种字符型液晶显示模块,它是用于显示字母、数字和符号等的点阵式LCD,且成本较低,在市面上得到了非常广泛的使用。虽然该显示屏显示效果较为平庸,但在本设计中只需要用来显示电量剩余信息,因此使用此显示屏。该显示屏的引脚和功能分别如图3.6和表3.6所示。图3.6LCD1602显示器

表3.6LCD1602引脚功能表引脚名称引脚序号引脚功能Vss1接地端。VDD25V电源正极。E6使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。VO3此端口是液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最咼,对比度不合适时显示效果不好,使用时可以通过一个10kQ的电位器调整其对比度。RS4此端口为寄存器选择端,咼电平时选择数据寄存器、低电平时选择指令寄存器。R/W5此端口为读写信号线,高电平时进行读操作,低电平时进行写操作,该端口可以和RS端口配合使用。D0~D77〜14这8个端口为8位双向数据线。BLA15背光源正极。

BLK16背光源负极。PCF8574T接口扩展芯片PCF8574T通过两条双向总线可使大多数芯片实现远程I/O扩展,让芯片之间可以通过IIC通讯方式通信。该器件包含一个8位准双向口和一个总线接口,具有大电流驱动能力,且电流消耗低,可以直接驱动LED[20]。该芯片的引脚和功能如图3.7和表3.7所/示OPCFB泌vPCFB泌vDgmIMfF7Mp5pd图3.7PCF8574T芯片表3.7PCF8574T引脚功能表引脚名称引脚序号引脚功能A01地址输入0。A12地址输入1。A23地址输入2。P0〜P74〜7、9~12准双向I/O口。Vss8接地端。INT13中断输入,低电平有效。SCL14串行时钟线。SDA15串行数据线。VDD16电源接口。3.2.4电源电压降压模块本设计采用的供电方式是12V锂电池,而电路中不少芯片和元器件的工作电压都是5V和3.3V,因此需要采用降压稳压模块来使芯片能够正常工作。LM2576稳压芯片LM2576芯片是降压开关型稳压集成电路,它是由是美国的国家半导体公司生产的,

内部有完善的保护电路,使用该芯片只需极少的外接电子元器件便可构成高效的稳压电路,使电压稳压到5V[2i]。该芯片的引脚和功能表分别如图3.8和表3.8所示。5-aN/OFF5-aN/OFFa"3=地z-mtn图3.8LM2576芯片表3.8LM2576引脚功能表管脚名称管脚号功能VIN1输入电压端OUTPUT2稳压输出端GND3接地端FEEDBACK4反馈端ON/OFF5控制瑞,咼电平有效AMS1117-3.3稳压芯片电路中除了需要5V电压,还需要3.3V电压,因此电路中还需要3.3V的稳压芯片。本设计选用了AMS1117-3.3稳压芯片,该芯片性能稳定且价格便宜,性价比较高。该芯片的引脚和功能表分别如图3.9和表3.9所示。AMS1117图3.9AMS1117-3.3芯片表3.9AMS1117-3.3引脚功能表管脚名称管脚号功能GND1接地端Vout2输出电压Vin3输入工作电压3.3电机本设计一共使用了六个电机,其中主动轮驱动电机为两个JGA25-370减速电机,该型号电机具有额定转矩大,尺寸小的特点,适合做拖地机器人的主动轮电机;抹布转动轴在工作时需要使抹布与地面接触并做履带式运动,需要较大转矩,因此驱动电机选用

28BYJ4步进电机;刷子驱动电机选用ZGA25RP直流减速电机,该电机具有尺寸小的特点,适合驱动刷子[22]。3.4主要元器件清单控制板和驱动板使用的主要元器件如表3.10所示。表3.10元器件清单元件名称元件型号数量(个)控制芯片ATmega25601双运算放大器LM3581RS232通讯芯片CH340G1主动轮电机驱动芯片L298N1抹布转动电机驱动芯片ULN2003A2LCD显示屏LCD1602显示屏1IIC接口扩展芯片PCF8574T15V稳压芯片LM2576S-5.02正向低压降稳压器AMS1117-3.31超声波传感器HC-SR043主动轮直流减速电机JGA25-3702抹布转动轴步进电机28BYJ42刷子驱动电机ZGA25RP23.5本章小结本章对拖地机器人所使用到的主要元器件进行介绍,根据此机器人的功能要求对选用元器件的原因进行说明,并主要介绍了元器件的引脚功能。4电路设计拖地机器人的系统主要分为两部分,第一部分是控制部分,该部分以ATmega2560为核心,围绕它设计最小系统电路,并根据本设计添加需要的功能。第二部分是驱动板部分,该部分集成了电机驱动元器件和显示屏电路。4.1控制板的电路设计4.1.1控制芯片最小系统电路设计本文中使用的核心控制芯片是ATmega2560,它具有控制功能强大,I/O接口多的特点,且容易开发,非常适合本设计。ATmega2560作为本设计的核心控制芯片,整个电路都是围绕其搭建。首要任务是使芯片能够工作,因此先对其的最小系统电路进行搭建设计。将电源接口与5V电源进行连接,并连接去耦电容接地,稳定电源电压,减少电源杂波对芯片的影响。将每个接地端都共同接地。AREF作为基准电压外部输入引脚,将其串联滤波电容并接地。XTAL1和XTAL2用来提供外部振荡源给片内的时钟电路[23],将在下文进行具体说明。控制芯片的最小系统如图4.1所示。PQ2^rfPtfl,E)B・K-T0GC1)K5皿口〕PG2盼I皿.PG(i>URiCCCC'■C囂至own-1PI^ETPQ2^rfPtfl,E)B・K-T0GC1)K5皿口〕PG2盼I皿.PG(i>URiCCCC'■C囂至own-1PI^ETCTALL宁細AinccASEFGXI!gT•,LEvC-图4.1ATmega2560最小系统4.1.2时钟电路设计ATmega2560芯片可以使用两种时钟方式,分别为内部和外部时钟方式。XTAL1和XTAL2引脚在内部连接着一片内振荡器结构,当使用内部时钟方式时,仍需要在这两个接口之间连接一个晶振和两个电容才能组成时钟电路;当使用外部时钟方式时,时钟信号的方波可以直接输入XTAL1引脚,而XTAL2管脚悬空。虽然外部时钟方式比内部时钟方式简单,但大多数使用ATmega2560搭建的系统都是采用内部时钟方式,原因是内部振荡器能与晶振和电容构成一个性能好又稳定的时钟信号源,而如果要使用外部时钟方式产生如此稳定的信号,需要添加的器件远不止一个晶振和两个电容。正因为内部时钟方式的优越性,本次设计使用此芯片搭建的时钟电路正是内部时钟方式的接线[24]。时钟电路在单片机系统中非常重要,它掌控者单片机的工作节奏,是系统中不可缺少的部分。此部分的电路设计如图4.2所示。图4.2时钟电路4.1.3复位电路设计复位电路是单片机系统中不可或缺的部分,它可以使系统电路稳定可靠地工作。只要弄清楚此芯片的复位电路工作原理,就可以将复位电路设计得比较简单。ATmega2560芯片的RESET端口低电平时有效,因此设计为RESET端口串联一个按钮后接地,在按钮前端并联一个上拉电阻接5V电源,当按钮弹起时RESET高电平,而当按钮按下时RESET端口接地,复位单片机。复位电路的设计如图4.3所示。图4.3复位电路4.1.4RS232串口通讯芯片与上位机的交流必须采用串口通讯的方式,RS232是目前最常用的一种串行通讯接口,通过串口通讯可以使ATmega2560芯片与电脑进行通讯,进行数据的传输和通讯。本文使用的串口通讯芯片是CH340G,它是一个USB接口转换芯片,通过与ATmega2560芯片的RX0和TX0连接,即可使Arduino板可以通过USB接口与电脑端进行通讯。该电路根据CH340G的引脚功能表进行连接,电路图如图4.4所示。

图4.4CH340G电路4.1.5TWI总线电路本设计中需要使用IIC通讯方式使LCD显示屏与Arduino进行通讯,因此需要使用SDL和SCL接口。ATmega2560芯片中的这两个接口使用的是TWI总线接口,这种接口相较于IIC总线具有硬件连接简单,软件设计方便和运行可靠的优点,是IIC总线的继承和发展。设计该电路只需使用5V电源串联电阻与接口连接即可,该电路如图4.5所示。图4.5TWI总线电路4.1.6双运算放大电路运算放大器在开关电源中起到保护作用,且该放大器能对电流信号进行放大,使控制芯片能接受到更明显的信号。设计LM358的电路时输出端不需要接上拉电阻,其电路如图4.6所示。图4.6LM358图4.6LM358电路4.1.7Arduino引脚接口Arduino需要连接很多外接元器件,因此需要设计引脚接口与外设进行连接。图4.7和图4.8是数字I/O口,但可以输出PWM信号。图4.9为通讯接口,可以通过这些接口进行串口通讯。图4.10为电源接口,提供各个电压的接口。图4.11为模拟I/O口,可输入温度、电压等模拟信号。图4.12为数字I/O口,输出标准TTL逻辑信号。图4.7PWM输出接口leader声GNI?A^EF~AREFFW锵卩由WMiO"pron1511「||'GND图4.8PWM图4.7PWM输出接口leader声GNI?A^EF~AREFFW锵卩由WMiO"pron1511「||'GND图4.8PWM输出接口:1Sd2dSDAT9 rxdT■?8 TXD?T7 RXDTTS rxn:T? 3T-HeaderS+5RESET;机’+1"匸ND图4.10电源接口图4.9通讯接口图图4.15L298N电路ADCO_A(1ADC1AlADC2__A2ADC3AlADCJA47u5aADCO_A(1ADC1AlADC2__A2ADC3AlADCJA47u5a~漆ADC6疝A[3C.;A?~PS匸M]2当□4567三EikrS?:2FCLPC3FCJW函PA?ADCSA&1ADC9A9LADC1DA1-3Xi3456-ADC:]Al1ABC11Al?ADC:3A13ADC14A14ADC15Al5fnHeader8deaderSPB0S5 53n 7152FB上制3151 i J国PL3 i1|~48Pl.「 "「I Z : I"盤壬11;國PG0 灵口 卜 li HOEG^3r^£jJH三3X2FBLSCKFB3MJSOFL]TL-PL'FL-FG]图4.12数字I/O口图图4.12数字I/O口4.2驱动板的电路设计4.2.1降压稳压电路本设计使用的电源是12V锂电池,而ATmega2560和电路中的各种芯片,它们都是使用5V和3.3V电源,因此根据LM2596S-5.0和AMS1117-3.3的引脚功能表,设计了如图4.13和图4.14的电路。-*■U1VDTOUTOK-OFFFB□NDTABLM2596^-50-*■U1VDTOUTOK-OFFFB□NDTABLM2596^-50图4.13LM2596S-5.0电路如图4.13所示,为了防止在输入端出现太大的瞬态电压,LM2596S-5.0的输入端和地之间接入了一个电容,而输出端与地之间接了电容和电感,构成了低通滤波器,减小了输出波纹,使输出电压更加稳定。电路中的肖特基二极管可以和L1配合输出时续流,利用输出的电感感应电动势帮助开关电源额外增加输出电流。U]AS]11^:47uF3528=^CI6:47uF3528=^CI6iC_0.luF_0M)3T1±CI5n-iri*rr\n-i图4.14AMS1117-3.3电路如图4.14所示,AMS1117-3.3的输入端和输出端都与地之间连接了电容,这些电容的作用和LM2596S-5.0中的电容作用类似,也是起到保护电路和稳定输出电压的作用。4.2.2主动轮电机驱动电路主动轮主要是用于控制拖地机器人的直行和转弯,因此它需要根据传感器反馈的前进道路状况来改变转速。由于Arduino的输出电流只有40mA,不足以驱动电机,因此需要使用L298N来驱动电机。L298N的内部设计了双全桥式驱动器,通过控制ATmega2560的接口输出对L298N的输入端电平进行控制,就可以使电机完成正反转和停转。该芯片的双电机接线方式为0UT1和0UT2接A电机,0UT3和0UT4接B电机。IN1至IN4从ATmega2560接输入控制电平,IN1和IN2控制电机A的正反转,IN3和IN4控制电机B的正反转。ENA和ENB是控制使能端,通过控制这两个端口的高低电平来控制电机的停转。电机的调速使用PWM调速的方法,即将ENA和ENB两个接口接到ATmega2560的PWM输出端,通过调节占空比来调节电机的转速,占空比越大,电机转速越快。电路如图4.15所示。4.2.3抹布转动轴电机驱动电路由于抹布的粗糙度比较大,与地面相互运动时会产生比较大的阻力,因此抹布转动轴驱动电机需要具备较大的转矩才能使拖地工作正常运行。本设计采用的是步进电机来驱动抹布转动轴,因为步进电机在低速时具有较大转矩,且步进电机采用的驱动方式是通过步进角驱动的,两个步进电机同时控制抹布转动轴时可以以较小的误差进行同步运动。ULN2003A是一款集成达林顿管IC,具有电流放大的作用,使用时只需将输入端1B至4B与ATmega2560接输入控制电平,对应的四个输出端1C至4C与四相五线的对应接口连接,即可完成对步进电机的控制°ULN2003A具有七组输入端和输出端,可以通过两相的接法同时接入两个步进电机,虽然此芯片的每个输出端口可承受200mA的电流,但步进电机的输入电流为100mA到150mA之间,如果发生卡死的情况可能会更高。为了防止电流过大烧坏芯片,本设计中的两个步进电机采用了两个ULN2003A来控制。该芯片的电路设计如图4.16所示。图4.16ULN2003A电路4.2.4电量监控电路ATmega2560自带1.1V的基准电压,因此可以将其与输入电压进行比较,并对最高值和最低值的电压差进行积分,再将其转换为百分比即可完成本设计的电量监控。由于ATmega2560的输入电压不能大于5V,而此设计的供电电压为12V,因此需要对其进行分压才能将其接入ATmega2560进行电量监控。该分压电路如图4.11所示,将12电压与地之间串联R1和R2两个电阻,通过分压公式Vout=(VinXR2)/(R1+R2)计算可得出接入ATmega2560模拟I/O口的输入电压为4V。分压电路如图4.17所示。图图4.18显示电路图4.17分压电路4.2.5显示电路使用者要想得知拖地机器人的电量剩余情况,就必须要将ATmega2560电量监控的结果通过显示屏反映出来。因此本设计中采用LCD1602显示屏和PCF8574T接口扩展芯片的组合,使用IIC通讯的方式将ATmega2560监测的电量剩余情况通过LCD1602显示屏反映给使用者。根据LCD1602显示屏的引脚功能表,在VCC口和VO口之间连接一个10KQ的电位器,可以调整电位器值的大小来调整对比度,其余接口与PCF8574T的对应接口相连接。IIC通讯方式是由PCF8574T的SDA和SCL接口与ATmega2560的SDA和SCL接口相连接,即可通过IIC总线进行通讯。该部分电路如图4.18所示。

4.2.6驱动板引脚接口由于驱动板和控制板不是同一块PCB板,因此需要引脚接口与Arduino板连接。图4.19为L298N外接接口,ENA和ENB接到Arduino板的PWM2和PWM3输出接口,IN1到IN4接到Arduino板的22〜25数字接口。图4.20为主动轮电机端口,接到电机的正负极。图4.21和图4.23分别为驱动步进电机A和步进电机B的ULN2003A接口,IN21到IN24和IN31到IN34分别与Arduino板的PWM6〜9,PWM10-13输出接口相连。图4.22和图4.24分别为步进电机A和步进电机B的五线接口,按照颜色连接。图4.25为刷子电机接口,直接由电源驱动。图4.26为电源接口,接入锂电池正负极为驱动板供电。图4.27为超声波传感器电源端接口,分别与三个HC-SR04传感器的VCC和GND端相连。图4.28为PCF8574T接口,VCC和GND端分别于5V电源和公共地连接,SDA和SCL与Arduino板20和21号接口相连。It:adcid电机螺口图4.19L298N接口?20INN11N22TOTTO4Header4图4.20主动轮电机接口P21Header5图4.21ULN2003A输入端接口(A)图4.22四相五线电机接口(A)IIN311X33IE4H时危4P26ieader5图4.23ULN2003A输入端接口(B)图4.24四相五线电机接口(B) P7电机调II12Headitf2GND图4.26电源接口 P7电机调II12Headitf2GND图4.26电源接口图4.25刷子电机接口-3十+GNDHeadei'-PH)GNUGNDvcc~SDASCI.图4.28超声波传感器接口图图4.28超声波传感器接口4.3实物图介绍4.3.1控制板实物图介绍 本次设计所使用的控制板是ArduinoMega2560,实物如图4.29所示。在上文中对ATmega2560芯片系统进行了搭建设计,本小节将此次设计所使用到的系统模块进行介 绍,并在图中用数字进行了标记,并在下文对其进行相关介绍: 主控芯片ATmega2560,是整个系统的控制核心。 此芯片为CH340G,是USB接口转换芯片,使主控芯片可以通过USB连接的方式与上位机进行串口通讯。 AMS1117-5.0稳压芯片,使12V输入电压降压稳压到5V,供芯片和外接接口使用。AMS1115-3.3稳压芯片,将5V电压降压稳压到3.3V,可供外接接口和基准电压使用。LM358双运算放大芯片,可以放大电流信号并起到保护电路的作用。复位按钮,可以使系统进入初始状态,防止死机。PWM输出接口,在此设计中需要使用12个PWM接口对四个电机进行调速控制。电源接口,可以输出接口所对应的电压,也可接入对应电压供电电源。模拟I/O接口,可以将输入的电压、温度、电流等信号转化为芯片可以识别的数字信号。通讯接口,可以通过这些接口进行串口通讯。数字I/O接口,输出信号逻辑电平,即“1”或“0”。

[gjooQf;^:.3w」rnarExtlI異<-IZ.J括f»一牌用啪暁綢邮:?£•mIMcr:,,:IM叫.Dflioi:—rixJaIC6IrPOUE样I枝二早与三MEGA25d0D—[gjooQf;^:.3w」rnarExtlI異<-IZ.J括f»一牌用啪暁綢邮:?£•mIMcr:,,:IM叫.Dflioi:—rixJaIC6IrPOUE样I枝二早与三MEGA25d0D—村Ebli'KfL rIk Maivnar^kaiJi■—»¥*<«<cccccW 一 ,■—图4.29ArduinoMega2560控制板实物图4.3.2驱动板实物图介绍本次设计的驱动板集成了两块ULN2003芯片和一块L298N驱动芯片,并配合LM2596S稳压芯片和各种接线口,构成了本设计的电机驱动部分。实物如图4.30所示,在实物图中对各个模块部分进行了标号,并在下文中对其进行介绍:L298N主动轮电机驱动模块,对主动轮电机的转向和转速进行控制。LM2596S降压稳压模块,将12V输入电压降为5V供电路板中的芯片使用。ULN2003A步进电机A驱动模块,对抹布转动轴A的电机进行驱动。ULN2003A步进电机B驱动模块,对抹布转动轴B的电机进行驱动。电路监控电路,将12V输入电压使用电阻进行分压之后通过接口连接控制板对其进行电量剩余情况的监控。电路监控接口,将其与控制板的模拟口连接。主动轮电机A接口,将主动轮的直流减速电机正负极接入即可对其进行控制。L298N控制端接口,从左到右对应的功能口分别为ENA、INLIN2、IN3、IN4、ENB,将ENA和ENB口与控制板的数字接口连接,IN1至IN4与PWM口连接。主动轮电机B接口,功能同第7点所述。ULN2003A抹布驱动轴A电机控制端接口,将其与控制板的PWM口连接。ULN2003A抹布驱动轴A电机输出端接口,将其从左到右的接口分别与步进电机的蓝、粉、黄、橙、红线依次连接。ULN2003A抹布驱动轴B电机输出端接口,将其从左到右的接口分别与步进电机的红、橙、黄、粉、蓝线依次连接。ULN2003A抹布驱动轴B电机控制端接口,将其与控制板的PWM口连接。刷子电机A接口,连接电机正负极。刷子电机B接口,连接电机正负极。 锂电池电源接口,负极在上方,正极在下方。超声波传感器接口,上方三个接口接三个传感器的正极,下方三个接口接三个传感器的负极。图4.30驱动板实物图驱动板除了有上述的模块之外还有LCD1602显示屏模块,使用螺柱将其固定在驱动板上,LCD1602显示屏模块如图4.31和图4.32所示,组装完成后如图4.33和图4.34所示。将如图4.31红框中的GND和VCC接口与控制板的电源口连接,SDA和SCL接口与控制板的SDA20和SCL21分别连接。图4.31PCF8574T模块实物图图4.32LCD1602显示屏实物图图4.33驱动板组装图图4.34驱动板组装图4.4本章小结本章是全文的重点,在选好元器件的基础上对各个芯片的外围电路进行设计,对ATmega2560的最小系统电路、串口通讯电路、L298N驱动电路、ULN2003驱动电路和PCF8574T接口转换电路等电路设计进行详细说明。图图5.3输出4V电压的接口测试图图5.3输出4V电压的接口测试图图5.1蜂鸣档5电路板实物测试和仿真以AltiumDesigner18设计的电路原理图为基础完成的电路板焊接完成后,需要进行实物测试。由于此次设计是在家中完成,与小组其他成员各自在不同的地方,因此当电路板测试完成后无法马上进行所有器件的整合测试。鉴于这些原因本次设计除了进行实物测试之外还需要进行仿真测试,确保结构设计的同学在进行组装调试的时候不会出现电路设计和软件设计上的问题。5.1电路板的实物测试鉴定一块电路板的好坏就是对其电子元器件进行通路测试和功能测试,确保其能完成设计的功能。由于此块电路板是手工焊接完成的,而且有贴片封装的元器件,焊接完成后需要对引脚进行检查,确保引脚不会连在一起。对引脚检查完毕后将万用表的量程调到蜂鸣档,即如图5.1所示档位,两个表笔碰到一起时万用表会发出“哗”的连续蜂鸣声,当表笔检测的电路是通路时万用表也会发出蜂鸣声,而电路为断路时万用表则不会发出声音,根据此原理使用此档位对电路板中的各个元器件进行通路的测试。对通路的检查完毕之后将万用表调至电压端,由于此电路的供电电池为12V锂电池,因此将万用表调至20V的档位即可,使用此档位对电路板的输出电压端进行测试,检测其是否能输出原理图所设计的输出电压。测试结果如图5.2,图5.3和图5.4所示,5V电压的输出端检测出4.92V电压,4V电压输出端检测出3.74V电压,12V电压输出端检测出11.32V电压,由于电池不是满电状态,且万用表存在的误差也会影响测试的结果,经多次测试,认为电路的输出电压符合原理图的设计。

图5.2输出5V电压的接口测试图5.4输出12V电压的接口测试5.2仿真测试电压输出端口只需接电源即可进行相应的测试,但电机驱动模块的排针端口需要用Arduino控制板进行相应的电平输入才能有输出。由于Arduino控制板在软件设计分工的同学家里进行软件输入和调试,因此无法在电路板完成焊接之后立刻对电机驱动模块的排针端口进行实物测试,需要邮寄到软件设计分工的同学家才能测试。由于小组同学各自在不同的地方,如果在进行软件和硬件综合调试时出现问题再来修改可能时间就来不及,因此本次设计使用Proteus对软件和电路原理图进行结合仿真测试,验证此次设计软硬件结合的合理性和可行性。整体的仿真电路如图5.5所示,本次仿真采用的是ArduinoMega2560对各个模块进行仿真测试,由于仿真时不需要考虑电容滤波和电阻限流的问题,因此各个电路都以最简化的方式绘制。各个部分的电路如图5.6至图5.11所示,其中图5.9为超声波传感器电路,此电路中由激励源信号模拟距离的变化,通过示波器查看传感器输入和输出的波形变化,然后观察距离变化之后主动轮电机的转速变化,通过这些仿真来模拟机器人的避障行为。图5.11为模拟电池电压输入的电路,通过改变电池的电压值模拟电池满电和缺电状态,观察显示屏仿真电量监控功能。图图5.9传感器仿真电路.VMMmJm££-.>fjexwr-lu-咅is£,-■■■■£」:$llo-L!-ld■el--l.llD-EK图5.5仿真电路整体图ARD1slNcjcran若—ggd.owwlxldesuWHdkLNiJd^EiJIabadCZDSGQEn-PftAJWD4AHAIDCIN•BWW邑MOMNg£切■CM■受■tl-HGCKG-IMsdSPHD忠!■■!二w〔2dwunLJcwpLl-dSW1/SJ0VTM:!3M,wLL.dmuoYITll-dLCJoyTE吕言LL-d室_w_e莒LJJgd/MxlILUJdnN苗ELJRhUJd5」M>UE<_IW山dffio-soibmlwEo寫出■♦LI号HdLLNyLdxyscPN匸s,,cI全含HdION■長dy/DEELZG焉MMQpadjwdoPA2XAD2-呈PftS^JDSPAGWOGPA7XAD7RC7JA15TOJA14PC5JA13仲"PC3JA11RC2JA10PC1XA9..PCQTA8PD7JTOPDacJ^LE.PQ1.RDFCfliWR-罷PL5i<iC5CFLWC5BFLWC5AFL2/T5FL1J1CP5FLWCP4fbsjMso用armFfi2jMOSlfl^aMT2PB1SCK^CINT1FfflSSPCHTD-21qq_Lli^2L二q_as:_aiqq_3Q-_±L亠亠亠_fi£二^RDLINOhEGA2EEDfi:图5.6ArduinoMega2560接口图-+12V-A:U'IMW<TEXT>.图5.7抹布转动轴仿真电路图5.8主动轮电机仿真电路LCD1vmn.U3iTEKTi图5.10显示屏仿真电路图5.11电量监控分压输入仿真电路vmn.U3iTEKTi图5.10显示屏仿真电路图5.11电量监控分压输入仿真电路将电路中所有仿真模块都绘制完成后将文件发给软件设计的同学输入程序进行软硬件结合仿真测试,测试结果和设置如图5.12至图5.16所示。图5.12为抹布驱动轴仿真测试结果,输入PWM信号波之后步进电机能进行转动,符合设计结果;图5.13为激励源信号的设置,来对超声波传感器进行输入信号的仿真,通过改变占空比来改变模拟距离的变化;示波器显示结果如图5.14所示,上面的线代表Trig,当其发出一个不小于10us的高电平时就触发传感器发出一定频率的超声波,下面的线代表Echo的接收信号,当传感器发出超声波信号时Ech。置于高电平,直至接受到返回信号才变为低电图图5.13激励源信号设置图图图5.13激励源信号设置图平,

温馨提示

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

评论

0/150

提交评论