基于MSP430的智能扫地机器人设计
2019-06-24申双琴
申双琴
摘 要:智能扫地机器人的研究与实现旨在通过科技改变人们的日常生活。文章设计了一种基于MSP430的用于室内的智能扫地机器人,对系统结构,避障模块、红外遥控等各部分的工作原理及硬件电路进行了分析,结合避障、控制方法等程序软件,实现室内智能清扫。
关键词:扫地机器人;单片机;智能;设计
中图分类号:TP242 文献标志码:A 文章编号:2095-2945(2019)13-0093-02
Abstract: The research and implementation of intelligent floor sweeping robot aims to change people's daily life through science and technology. In this paper, an intelligent floor sweeping robot for indoor based on MSP430 is designed. The working principle and hardware circuit of the system structure, obstacle avoidance module, infrared remote control and other parts are analyzed, and in combination with the program software such as obstacle avoidance, control method and so on, indoor intelligent cleaning is realized.
Keywords: sweeping robot; single chip microcomputer; intelligence; design
引言
随着科技进步,生活节奏加速,智能家居走进人们的日常生活,在一定程度上解放了劳动,节约了时间,也改善了生活质量。智能扫地机器人作为热销的一款清洁产品,被越来越多的消费者青睐。文中设计了一款单片机方案的扫地机器人,具有避障、红外遥控、吸扫、死角及低电量报警等功能。系统以MSP430为微控制器,处理传感器系统提供的各类环境信息,以传感器及电机驱动为基础,运算及数据处理为核心,实现机器人的智能清扫功能。
1 系统设计
智能扫地机器人利用超声波作为障碍物探测器,感知周围环境,依据其反馈信号,改变PWM来控制电机旋转从而改变方位,吸扫是利用电机的反转执行,在不需要小车自动控制时,可以利用红外遥感选择手动控制。系统采用模块化设计,直流电机及控制电路为驱动部分,单片机为整个系统的控制核心。系统的硬件部分包括超声波模块、红外接收模块、电量监测模块、电机驱动与风机驱动模块及报警模块等。软件部分包括调用内部定时器A0,定时中断检测超声波模块传到单片机的高电平信号,从而计算距离。红外遥控器发射一组数码,通过接收头接收,单片机外部中断并启动定时器A1判断电平时间,以此判断遥控按键码值,调用内部ADC模块实时监测供电电压,对应指示灯GPIO输出低电平点亮相应指示灯,调用定时器B产生PWM控制小车电机正反转与速度。总体系统框图如图所示。
2 硬件设计
2.1 超声波避障模块
超声波模块由发射和接收两部分组成,用于检测障碍物的距离。当检测到障碍物时,使用MSP430高电平启动模块Trig引脚,单片机利用I/O口输出超声波换能器所需的40K方波信号,利用外部中断口监测超声波接收电路输出的返回信号[1]。经处理后通过模块的Echo引脚传送出高电平,MSP430检测这段高电平的时间即为超声波从发射信号到接收回波信号的时间,从而测算出障碍物的距离。
2.2 红外遥控模块
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,低功耗,易实现等优点。按下按键,遥控器发出经过调制后的信号,这个信号经过红外模块接收,输出解调后的数字脉冲,每个按键对应不同的脉冲,故通过识别不同的脉冲即能识别不同按键。红外遥控器发出指令,小车上连接红外光接收头HS0038,接收红外信号频率为38kHz,周期为26μs。当按下遥控器的设置键后,接收装置接收到遥控器发出的红外线控制信号,传给单片机并对信号解码后检查是否为设置信号,然后启动设置子程序,依次作出判断确定键值,使设置生效,从而达到控制目的[2]。
2.3 电量监测模块
系统采用电池供电,实时监控电池电压,当电池电压低于6.0V时,通过指示灯与蜂鸣器报警提示,单片机GPIO口能承受的最大电压3.3V,因此用一个电阻进行分压。MSP430单片机内部集成了A/D转换模块,这大大简化了系统的电路设计[3]。电量监测电路中采用简易红、黄、绿Led作为指示,当电量低于7.2V时红灯亮,介于7.2V与7.6V时黄灯亮,大于7.6V時绿灯亮,通过3个GPIO口连接Led,分别控制不同状态下的指示灯,Led的负极接GPIO口的P3.0~P3.2口,正极接3.3V电压,同时串入1K的电阻限流,以防因电流过大烧坏灯,亮灯时GPIO低电平使能,电量指示模块Led原理图如图2所示。
2.4 电机与吸尘风机驱动模块
移动系统是由两个伺服电机以及相应驱动组成的小车,电机带动两个后轮,前轮采用随动轮,加强转弯的灵活性。具有吸扫功能的风机与电机的控制需要PWM控制信号,通过改变控制系统输出的PWM的占空比达到改变转速的目的,从而实现扫地机的前进,后退,左转,右转等功能[4]。然而单片机的驱动能力较小,不能直接输出PWM到电机,则需要在芯片与电机之间增加驱动电路,即H桥。L298N是一款双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48V,逻辑使能部分5V供电。驱动系统的两个电机及风机驱动,可同时选择使用L298N集成模块。H桥电机驱动原理[5]为当Q1与Q4基极高电平管子导通,Q2与Q3基极低电平管子截止,电机正转;当Q1与Q4基极低电平管子截止,Q2与Q3基极高电平管子导通电机反转,PWM改变占空比,实现电机转速控制。电路模块图如图3所示。
3 软件设计
系统的主函数通过调用各个模块,实现整个系统的功能整合。系统开机后,首先对各硬件模块进行检测与初始化,进入循环判断红外接收指令,当接收到手动模式的码值时,标志位置2,进入手动模式,在遥控模式下运行且不同的遥控指令做出相应动作,否则标志位置1进入自动模式,并判断距离。时刻检测周围环境,符合安全距离时,开始行进,当测得与障碍物距离小于20cm时,做出避让,行进过程中吸尘风机保持运行。当距离小于6cm时,判断为死角,小车停止运行并报警,电量监测也同步运行,当电量低于6V即10%,小车停止运行,指示灯示意充电。
4 实验测试
实验场地选在一个3*5m2的家居室内使用机器人进行功能测试,房间内有常用的桌椅及常见垃圾如细小纸屑等进行测试,当扫地机行走靠近时,基本可以将垃圾吸干净。红外遥控器的模式切换键、暂停键、前进键、后退键、左转键及右转键都能实时响应实现相对应功能。电量监测基本能准确指示电池电量。根据此次实验调试的数据显示,小车在自主运行、避障、遥控控制,电量指示,死角报警上,均无明显异常,基本实现功能要求。
5 结束语
本文设计了一款基于MSP430单片机的智能扫地车,集中了自主行走、避障、红外遥控、吸扫、死角及低电量报警等功能,系统功能齐全,解决了日常生活地面清扫问题,基本上能够满足家庭需求,可实践性强。
参考文献:
[1]潘元骁.基于Arduino的智能小车自动避障系统设计与研究[D].长安大学,2015.
[2]赵海兰.基于单片机的红外遥控智能小车的设计[J].无线互联科技,2011:36-38.
[3]石东海,周旭升.单片机数据通信技术从入门到精通[D].西安电子科技大学出版社,2002.
[4]孔德平.基于AVR单片机的智能扫地机器人的设计[J].科技创新与应用,2017(16):81.
[5]魏海明,杨兴瑶.实用电子电路500例[D].北京化学工业出版社,1996,24(3):25-30.