APP下载

基于Arduino的楼梯自适应式清洁机器人设计与实现*

2023-02-24卢桂萍李春雷刘卓沄叶栩谦李俊明

机电工程技术 2023年1期
关键词:电路板楼梯端口

卢桂萍,李春雷,刘卓沄,叶栩谦,李俊明

(北京理工大学珠海学院工业自动化学院,广东珠海 519088)

0 引言

随着科技的飞速发展和人民生活水平的不断提高,机器人逐渐进入人们的生活,并渐渐渗透到生活的各个领域。在卫生清洁方面,传统的扫地机器人有着不错的发展,但他们仅限于在平地上工作,不能对楼梯进行清洁,这对于复式楼房来说,其清洁范围非常局限,不能满足人们对美好物质生活向往的要求。

要实现机器人对楼梯进行清洁,首先要实现机器人的上楼和下楼。经调查,目前实现爬梯越障的机器人根据其实现形式的不同主要分为[1]轮系式、履带式和腿足式[2]。轮系式机器人又以单轮式和行星轮式最为常见,单轮式机器人的越障能力较弱,但凭借其较好的承载能力及较快的平面移动速度得以广泛应用。行星轮式机器人则拥有着较好的越障能力,简单的机械结构和较快的移动速度,因此也被广泛应用。

根据市面上现有的各类型扫地机器人的结构特点,进行优化改进、取长补短,设计了行星轮[3]与麦克纳姆轮相结合的机构,用超声波传感器和红外传感器对环境信息进行采集,通过程序设计对信息进行判断,再将程序所表达的功能通过Arduino电路板传输给各工作模块,使机器人能够自主爬楼清洁并自适应不同的阶梯环境。同时安装的吸尘盒内置吸附碳,吸附空气中有害物质,能够净化粉尘和提高清洁效率。

1 机器人工作过程的设计与分析

通过采用麦克纳姆轮与行星轮[4]相结合的轮系式爬楼机构,同时实现“平地清洁”和“楼梯清洁”双模式。通过电磁离合器来进行两个模式的切换。采用红外避障[5]传感器和超声波测距传感器[6]对环境信息进行检测反馈。运用水平开关,间接检测机器人状态,并将所处状态反馈给Arduino,确保机器人正常运行。工作流程如图1所示。

图1 工作流程图

进行平地清洁工作时,机器人根据规划路径进行清洁,当前方无障碍物时,机器人直线前进进行清洁工作,当检测前方有障碍物时机器人横向移动一定距离并再次判别,当判别前方阻碍为障碍物时执行绕行指令。当判别到达清洁区域边缘时,机器人原地转向并继续直线前进进行清洁,如此周期执行直至到达楼梯边缘。进行楼道清洁工作时,由电机驱动行星轮执行主要爬楼梯任务,此时麦克纳姆轮仅起到辅助爬楼的功能,当到达相应楼梯阶层时,行星轮停止运转,由麦克纳姆轮带动机器人进行横向清洁,当检测到达楼梯横向边缘时开始返程清洁,再次到达楼梯横向边缘时,麦克纳姆轮停止运转,机器人停止横向移动。行星轮继续执行爬梯工作,如此周期执行楼道清洁工作直至再次识别到达平地。当水平置于机器人前端的超声波测距传感器判定前方为楼梯并进入楼道清洁工作模式时,水平开关处于倾斜状态。而当机器人持续工作至楼梯阶末端时,超声波测距传感器检测前方无障碍物,但水平开关仍处于倾斜状态,机器人继续楼道清洁工作,直至机身整体位于楼道顶层的平台之上,此时水平开关处于水平状态,机器人切换为平地清洁工作模式。系统功能如图2所示。

图2 系统功能结构

2 机器人的结构设计

爬楼机构采用麦克纳姆轮与行星轮[7]相结合的4个轮组式机构[8],用设计制作的板材作为机器人的承载式机身,吸尘器和尘盒置于板材上方进行尘屑的收集。如图3~5所示。

图3 爬楼机构三维设计

3 机器人的控制

图4 爬楼机构实物

图5 吸尘器与尘盒

表1所示为Arduino mega 2560端口。该机器人采用Arduino开源平台对其整体进行驱动控制。由于该机器人使用到的超声波模块及红外避障传感器等元件较多,所以所需的IO端口(数字电路输入输出端口)较多,最终选用了Arduino Mega 2560来对机器人进行控制。如图6所示。

表1 Arduino Mega 2560端口

图6 Arduino Mega2560原理

根据直流减速电机的驱动与控制要求,该机器人采用了双H桥电机驱动模块。该模块的主控芯片为L298N,具有驱动能力强,发热量低,抗干扰能力强等优点。主要用于接收Arduino指令并根据相应指令发送电信号控制电机进行前进、后退、转弯等动作,是驱动电路的核心控制模块,模块还可通过PWM(脉冲宽度调制)进行调速从而控制电机转速以满足工作要求。如图7~8所示。

图7 L298N原理

图8 L298N实物

采用HC-SR04型超声波测距模块[9]对周边环境进行检测,反馈与障碍物之间的距离。该传感器在设计中主要用于检测机器人所在位置与周边障碍物的距离,使Ar⁃duino能够根据反馈信息做出相应判断,当到达相应距离时根据事先设定的程序指令使机器人做出相应动作或切换工作模式。如图9~11所示。

图9 超声波测距传感器原理

采用红外避障传感器[9]对周边障碍物进行检测[10],判断所检测方向能否正常通行。该传感器主要用于检测有效范围内有无障碍物并发送相应电信号,根据其特性用于检测机器人是否处于可通行位置,也可运用于检测机器人所在地面环境防止从楼梯跌落。如图12~13所示。

图10 超声波测距传感器实物

图11 超声波时序

图12 红外避障传感器原理

图13 红外避障传感器实物

该设计采用24 V锂电池作为驱动电源,在连接工作电压较低的模块时需要由降压模块进行调节降压处理。该模块选用了型号为LM2596的DC-DC可调降压模块,主要应用于将输入电压调节至相应元器件额定工作电压的降压领域。如图14所示。

图14 可调降压模块实物

4 机器人工作电路设计

4.1 电机驱动电路

电机驱动电路主要用于连接Arduino对电机进行驱动控制。根据机械结构及力学性能要求,电机采用了转速66 r/min、工作电压24 V的大扭矩直流减速电机。根据驱动要求和元器件的性能要求选用了24 V锂电池作为驱动电源,连接于L298N电机驱动模块的12 V供电端口和GND端口上,再由L298N电机驱动模块[10]的两个OUT通道分别控制两个24 V直流减速电机[11],Arduino可通过发送指令信号对电机进行调速及驱动控制。L298N电机驱动模块由Arduino的5 V端口提供电源,Arduino电路板则外接7.4 V电源供电以确保Arduino电路板的稳定运行。

4.2 电磁离合器控制电路

电磁离合器控制电路主要用于“平地清洁”和“楼梯清洁”两种工作模式的切换,机器人通过Arduino电路板对电磁离合器进行控制完成切换。控制电路选用的为一路5 V继电器,通过连接继电器常开端口(NO端口)和继电器公用端口(COM端口)使常态下继电器保持电路常开,电磁离合器断开,当Arduino发送控制信号至继电器IN端口,继电器主电路连通,电磁离合器吸合。根据要求选用了24 V锂电池作为该控制电路工作电压来源,将24 V锂电池正负极分别连接于继电器接电源正极端口(DC+端口)与接电源负极(DC-端口)以提供控制电路主电路的工作电压。5 V继电器控制端口(IN端口)通过Arduino电路板输出5 V高电平电信号触发控制电路,使继电器常开端口(NO端口)与公用端口(COM端口)连通,主电路通电使电磁离合器吸合。

4.3 电量检测电路

电量检测电路主要用于监测24 V锂电池的电量状态以保证其输出电压能够满足各驱动电路及控制电路的工作要求。利用Arduino电路板的特性进行线路连接,对锂电池电压值的监测,并通过不同的LED灯呈现出来。如图15所示。

图15 电量检测电路调试

从Arduino电路板数字电路输入输出端口引接至LED灯正极,各LED灯都需串联一个330Ω的电阻防止因电路空载烧毁Arduino电路板,从而确保Arduino电路板可根据电压值进行反馈。因锂电池输出电压为24 V,而Arduino电路板输入端口可承受工作电压为0~5 V,因此需选用降压模块对锂电池的输出电压进行降压处理。检测电路通过对降压后电压的监测对锂电池剩余电量进行判断,当处理后电压大于其50%时,绿灯亮起;当处理后电压大于20%且小于50%时,绿灯熄灭,黄灯亮起;当处理后电压小于20%或者检测电路电压为0(即将24V锂电池断开连接)时,黄灯熄灭,红灯亮起。以此来推断其电量损耗程度。

4.4 水平开关检测电路

水平开关检测电路主要用于检测机器人是否处于倾斜状态,以此来判断机器人当前所处的工作模式,从而进行相应工作。

由Arduino电路板提供5 V电压接于水平开关的一端进行供电,开关的另一端与330Ω的电阻及Arduino电路板的模拟电路输入输出端口进行连接,水平开关的状态信号由此向Arduino电路板进行反馈,电阻另一端连接Arduino电路板GND端口形成回路。外接LED指示灯由数字电路端口引接,串联330Ω的电阻并与Arduino电路板GND端口形成回路。当水平开关处于倾斜状态时,Arduino电路板针对其状态环境进行相应的控制反馈,并由LED灯显示状态。

4.5 测距传感器与避障传感器的连接

通过超声波发出及被接收的时间计算出超声波测距模块[12]与前方障碍物的距离,并回馈给Arduino电路板以进行相应地控制。该传感器工作电压为5 V,将其VCC端口与GND端口连接Arduino电路板的5 V端口与GND端口对传感器进行供电。其Trig端口与Echo端口则连接至Arduino电路板上相应的控制端口,给予Trig端口一个高电平信号,传感器将循环发射若干个脉冲,当检测到反弹信号时,Echo端口会相应的产生高电平信号,Ardu⁃ino电路板也将获得距离信号值。

红外避障传感器主要用于对机器人周围环境是否存在障碍物进行探测,从而判断机器人所处状态以进行相应的驱动控制。红外避障传感器工作电压也为5 V,可将Arduino电路板的5 V端口与红外避障传感器的VCC引脚进行连接,并将电路板的GND端口连接于传感器的GND引脚形成回路。传感器的OUT引脚可将检测结果通过数字形式输出给Arduino电路板,以此对周围环境所处状态进行推测。如图16~17所示。

图16 红外避障传感器调试

图17 电路连接

5 机器人的仿真与调试

将各驱动电路及控制电路分别进行连接调试,24 V锂电池连接分线器对各电路进行分线供电,通过端口连接电量检测电路进行实时监测。利用面包板的特性,将Arduino电路板5 V供电端口与接地端口外接于各模块,满足电路模块的供电需求。如图18~21所示。

图18 机器人测试

图19 机器人实物1

图20 机器人实物2

图21 三维建模

6 结束语

本设计实现了清洁机器人在工作领域上的突破,实现了通过各模块反馈信号进行自检测且通过检测结果对机器人所处状态进行剖析与干预以确保机器人稳定运行。该设计的主要创新点如下。(1)实现了扫地机器人的爬楼清洁。使扫地机器人进入楼梯清洁时代,大大提高了清洁效率,对扫地机器人未来的发展具有重要影响。(2)实现机器人的自适应。使机器人具有自适应环境的能力,摆脱了人为的干预,降低了人的操作成本。(3)减少人工清洁的劳动风险。楼梯清洁本身存在一定安全隐患,通过实现机器人进行楼梯清洁,消除了人工清洁存在的风险。

猜你喜欢

电路板楼梯端口
一种端口故障的解决方案
端口阻塞与优先级
逃跑的楼梯
扫楼梯
基于免疫遗传算法改进的BP神经网络在装甲车辆电路板故障诊断中的应用
废旧手机电路板中不同金属回收的实验研究
96 芯插接电路板控制系统的故障设置装置设计
系统网络端口安全防护
上下楼梯时要注意什么 ?
废弃电路板拆解技术研究现状及展望