《基于Arduino的拖地机器人——电路设计.doc》由会员分享,可在线阅读,更多相关《基于Arduino的拖地机器人——电路设计.doc(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北京理工大学珠海学院2020届本科生毕业设计摘 要清洁机器人是一款可以为人类生活提供服务和便利的产品,是科技快速发展的代表产物,拖地机器人作为扫地机器人的一个分支,近年来在市场上也出现了很多型号。不论是扫拖一体的机器人还是只有拖地模块的机器人,都存在着拖地效率不高的问题,为了解决这个问题,本小组设计了一款基于Arduino的拖地机器人。本文对此款拖地机器人的元件选型,设计和制作电路进行说明。硬件电路分为两部分,一部分是以ATmega2560为核心的控制板;另一部分是以L298N为核心的电机驱动板,并整合了电量显示模块。这两块电路板共同组成了本设计的硬件电路部分,并经过仿真和实物调试,验证了电路
2、的可行性。关键词:拖地机器人;Arduino;ATmega2560;控制板;电机驱动板Ground mopping robot based on Arduino- Circuit designAbstractThe cleaning robot is a product that can provide services and convenience for human life, and is a representative product of the rapid development of technology.As a branch of sweeping robots, mop
3、ping robots have also appeared in the market in recent years with many models.Whether it is a robot that sweeps and drags one or a robot with only a mopping module, there is a problem of low mopping efficiency. To solve this problem, the team designed a mopping robot based on Arduino.This article ex
4、plains the component selection, design and production of this mopping robot.The hardware circuit is divided into two parts, one part is the control board with ATmega2560 as the core; the other part is the motor drive board with L298N as the core, and integrates the power display module.The two circu
5、it boards together form the hardware circuit part of this design, and after simulation and physical debugging, the feasibility of the circuit is verified.Keywords:Floor mopping robot;Arduino;ATmega2560;Control circuit board;Motor drive circuit board目录1 绪论11.1 研究背景及意义11.1.1 研究背景11.1.2 研究目的和意义21.2 国内外
6、发展现状21.2.1 国外发展现状21.2.2 国内发展现状41.3 拖地机器人的发展趋势41.4 研究主要内容和目标51.5 本章小结52 拖地机器人系统的总体方案设计62.1 控制板的方案设计62.2 驱动板的方案设计72.3 本章小结83 拖地机器人系统的相关元器件93.1 控制板的元器件93.1.1 控制芯片93.1.2 接口转换芯片113.1.3 运算放大器123.2 驱动板的元器件133.2.1 主动轮电机驱动模块133.2.2 抹布转动转轴电机驱动模块143.2.3 电量监控显示模块153.2.4 电源电压降压模块173.3 电机183.4 主要元器件清单183.5 本章小结18
7、4 电路设计194.1 控制板的电路设计194.1.1 控制芯片最小系统电路设计194.1.2 时钟电路设计194.1.3 复位电路设计204.1.4 RS232串口通讯204.1.5 TWI总线电路214.1.6 双运算放大电路214.1.7 Arduino引脚接口224.2 驱动板的电路设计234.2.1 降压稳压电路234.2.2 主动轮电机驱动电路244.2.3 抹布转动轴电机驱动电路254.2.4 电量监控电路254.2.5 显示电路264.2.6 驱动板引脚接口274.3 实物图介绍284.3.1 控制板实物图介绍284.3.2 驱动板实物图介绍294.4 本章小结325 电路板实
8、物测试和仿真335.1 电路板的实物测试335.2 仿真测试356 结论与展望426.1 工作总结426.2 展望43参考文献44致谢45附录1 硬件相关图46附录2 英文文献50附录3 英文文献翻译551 绪论1.1 研究背景及意义1.1.1 研究背景随着二十世纪以来工业技术的快速发展,各种工业产物相继问世,在众多工业产品里面高端技术集成度最高,代表了工业最高水平的产物之一就是机器人。第一台工业机器人诞生于1962年,该机器人由美国研制和制造,机器人经历了五十多年的发展已取得显著的进步,并将在二十一世纪成为各个国家工业水平发达程度的标杆。目前,各个工业发达的国家都相继出台了相关政策以促进本国
9、机器人的发展。美国为了在机器人行业保持领先地位,分别于2009年和2011年推出了第一版的机器人技术路线图和国家机器人计划,目的是创造更好的机器人系统;2014年,欧盟为了满足经济发展对机器人技术的需求,推出了欧盟机器人研发计划;中国为了实现从“制造大国”向“制造强国”的转变,于2015年发布了中国制造2025,并在2016年发布机器人产业发展规划,从基础上强化机器人产业的能力,培养多家企业龙头1。在各个国家推出的一系列政策的推动下,必将促进机器人技术的飞跃发展,进一步改变我们的生产和生活方式。服务型机器人作为机器人的一个分支,在市场中也占据着很大的份额。中国于2006年发布的国家中长期科学和
10、技术发展规划纲要(2006-2020年)中对智能服务型机器人给予了明确的定义:“智能服务机器人是在无人为干涉条件下为人类提供必要服务的集成高新技术的智能化装备”,并明确指出要将其列为重点发展的前沿技术,并在2020年时要将智能服务型机器人发展为战略高新技术。2013年3月美国发布的机器人技术路线图:从互联网到机器人中提出机器人技术在服务领域、创造新市场和改善人们生活质量等方面都存在着巨大的潜力2。服务机器人是二十一世纪高新技术服务业的重要组成部分,各个国家都在此领域投入了巨大的研发精力,发展服务机器人也是我国高科技产业发展的一次重大机遇,对于提升国家竞争力具有重大战略意义,因此服务机器人的创新
11、和发展是国家重点扶持的项目。清洁机器人作为进入人类家庭生活最普遍的机器人之一,它能够代替人类完成家庭环境的清洁,使人们解放双手,提高生活质量,是服务型机器人中不可或缺的一部分。清洁机器人涉及到很多关键的科学问题,例如机构学,运动学,导航和路径规划,这些重难点是阻碍清洁机器人快速发展的原因之一3,目前国内外相关行业学者都在对其进行研究和突破。清洁机器人可以根据清洁领域细分为扫地机器人,拖地机器人,洗碗机器人和擦窗机器人。其中地面清洁机器人的研究虽然已经取得了丰富的成果,也在清洁机器人里占据了很大的市场,但是目前市场中的大量产品都存在着一些问题。首先,扫地机器人得到了很多年的发展,扫地方案和技术都
12、较为成熟,但拖地机器人发展时间较短,水渍残留和拖地清洁程度不高的问题一直无法得到有效解决;其次,虽然市场上存在大量扫拖一体类型的清洁机器人,但是大多数产品的结构和功能都相似,在拖地机器人的问题没有得到解决之前就将扫地机器人和拖地机器人合二为一,不仅水渍残留和拖地效率不高的问题无法解决,还会使耗电速度大大提高,使得扫地机器人的技术优势因为能耗问题无法发挥。1.1.2 研究目的和意义目前市面上大多数拖地机器人采用的拖地方式都是用一块抹布固定在底部,然后通过水箱渗水的方式来浸湿抹布,同时机器人进行移动从而完成拖地工作。这种拖地方式虽然能够完成拖地工作,但由于抹布接触地面的一面经过长时间的工作后会沾上
13、灰尘,使得后半程拖地工作的清洁程度不如前半程,且由于是通过渗水来浸湿抹布的工作方式,难免会因为渗水过多导致水渍残留的问题4。为解决以上问题,本小组设计了一款基于Arduino控制的拖地机器人。这款拖地机器人的抹布在底部做履带式运动,机器人内部有两个刷子对抹布的表面进行清理,并且在机器人前方有一个挤压装置,可以使抹布在经过浸水清理表面后的拖地工作中不会遗留水渍。本文主要为此款拖地机器人设计电路板,利用所学的知识和网上查找的资料,选用以Arduino Mega2560为核心控制板,运用传感器和各种元器件,通过L298N和ULN2003A电机驱动模块操控电机,从而完成拖地机器人的转向、避障、拖地和电
14、量监控等功能。1.2 国内外发展现状1.2.1 国外发展现状SANYO公司于上世纪80年代就已经对自主机器人开展了研发工作,虽然该公司没有留下占领市场的产品,但其作为扫地机器人的研究先驱,对清洁机器人的发展起到了不可替代的促进作用。经过了数十年的发展,2001年世界第一款量产并投入市场的扫地机器人才诞生,它就是由瑞典家电巨头伊莱克斯制造的“三叶虫”扫地机器人。该扫地机器人经过了几代的更迭,刚问世时有着避障效果不好的明显缺陷,经过了改进,从第二代以后的产品相较于第一代有了较大进步,可以通过放置磁条来实现禁止进入房间和避免跌落楼梯的危险。虽然该扫地机器人并不成熟,但是已经具备现代扫地机器人的基本功
15、能5。图1.1 “三叶虫”扫地机器人 图1.2 Roomba980扫地机器人Roomba系列扫地机器人于2002年9月投放在市场上,该产品是由美国iRobot公司研究制造的,一出现就成为了这一市场的代表产品。Roomba系列扫地机器人从最初的随机无规划式Roomba3到Roomba8系列,到2015年9月推出的具有可视化定位的Roomba980,为了实现自我定位,该产品在顶端安装有一个视觉摄像头,并具有手机APP的WiFi互联功能,联网运动控制,预约清扫,清扫地图实时查看等功能6。随着该产品的出现,证明了扫地机器人技术发展到现在已经趋于完善和成熟,并开始了下一个方向的研究。拖地机器人是扫地机器
16、人的一个分支,它起步较晚,且需要克服较多的设计难点,是近年来清洁机器人发展的研究重点。Scooba390是全球第一款全自动拖地机器人,该机器人是由iRobot公司研究推出的产品,它采用独特的“四段式清洗系统”,即工作过程经过扫地、洒水、擦拭和吸水四个阶段,集拖地和吸尘一体化的清洁效果。Scooba390的背面如图1-3所示,该机器人在工作时先用前方的刷子将灰尘扫到清洁胶条处,经吸尘口吸到集尘盒里,在胶条后方有喷水口,经过回旋刷的洗刷后水渍由回旋刷后方吸水橡胶刮片吸收7。拖地机器人的擦地方式可分为主动式和被动式两种,主动式拖地机器人清洁地面比较干净,水渍残留问题不明显,但使用场合存在局限性,不能
17、在毛毯上使用,且价格较贵。被动式拖地机器人的结构是用一块擦地抹布固定在机器人的底部,抹布贴着地面,同时在固定抹布的上方渗水,随着机器人的移动对地面进行擦拭工作。这种工作方式的拖地机器人有美国iRobot公司研发的Braava380,它适用于大多数地面,且由于结构简单,可以将拖地模块整合到扫地机器人里,成为扫拖一体的清洁机器人8。 图1.3 Scooba390主动式拖地机器人 图1.4 Braava380被动式拖地机器人1.2.2 国内发展现状国内的清洁机器人起步较晚,落后于世界大多数发达国家,但发展较快,且定价较低,很快就抢占了国内的大部分市场。国内较为出名的厂商有科沃斯,小米米家、美的和深圳
18、银星智能科技等公司,他们都研发出自己的代表产品,并持续在这方面进行深入的研究。目前市场上的产品大多数都是扫拖一体化的清洁机器人,由于国产定价比较低,所以国内厂商的产品在市场上有很高的占有率。虽然市场占有率较高,但是近些年来的产品都缺少创新性,使用的拖地方案都是被动式拖地法,存在的水渍残留和清洁程度不高的问题仍然存在。1.3 拖地机器人的发展趋势拖地机器人是清洁机器人的一个重要分支,目前对于该机器人的研究还处于起步阶段。虽然在各个科研公司的不断研究下取得了很多的研究成果,但由于该领域涉及到的学科较多,尤其在结构方面还存在一系列问题需要研究,因此拖地机器人的发展现状也只是差强人意。主动式拖地方式虽
19、然清洁效果较好,但由于是通过洒水清洁的工作方式,需要较大的储水量,因此在整体体积和清洁面积方面只能两者选其一;被动式拖地机器人虽然结构简单,且能够将拖地模块和扫地机器人结合在一起,但存在污水残留和清洁程度不高等问题。鉴于这些问题,未来拖地机器人的发展大致可分为以下几个方向:(1) 更加智能化。随着人工智能技术的快速发展,能够适应各种环境和拥有更多清洁方式的拖地机器人必然会在不久的将来出现在市场上。(2)更合理的拖地方式。目前大部分拖地机器人的拖地方式都不尽人意,有各种各样的问题,需要更多的研究去探索拖地方式的更多可能性,使拖地机器人能迈入一个新的篇章。1.4 研究主要内容和目标本次毕业设计小组
20、设计了一款拥有新型拖地方式的拖地机器人,本文主要为此机器人设计硬件电路,使机器人的功能得以实现。此拖地机器人是基于Arduino控制的,主控芯片是ATmega2560,然后再设计一块以各种电机驱动芯片和传感器为主的电路板,将两块板子通过杜邦线连接就可以组成一个完整的驱动系统,装载到拖地机器人上就可以使拖地机器人开始工作。在进行电路板设计之前先根据所学的知识和资料,选用了以Arduino为核心的控制板,然后根据各个部分的工作需要选用不同的电机和驱动模块,再根据预先设计的功能选用合适的传感器,最后为电量监控选用相关的芯片和显示模块9。根据功能选定好大部分的主要元器件后就开始查找相关资料,并使用Al
21、tium Designer 18软件画出原理图。原理图主要分为两部分,第一部分是以ATmega2560为核心的控制板原理图,主要包括串口通讯和主控芯片的电路;第二部分是以L298N和ULN2003为主的电机驱动模块,还包括了传感器电路和电量监控电路10。原理图绘制完毕后就进行PCB板的制作,确保线路连接没问题后就将PCB文件发给厂家,做出PCB板之后就可以进行实物的焊接,焊接完毕后就对逐个模块进行测试,测试没问题后就可以将PCB板与拖地机器人安装到一起,这样就完成了本设计。本设计要完成的目标:(1) 学习相关资料和论文,了解电路知识各个芯片的数据参数;(2) 根据所学内容使用Altium De
22、signer 18进行原理图的绘制,并对AD18的元件库里没有的元器件进行手动绘制,并根据数据手册添加封装;(3) 根据原理图进行PCB板的绘制和合理布线,避免各个模块之间相互影响;(4) 对实物进行焊接,测试和仿真。1.5 本章小结本章主要是对拖地机器人的现状和发展进行资料的说明和分析,从而得出此次研究的必要性,然后对研究内容和目的进行说明,阐述此次研究的主要过程和要完成的目标。2 拖地机器人系统的总体方案设计本文使用ATmega2560作为控制板的核心芯片,并使用RS232串口通讯电路与电脑进行通讯,将数据和程序通过电脑传输到芯片中。驱动板是由L298N和ULN2003芯片为主的电路组合而
23、成,再增加电量监控和显示的相关电路,最终实现避障行进,抹布的运动和电量显示的功能,系统的整体框架如图2-1所示。图2.1 系统整体框架图2.1 控制板的方案设计控制板的核心芯片需要具备强大的计算能力,可以完成多项任务的同时工作,任务包括传感器的数据分析和逻辑判断,从而完成对电机驱动芯片的控制使拖地机器人进行避障行进;电量的监控和显示;抹布转动电机的驱动芯片控制等。控制芯片在进行工作任务之前需要对芯片进行程序的输入和工作仿真,因此控制板还需要能够与电脑进行通讯的电路。由于此拖地机器人需要用到的电机数量比较多,因此需要12V的电压驱动,而大多数控制芯片的输入电压是5V或者3.3V,因此还需要降压芯
24、片。鉴于以上要求,本文选用以ATmega2560芯片为核心的Arduino Mega 2560,它的优点如下:(1) Arduino Mega 2560集成了RS232串口通讯电路,拥有非常多的数字I/O口和模拟I/O口,为以后功能的扩展开发提供了可行性;(2) Arduino自带1.1V的参考电压,可以直接用来做电量监控而不需要设计多余的芯片电路;(3) Arduino的最大优点是自带非常丰富的库函数,编程时不需要进行复杂的底层代码设计,使编程的难度大大降低。2.2 驱动板的方案设计由于驱动电机需要比较大的电流,而Arduino的输出电流只有几十毫安,远远不足以驱动电机,所以需要电机驱动芯片
25、来协助。Arduino是一块已经整合完成的控制板,因此需要另外做一块驱动板,驱动板主要包括以下电路:(1) L298N电机驱动模块拖地机器人在进行拖地工作时需要做避障行进,L298N是一块普遍使用的电机驱动芯片,它可以控制两个直流减速电机,可以帮助Arduino对两个电机的转速分别进行调整,控制机器人的直行和转弯11。(2) ULN2003电机驱动模块当拖地机器人工作时抹布是在底面做履带式运动,所以驱动抹布转动轴需要比较大的力。步进电机在低速时具有比较大的扭矩,因此我们就使用步进电机来驱动抹布转动轴。虽然步进电机也可以用L298N来驱动,但对于抹布转动轴电机来说并不需要复杂的速度变化,因此选用
26、由七个达林顿管组成的ULN2003最为合适,它既能驱动步进电机,且芯片价格较低,可以节约成本。(3) 电量监控电路Arduino Mega 2560内部自带1.1V参考电压,可以用来监控电源电压,但是Arduino允许输入的电压只有5V12,对于本设计来说无法将电源电压直接接入Arduino的模拟I/O口,因此需要将电源电压用电阻分压到5V以下。(4) LCD1602显示屏模块拖地机器人需要将电量情况反映给使用者查看,所以使用一块LCD1602显示屏来显示剩余电量。由于LCD1602显示屏有16个接口,如果直接接入Arduino就会占用太多I/O口,所以在LCD1602显示屏和Arduino之
27、间使用了一块PCF8574T芯片,使显示屏可以通过IIC通讯方式与Arduino连接,这种通讯方式只占用4个I/O口,不会浪费接口资源13。(5) HC-SR04超声波传感器拖地机器人如果想要完成避障行进工作,就必须要有传感器将沿途的障碍物反映给控制芯片,因此本设计采用了HC-SR04超声波传感器。此传感器通过两个I/O口与Arduino进行通讯,将电源电路设计在驱动板中。(6) LM2596S降压芯片不论是各种芯片还是传感器,它们的供电电压都是5V,因此需要一块稳定的降压芯片将12V电压转换为5V。2.3 本章小结本章主要是对拖地机器人的电路进行一个总体方案的概述,根据设计要求罗列了各个电路
28、的设计,并对电路的总体结构和设计思路进行了说明。3 拖地机器人系统的相关元器件3.1 控制板的元器件本设计中需要通过主控芯片控制的元器件有传感器,电机,显示屏和串口通讯等模块,因此控制芯片需要拥有较多的I/O口,且需要强大的控制能力才能对如此多的工作量进行同时控制。为了选择合适的控制芯片,本小组在设计初期对Intel公司的8051系列单片机、ATMEL公司的AVR系列单片机和ST公司的STM系列单片机进行了比较。虽然8051单片机具有操作简单且容易上手,适合新手使用,但存在着运行速度较慢的缺点,不适合本设计;STM系列单片机以STM32为代表,是单片机中性能较高的产品,它接口丰富且运算速度较快
29、,但在实际操作时需要对控制对象进行复杂的底层设计,因此需要花费较多时间才能熟练掌握,对于时间紧迫的毕业设计来说不太适合;以AVR系列单片机为基础的Arduino具有丰富的库函数,编程时不需要进行繁琐的底层设计,只需对函数进行调用即可,对编程设计的同学给予了很大的方便,且系列产品中也有接口丰富的产品,具有开发简单易于上手,功能强大运算速度快的优点,使我们最终选择了此系列产品作为本次设计的控制板14。Arduino Mega 2560控制板是一块灵活便捷,便于上手的开源开发板,具有54路数字接口和16路模拟接口,其中16路数字接口可以作为PWM输出,除此之外还有4路UART接口,一个16MHz晶振
30、器,一个USB口和复位按钮。虽然本设计使用的是现成的开发板,但对于控制芯片和最小系统的搭建都经过了研究和对比,最终才采用此款开发板,接下来将对控制板的芯片和电路组成进行说明。3.1.1 控制芯片ATmega系列是一种基于AVR的低功耗8位CMOS微控制器,是ATMEL公司生产的AVR单片机系列高档型号。该系列单片机集成度较高,使用它可以减少外围电路,它具有比传统单片机更强大的CPU,具有本设计需要的大多数功能,因此选用此系列单片机作为本次设计的控制核心芯片15。本设计需要用到多个传感器,并且还要控制多个电机驱动模块和显示屏模块,需要多个I/O接口。ATmega2560作为该系列产品中的一款较为
31、强大的芯片,具有接口众多且控制功能强大的优点,它不仅可以满足目前的设计要求,还能为后续的扩展设计提供便利。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路
32、8位PWM输出;(6) 具有AREF模拟输出参考电压,可实现精确度较高的电压监控;(7) 内置4路UART,可以与外部进行串口通信,除此之外还有TWI接口,可兼容IIC总线。芯片选用100引脚的贴片封装,管脚图如图3.1所示。图3.1 ATmega2560引脚图ATmega2560的主要引脚功能如表3.1所示。表3.1 引脚功能表引脚名称引脚序号引脚功能PG0、PE0PE7、PH3PH6、PB4PB719、1618、2326数字I/O接口,可提供8位PWM输出。PK0PK7、PF0PF78297模拟I/O接口,带有ADC模数转换器功能,可以将外部输入的模拟信号转变为芯片运算时可以识别的数字信号
33、。VCC10、31、61、805V电源引脚GND11、32、62、81电源地引脚AVCC100模拟电源引脚AGND99模拟地引脚PA0PA7、PC0PC7PG0PG2、PD7、PL0PL7、PB0PB37178、5360、70、5052、3542、1922数字I/O接口,每一路能输出和接入最大电流40mA,每一路都配置了2050K欧姆的内部上拉电阻。PE0、PE1、PD2、PD3、PH0、PH1、PJ0、PJ12、3、45、46、12、13、63、64RX0RX3,TX0TX3四组串口,RX接收数据,TX传输数据,其中2号脚和3号脚可以连接RS232通信接口转换芯片,通过USB接口与电脑通信。
34、AREF98模拟输入信号的参考电压XTAL1、XTAL233、34外接晶振引线端RESET30低电平时复位单片机芯片SDA、SCL20、21TWI接口,它是对IIC总线的继承和发展,完全兼容IIC总线。SDA是双向数据线,SCL是时钟线。3.1.2 接口转换芯片CH340G是一个USB接口转换芯片,它是国产芯片,在市面上的众多USB接口转换芯片中具有低成本,低功耗和引脚少的优点,使设计更加方便。该芯片有以下特点:(1) 通过外加电平转换器件,提供RS232接口;(2) 支持5V电源电压和3.3V电源电压;该芯片的引脚图和功能表分别如图3.2和表3.2所示。图3.2 CH340G引脚图表3.2
35、CH340G引脚功能引脚名称引脚序号引脚功能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是双运算放大器,价格便宜且功能全面,在电子器件中得到广泛的应用,它的内部包
36、括有两个独立的、高增益、内部频率补偿的运算放大器,供电输入电压范围为3V30V16。该芯片的引脚如图3.3所示。图3.3 LM358引脚图各个引脚的功能如表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板时需要针对电机的工作不同使用不同的电机,因此也需要使用不同的电机模块。该板集成了电量显示的显示屏和芯
37、片,因此在设计电机驱动模块时需要对电机的反转电流进行控制,防止烧坏电量显示的相关元器件。3.2.1 主动轮电机驱动模块拖地机器人在工作时需要对障碍物进行规避运动,因此本设计中采用的是三轮设计,即前方一个万向轮配合后方两个主动轮,来控制行进的方向。拖地机器人的直行和转弯依赖的是主动轮的正转和反转,遇到障碍物时需要快速反应和执行程序,因此本设计采用L298N电机驱动模块。L298N是一种双H桥电机驱动芯片,每个H桥都拥有2A的电流输出,电机供电电压范围非常大,可以实现2.548v的供电电压,其中对芯片的控制需要单独通过5v供电。该芯片通过控制H桥的输入口来控制电机的正反转,并通过Arduino进行
38、PWM调速17,且它具有启动转矩大,可同时驱动两台直流电机的特点,可以在本设计中得到较好的应用。该芯片的引脚图和引脚功能表分别如图3.4和表3.4所示图3.4 L298N引脚图表3.4 L298N引脚功能表引脚名称引脚序号引脚功能115Sensing ASensing B与地连接电流检测电阻,并向驱动芯片反馈检测到的信号。23OUTPUT 1OUTPUT 2是全桥式驱动器A的两个输出端,用来连接负载。4Vs电机驱动电源输入端。57INPUT 1INPUT 2输入逻辑电平信号,用来控制全桥式驱动器A的开关。611ENABLE AENABLE B使能控制端,输入逻辑电平信号,低电平全桥式驱动器禁止
39、工作。1012INPUT 3INPUT 4输入逻辑电平信号,用来控制全桥式驱动器B的开关。8GND接地端,芯片本身的散热片与8脚相通。9Vss逻辑控制部分的电源输入端口。1314OUTPUT 3OUTPUT 4是全桥式驱动器B的两个输出端,用来连接负载。3.2.2 抹布转动转轴电机驱动模块抹布转动轴在工作时阻力比较大,且转动速度较慢,因此可以使用低速时转矩较大的步进电机。抹布转动轴的转速相对较稳定,不需要经常变化,但是Arduino数字I/O口的输出电流只有40mA,步进电机的启动电流需要100mA左右,无法达到步进电机的启动要求。ULN2003A是由七个达林顿管集成的芯片,所谓达林顿管是由两
40、个三极管组合而成的电路,可以起到放大电流的作用。ULN2003A的每个引脚的输出电流可达200mA,可以驱动步进电机18。它的引脚和功能分别如图3.5和表3.5所示。图3.5 ULN20003A引脚图表3.5 ULN2003A引脚功能表引脚名称引脚序号引脚功能1B7B17CPU脉冲输入端COM9该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。E8接地端1C7C1016CPU脉冲信号输出端,对应信号输入端。3.2.3 电量监控显示模块由于Arduino Mega 25
41、60自带基准电压,因此可以使用Arduino进行电量监控,只需将12V电压进行分压后接入Arduino就可实现。剩余电量的显示可以使用LCD1602液晶显示器,它具有16个接口,驱动它需要使用11个I/O口,如果将其直接接入Arduino就会造成I/O口资源的浪费,经过查阅资料,发现LCD1602显示屏可以通过中介IIC模块,使用IIC协议与Arduino进行通信19。3.2.3.1 LCD1602显示屏本次设计使用的LCD1602液晶显示器是一种字符型液晶显示模块,它是用于显示字母、数字和符号等的点阵式LCD,且成本较低,在市面上得到了非常广泛的使用。虽然该显示屏显示效果较为平庸,但在本设计
42、中只需要用来显示电量剩余信息,因此使用此显示屏。该显示屏的引脚和功能分别如图3.6和表3.6所示。图3.6 LCD1602显示器表3.6 LCD1602引脚功能表引脚名称引脚序号引脚功能Vss1接地端。VDD25V电源正极。E6使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。VO3此端口是液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度不合适时显示效果不好,使用时可以通过一个10kQ的电位器调整其对比度。RS4此端口为寄存器选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W5此端口为读写信号线,高电平时进行读操作,低电平时进行写操作,该端口可以和RS端
43、口配合使用。D0D7714这8个端口为8位双向数据线。BLA15背光源正极。BLK16背光源负极。3.2.3.2 PCF8574T接口扩展芯片PCF8574T通过两条双向总线可使大多数芯片实现远程I/O扩展,让芯片之间可以通过IIC通讯方式通信。该器件包含一个8位准双向口和一个总线接口,具有大电流驱动能力,且电流消耗低,可以直接驱动LED20。该芯片的引脚和功能如图3.7和表3.7所示。图3.7 PCF8574T芯片表3.7 PCF8574T引脚功能表引脚名称引脚序号引脚功能A01地址输入0。A12地址输入1。A23地址输入2。P0P747、912准双向I/O口。Vss8接地端。INT13中断
44、输入,低电平有效。SCL14串行时钟线。SDA15串行数据线。VDD16电源接口。3.2.4 电源电压降压模块本设计采用的供电方式是12V锂电池,而电路中不少芯片和元器件的工作电压都是5V和3.3V,因此需要采用降压稳压模块来使芯片能够正常工作。3.2.4.1 LM2576稳压芯片LM2576芯片是降压开关型稳压集成电路,它是由是美国的国家半导体公司生产的,内部有完善的保护电路,使用该芯片只需极少的外接电子元器件便可构成高效的稳压电路,使电压稳压到5V21。该芯片的引脚和功能表分别如图3.8和表3.8所示。图3.8 LM2576芯片表3.8 LM2576引脚功能表管脚名称管脚号功能VIN1输入
45、电压端OUTPUT2稳压输出端GND3接地端FEEDBACK4反馈端ON/OFF5控制端,高电平有效3.2.4.2 AMS1117-3.3稳压芯片电路中除了需要5V电压,还需要3.3V电压,因此电路中还需要3.3V的稳压芯片。本设计选用了AMS1117-3.3稳压芯片,该芯片性能稳定且价格便宜,性价比较高。该芯片的引脚和功能表分别如图3.9和表3.9所示。图3.9 AMS1117-3.3芯片表3.9 AMS1117-3.3引脚功能表管脚名称管脚号功能GND1接地端Vout2输出电压Vin3输入工作电压3.3 电机本设计一共使用了六个电机,其中主动轮驱动电机为两个JGA25-370减速电机,该型号电机具有额定转矩大,尺寸小的特点,适合做拖地机器人的主动轮电机;抹布转动轴在工作时需要使抹布与地面接触并做履带式运动,需要较大转矩,因此驱动电机选用28BYJ4步进电机;刷子驱动电机选用ZGA25RP直流减速电机,该电机具有尺寸小的特点,适合驱动刷子22。3.4 主要元器件清单控制板和驱动板使用的主要元器件如表3.10所示。表3.10 元器件清单元件名称元件型号数量(个)控制芯片ATmega25601双运算放大器LM3581RS232通讯芯片CH340G1主动轮电机驱动芯片L