基于Arduino的拖地机器人电路设计.docx
- 文档编号:4438830
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:45
- 大小:2.40MB
基于Arduino的拖地机器人电路设计.docx
《基于Arduino的拖地机器人电路设计.docx》由会员分享,可在线阅读,更多相关《基于Arduino的拖地机器人电路设计.docx(45页珍藏版)》请在冰豆网上搜索。
基于Arduino的拖地机器人电路设计
基于Arduino的拖地机器人——电路设计
摘要
清洁机器人是一款可以为人类生活提供服务和便利的产品,是科技快速发展的代表产物,拖地机器人作为扫地机器人的一个分支,近年来在市场上也出现了很多型号。
不论是扫拖一体的机器人还是只有拖地模块的机器人,都存在着拖地效率不高的问题,为了解决这个问题,本小组设计了一款基于Arduino的拖地机器人。
本文对此款拖地机器人的元件选型,设计和制作电路进行说明。
硬件电路分为两部分,一部分是以ATmega2560为核心的控制板;另一部分是以L298N为核心的电机驱动板,并整合了电量显示模块。
这两块电路板共同组成了本设计的硬件电路部分,并经过仿真和实物调试,验证了电路的可行性。
关键词:
拖地机器人;Arduino;ATmega2560;控制板;电机驱动板
1绪论
1.1研究背景及意义
1.1.1研究背景
随着二十世纪以来工业技术的快速发展,各种工业产物相继问世,在众多工业产品里面高端技术集成度最高,代表了工业最高水平的产物之一就是机器人。
第一台工业机器人诞生于1962年,该机器人由美国研制和制造,机器人经历了五十多年的发展已取得显著的进步,并将在二十一世纪成为各个国家工业水平发达程度的标杆。
目前,各个工业发达的国家都相继出台了相关政策以促进本国机器人的发展。
美国为了在机器人行业保持领先地位,分别于2009年和2011年推出了第一版的《机器人技术路线图》和国家机器人计划,目的是创造更好的机器人系统;2014年,欧盟为了满足经济发展对机器人技术的需求,推出了《欧盟机器人研发计划》;中国为了实现从“制造大国”向“制造强国”的转变,于2015年发布了《中国制造2025》,并在2016年发布《机器人产业发展规划》,从基础上强化机器人产业的能力,培养多家企业龙头[1]。
在各个国家推出的一系列政策的推动下,必将促进机器人技术的飞跃发展,进一步改变我们的生产和生活方式。
服务型机器人作为机器人的一个分支,在市场中也占据着很大的份额。
中国于2006年发布的《国家中长期科学和技术发展规划纲要(2006-2020年)》中对智能服务型机器人给予了明确的定义:
“智能服务机器人是在无人为干涉条件下为人类提供必要服务的集成高新技术的智能化装备”,并明确指出要将其列为重点发展的前沿技术,并在2020年时要将智能服务型机器人发展为战略高新技术。
2013年3月美国发布的《机器人技术路线图:
从互联网到机器人》中提出机器人技术在服务领域、创造新市场和改善人们生活质量等方面都存在着巨大的潜力[2]。
服务机器人是二十一世纪高新技术服务业的重要组成部分,各个国家都在此领域投入了巨大的研发精力,发展服务机器人也是我国高科技产业发展的一次重大机遇,对于提升国家竞争力具有重大战略意义,因此服务机器人的创新和发展是国家重点扶持的项目。
清洁机器人作为进入人类家庭生活最普遍的机器人之一,它能够代替人类完成家庭环境的清洁,使人们解放双手,提高生活质量,是服务型机器人中不可或缺的一部分。
清洁机器人涉及到很多关键的科学问题,例如机构学,运动学,导航和路径规划,这些重难点是阻碍清洁机器人快速发展的原因之一[3],目前国内外相关行业学者都在对其进行研究和突破。
清洁机器人可以根据清洁领域细分为扫地机器人,拖地机器人,洗碗机器人和擦窗机器人。
其中地面清洁机器人的研究虽然已经取得了丰富的成果,也在清洁机器人里占据了很大的市场,但是目前市场中的大量产品都存在着一些问题。
首先,扫地机器人得到了很多年的发展,扫地方案和技术都较为成熟,但拖地机器人发展时间较短,水渍残留和拖地清洁程度不高的问题一直无法得到有效解决;其次,虽然市场上存在大量扫拖一体类型的清洁机器人,但是大多数产品的结构和功能都相似,在拖地机器人的问题没有得到解决之前就将扫地机器人和拖地机器人合二为一,不仅水渍残留和拖地效率不高的问题无法解决,还会使耗电速度大大提高,使得扫地机器人的技术优势因为能耗问题无法发挥。
1.1.2研究目的和意义
目前市面上大多数拖地机器人采用的拖地方式都是用一块抹布固定在底部,然后通过水箱渗水的方式来浸湿抹布,同时机器人进行移动从而完成拖地工作。
这种拖地方式虽然能够完成拖地工作,但由于抹布接触地面的一面经过长时间的工作后会沾上灰尘,使得后半程拖地工作的清洁程度不如前半程,且由于是通过渗水来浸湿抹布的工作方式,难免会因为渗水过多导致水渍残留的问题[4]。
为解决以上问题,本小组设计了一款基于Arduino控制的拖地机器人。
这款拖地机器人的抹布在底部做履带式运动,机器人内部有两个刷子对抹布的表面进行清理,并且在机器人前方有一个挤压装置,可以使抹布在经过浸水清理表面后的拖地工作中不会遗留水渍。
本文主要为此款拖地机器人设计电路板,利用所学的知识和网上查找的资料,选用以ArduinoMega2560为核心控制板,运用传感器和各种元器件,通过L298N和ULN2003A电机驱动模块操控电机,从而完成拖地机器人的转向、避障、拖地和电量监控等功能。
1.2国内外发展现状
1.2.1国外发展现状
SANYO公司于上世纪80年代就已经对自主机器人开展了研发工作,虽然该公司没有留下占领市场的产品,但其作为扫地机器人的研究先驱,对清洁机器人的发展起到了不可替代的促进作用。
经过了数十年的发展,2001年世界第一款量产并投入市场的扫地机器人才诞生,它就是由瑞典家电巨头伊莱克斯制造的“三叶虫”扫地机器人。
该扫地机器人经过了几代的更迭,刚问世时有着避障效果不好的明显缺陷,经过了改进,从第二代以后的产品相较于第一代有了较大进步,可以通过放置磁条来实现禁止进入房间和避免跌落楼梯的危险。
虽然该扫地机器人并不成熟,但是已经具备现代扫地机器人的基本功能[5]。
图1.1“三叶虫”扫地机器人图1.2Roomba980扫地机器人
Roomba系列扫地机器人于2002年9月投放在市场上,该产品是由美国iRobot公司研究制造的,一出现就成为了这一市场的代表产品。
Roomba系列扫地机器人从最初的随机无规划式Roomba3到Roomba8系列,到2015年9月推出的具有可视化定位的Roomba980,为了实现自我定位,该产品在顶端安装有一个视觉摄像头,并具有手机APP的WiFi互联功能,联网运动控制,预约清扫,清扫地图实时查看等功能[6]。
随着该产品的出现,证明了扫地机器人技术发展到现在已经趋于完善和成熟,并开始了下一个方向的研究。
拖地机器人是扫地机器人的一个分支,它起步较晚,且需要克服较多的设计难点,是近年来清洁机器人发展的研究重点。
Scooba390是全球第一款全自动拖地机器人,该机器人是由iRobot公司研究推出的产品,它采用独特的“四段式清洗系统”,即工作过程经过扫地、洒水、擦拭和吸水四个阶段,集拖地和吸尘一体化的清洁效果。
Scooba390的背面如图1-3所示,该机器人在工作时先用前方的刷子将灰尘扫到清洁胶条处,经吸尘口吸到集尘盒里,在胶条后方有喷水口,经过回旋刷的洗刷后水渍由回旋刷后方吸水橡胶刮片吸收[7]。
拖地机器人的擦地方式可分为主动式和被动式两种,主动式拖地机器人清洁地面比较干净,水渍残留问题不明显,但使用场合存在局限性,不能在毛毯上使用,且价格较贵。
被动式拖地机器人的结构是用一块擦地抹布固定在机器人的底部,抹布贴着地面,同时在固定抹布的上方渗水,随着机器人的移动对地面进行擦拭工作。
这种工作方式的拖地机器人有美国iRobot公司研发的Braava380,它适用于大多数地面,且由于结构简单,可以将拖地模块整合到扫地机器人里,成为扫拖一体的清洁机器人[8]。
图1.3Scooba390主动式拖地机器人图1.4Braava380被动式拖地机器人
1.2.2国内发展现状
国内的清洁机器人起步较晚,落后于世界大多数发达国家,但发展较快,且定价较低,很快就抢占了国内的大部分市场。
国内较为出名的厂商有科沃斯,小米米家、美的和深圳银星智能科技等公司,他们都研发出自己的代表产品,并持续在这方面进行深入的研究。
目前市场上的产品大多数都是扫拖一体化的清洁机器人,由于国产定价比较低,所以国内厂商的产品在市场上有很高的占有率。
虽然市场占有率较高,但是近些年来的产品都缺少创新性,使用的拖地方案都是被动式拖地法,存在的水渍残留和清洁程度不高的问题仍然存在。
1.3拖地机器人的发展趋势
拖地机器人是清洁机器人的一个重要分支,目前对于该机器人的研究还处于起步阶段。
虽然在各个科研公司的不断研究下取得了很多的研究成果,但由于该领域涉及到的学科较多,尤其在结构方面还存在一系列问题需要研究,因此拖地机器人的发展现状也只是差强人意。
主动式拖地方式虽然清洁效果较好,但由于是通过洒水清洁的工作方式,需要较大的储水量,因此在整体体积和清洁面积方面只能两者选其一;被动式拖地机器人虽然结构简单,且能够将拖地模块和扫地机器人结合在一起,但存在污水残留和清洁程度不高等问题。
鉴于这些问题,未来拖地机器人的发展大致可分为以下几个方向:
(1)更加智能化。
随着人工智能技术的快速发展,能够适应各种环境和拥有更多清洁方式的拖地机器人必然会在不久的将来出现在市场上。
(2)更合理的拖地方式。
目前大部分拖地机器人的拖地方式都不尽人意,有各种各样的问题,需要更多的研究去探索拖地方式的更多可能性,使拖地机器人能迈入一个新的篇章。
1.4研究主要内容和目标
本次毕业设计小组设计了一款拥有新型拖地方式的拖地机器人,本文主要为此机器人设计硬件电路,使机器人的功能得以实现。
此拖地机器人是基于Arduino控制的,主控芯片是ATmega2560,然后再设计一块以各种电机驱动芯片和传感器为主的电路板,将两块板子通过杜邦线连接就可以组成一个完整的驱动系统,装载到拖地机器人上就可以使拖地机器人开始工作。
在进行电路板设计之前先根据所学的知识和资料,选用了以Arduino为核心的控制板,然后根据各个部分的工作需要选用不同的电机和驱动模块,再根据预先设计的功能选用合适的传感器,最后为电量监控选用相关的芯片和显示模块[9]。
根据功能选定好大部分的主要元器件后就开始查找相关资料,并使用AltiumDesigner18软件画出原理图。
原理图主要分为两部分,第一部分是以ATmega2560为核心的控制板原理图,主要包括串口通讯和主控芯片的电路;第二部分是以L298N和ULN2003为主的电机驱动模块,还包括了传感器电路和电量监控电路[10]。
原理图绘制完毕后就进行PCB板的制作,确保线路连接没问题后就将PCB文件发给厂家,做出PCB板之后就可以进行实物的焊接,焊接完毕后就对逐个模块进行测试,测试没问题后就可以将PCB板与拖地机器人安装到一起,这样就完成了本设计。
本设计要完成的目标:
(1)学习相关资料和论文,了解电路知识各个芯片的数据参数;
(2)根据所学内容使用AltiumDesigner18进行原理图的绘制,并对AD18的元件库里没有的元器件进行手动绘制,并根据数据手册添加封装;
(3)根据原理图进行PCB板的绘制和合理布线,避免各个模块之间相互影响;
(4)对实物进行焊接,测试和仿真。
1.5本章小结
本章主要是对拖地机器人的现状和发展进行资料的说明和分析,从而得出此次研究的必要性,然后对研究内容和目的进行说明,阐述此次研究的主要过程和要完成的目标。
2拖地机器人系统的总体方案设计
本文使用ATmega2560作为控制板的核心芯片,并使用RS232串口通讯电路与电脑进行通讯,将数据和程序通过电脑传输到芯片中。
驱动板是由L298N和ULN2003芯片为主的电路组合而成,再增加电量监控和显示的相关电路,最终实现避障行进,抹布的运动和电量显示的功能,系统的整体框架如图2-1所示。
图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驱动板的方案设计
由于驱动电机需要比较大的电流,而Arduino的输出电流只有几十毫安,远远不足以驱动电机,所以需要电机驱动芯片来协助。
Arduino是一块已经整合完成的控制板,因此需要另外做一块驱动板,驱动板主要包括以下电路:
(1)L298N电机驱动模块
拖地机器人在进行拖地工作时需要做避障行进,L298N是一块普遍使用的电机驱动芯片,它可以控制两个直流减速电机,可以帮助Arduino对两个电机的转速分别进行调整,控制机器人的直行和转弯[11]。
(2)ULN2003电机驱动模块
当拖地机器人工作时抹布是在底面做履带式运动,所以驱动抹布转动轴需要比较大的力。
步进电机在低速时具有比较大的扭矩,因此我们就使用步进电机来驱动抹布转动轴。
虽然步进电机也可以用L298N来驱动,但对于抹布转动轴电机来说并不需要复杂的速度变化,因此选用由七个达林顿管组成的ULN2003最为合适,它既能驱动步进电机,且芯片价格较低,可以节约成本。
(3)电量监控电路
ArduinoMega2560内部自带1.1V参考电压,可以用来监控电源电压,但是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接口,可兼容IIC总线。
芯片选用100引脚的贴片封装,管脚图如图3.1所示。
图3.1ATmega2560引脚图
ATmega2560的主要引脚功能如表3.1所示。
表3.1引脚功能表
引脚名称
引脚序号
引脚功能
PG0、PE0~PE7、
PH3~PH6、PB4~PB7
1~9、16~18、23~26
数字I/O接口,可提供8位PWM输出。
PK0~PK7、
PF0~PF7
82~97
模拟I/O接口,带有ADC模数转换器功能,可以将外部输入的模拟信号转变为芯片运算时可以识别的数字信号。
VCC
10、31、61、80
5V电源引脚
GND
11、32、62、81
电源地引脚
AVCC
100
模拟电源引脚
AGND
99
模拟地引脚
PA0~PA7、PC0~PC7
PG0~PG2、PD7、
PL0~PL7、PB0~PB3
71~78、53~60、70、50~52、35~42、19~22
数字I/O接口,每一路能输出和接入最大电流40mA,每一路都配置了20~50K欧姆的内部上拉电阻。
PE0、PE1、PD2、PD3、PH0、PH1、PJ0、PJ1
2、3、45、46、12、13、63、64
RX0~RX3,TX0~TX3四组串口,RX接收数据,TX传输数据,其中2号脚和3号脚可以连接RS232通信接口转换芯片,通过USB接口与电脑通信。
AREF
98
模拟输入信号的参考电压
XTAL1、XTAL2
33、34
外接晶振引线端
RESET
30
低电平时复位单片机芯片
SDA、SCL
20、21
TWI接口,它是对IIC总线的继承和发展,完全兼容IIC总线。
SDA是双向数据线,SCL是时钟线。
3.1.2接口转换芯片
CH340G是一个USB接口转换芯片,它是国产芯片,在市面上的众多USB接口转换芯片中具有低成本,低功耗和引脚少的优点,使设计更加方便。
该芯片有以下特点:
(1)通过外加电平转换器件,提供RS232接口;
(2)支持5V电源电压和3.3V电源电压;
该芯片的引脚图和功能表分别如图3.2和表3.2所示。
图3.2CH340G引脚图
表3.2CH340G引脚功能
引脚名称
引脚序号
引脚功能
GND
1
公共接地端
VCC
16
电源输入端
TXD
2
串行数据输出
RXD
3
串行数据输入,内置可控的上拉和下拉电阻。
V3
4
当使用3.3V输入电压时连接VCC输入外部电源,
使用5V输入电压时外接容量为0.1uF的退耦电容。
UD+
5
内置上拉电阻,可直接连到USB总线的D+数据线。
UD-
6
内置上拉电阻,可直接连到USB总线的D-数据线。
XI
7
晶振输入端,需外接晶体和电容。
XO
8
晶振输出端,需外接晶体和电容。
3.1.3运算放大器
运算放大器可以将信号放大,也能在开关电源中起到保护作用。
LM358是双运算放大器,价格便宜且功能全面,在电子器件中得到广泛的应用,它的内部包括有两个独立的、高增益、内部频率补偿的运算放大器,供电输入电压范围为3V~30V[16]。
该芯片的引脚如图3.3所示。
图3.3LM358引脚图
各个引脚的功能如表3.3所示。
表3.3引脚功能
引脚名称
引脚序号
引脚功能
OUT1
1
运放1输出
IN1(-)
2
运放1反向输入
IN1(+)
3
运放1同向输入
GND
4
电源地
IN2(+)
5
运放2同向输入
IN2(-)
6
运放2反向输入
OUT2
7
运放2输出
VCC
8
电源引脚
3.2驱动板的元器件
驱动板上的主要元器件是由电机驱动模块组成,并添加了电量监控的相关元器件。
设计此PCB板时需要针对电机的工作不同使用不同的电机,因此也需要使用不同的电机模块。
该板集成了电量显示的显示屏和芯片,因此在设计电机驱动模块时需要对电机的反转电流进行控制,防止烧坏电量显示的相关元器件。
3.2.1主动轮电机驱动模块
拖地机器人在工作时需要对障碍物进行规避运动,因此本设计中采用的是三轮设计,即前方一个万向轮配合后方两个主动轮,来控制行进的方向。
拖地机器人的直行和转弯依赖的是主动轮的正转和反转,遇到障碍物时需要快速反应和执行程序,因此本设计采用L298N电机驱动模块。
L298N是一种双H桥电机驱动芯片,每个H桥都拥有2A的电流输出,电机供电电压范围非常大,可以实现2.5~48v的供电电压,其中对芯片的控制需要单独通过5v供电。
该芯片通过控制H桥的输入口来控制电机的正反转,并通过Arduino进行PWM调速[17],且它具有启动转矩大,可同时驱动两台直流电机的特点,可以在本设计中得到较好的应用。
该芯片的引脚图和引脚功能表分别如图3.4和表3.4所示
图3.4L298N引脚图
表3.4L298N引脚功能表
引脚名称
引脚序号
引脚功能
1
15
SensingA
SensingB
与地连接电流检测电阻,并向驱动芯片反馈检测到的信号。
2
3
OUTPUT1
OUTPUT2
是全桥式驱动器A的两个输出端,用来连接负载。
4
Vs
电机驱动电源输入端。
5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Arduino 拖地 机器人 电路设计
![提示](https://static.bdocx.com/images/bang_tan.gif)