×

硬件设计实例:基于ARM处理器的吸尘机器人开发资料下载

消耗积分:3 | 格式:pdf | 大小:139.13KB | 2021-04-15

20615

分享资料个

摘要:设计一款具有自主吸尘功能并且结构简单、成本低的小型家用吸尘机器人,实现了室内半自动或者全自动的清洁工作,从一定程度上代替人们做繁杂的家务。在硬件选型上,以ARM Cortex™⁃M3处理器为核心,设计了专门的电机驱动板,通过光电编码反馈电路实现行走模块的闭环控制。主要对传感器模块进行开发,通过合理布置传感器,采用多种传感器融合,使超声波和红外光电传感器协调工作实现对远近距离障碍物的精确检测,提高了对障碍物的准确识别,能够实现自主避障吸尘。 随着人们生活水平的日益提高,我国人口的老龄化也越来越明显,吸尘机器人作为服务机器人的一种,能够代替人进行清扫房间、车间、墙壁等一些简单劳动。使服务机器人有了广阔的市场,已成为一些企业和科研院所研究的焦点。目前市场上的吸尘机器人虽然也具有智能性,但大多由于结构不尽合理、通用性差、集成度高而导致成本高,不利于普及。在研究总结市场上相对成熟产品的基础上,基于ARM Cortex™⁃M3处理器设计一款具备自我导航功能的室内吸尘机器人。外形紧凑、结构简单、运行平稳、噪音小,并且成本低,操作方便,还具有可扩展接口,用户能够根据实际需要对其功能做进一步开发。 1、吸尘机器人总体构成 利用ARM Cortex™⁃M3 处理器设计一款应用于室内的移动清洁机器人,主要任务是能够自主清扫房间,因此应该具备以下功能: (1)能正确判断机器人所处的房间和在房间中所处的方位; (2)能正确检测出房间内的墙壁、家具等障碍物; (3)在游历完所有房间完成清扫任务后能自主回到出发点,关机。 为了防止机器人在工作时出现堵转现象,并且能自由进入一些家具比如沙发、桌子等的底下,吸尘机器人不能太高,外形采用半圆柱形。底盘由四个轮子共同支撑,其中左右两侧为驱动轮,分别由两个微型直流电机直接驱动,前后两个万向轮起到支撑和导向的作用。采用碰撞、红外传感器、超声波等组成多传感器系统。在机器人的上方装有红外接收传感器,底盘边缘均匀分布装有接近传感器,用来检测障碍物;在机器人的前方装有碰撞传感器;前方和左右装有超声波测距传感器,用来检测周围环境。 总体框架设计如图1所示。 2、硬件主体设计 硬件系统主要由ARM Cortex™⁃M3处理器、传感器模块、电机驱动模块、人机交互模块、无线遥控发射模块组成。 2.1 ARM Cortex™⁃M3处理 机器人控制系统的主要任务是根据传感器和编码器等反馈回来的数据,进行清扫路径规划,控制清扫、吸尘机构,完成各种控制动作。设计合适的人机接口,在LCD上显示机器人状态和运行时间。因此,机器人控制系统包括传感器模块,电机驱动模块,红外遥控接收模块、LED 指示灯和液晶显示模块。采用ARM Cortex™-M3处理器作为机器人控制系统的核心,主要是低成本、小管脚数和低功耗,并且具有极高的运算能力和极强的中断响应能力,工作电流仅为50 mA。 2.2 电机模块 分成小电机驱动电路和两路大功率驱动板,包括用于行走的两个小直流电机和用于吸尘的大功率无刷直流电机、扫地的直流滚刷电机、扫边角的直流边刷电机。因为电机分别决定机器人的行走路径和吸尘功率,所以设计了专门的驱动板,如图2所示。 行走模块的设计对吸尘机器人避障规划有着至关重要的作用,我们将吸尘机 器人设计成一个闭环控制,主要包括驱动电路和光电编码反馈电路。光电编码反馈电路通过计算反馈回来的脉 冲数量和相位而得到当前的电机速度。芯片最高可以驱动25 V 的电机,吸尘机器人里行走电机的工作电压为 24 V,芯片的电压为5 V,芯片输出的PWM 波转化成大电压PWM波控制电机。其极限参数如表1所示。 2.3 传感器模块 主要包括3部分:用于测量和感知障碍物的超声模块、红外和碰撞传感器,用于状态检测的传感器(检测电池电量、尘桶、电机堵转悬空)。传感器模块使机器人对周围环境做出正确判断,为顺利完成任务提供智能决策。 (1)超声波测距传感器模块 室内吸尘机器人由于工作环境的原因,必须具备检测各种大小、高低、颜色的障碍物,超声波是一种非接触式的检测技术,在空气中传播不受光线、烟雾、电磁场等外界因素的干扰,与红外传感器相比,超声传感器感应 距离更远,可靠性高,且成本低。因此,使用高精度的超声波测距系统可以有效地完成障碍物的检测。 本文选用的是US⁃100 超声波测距模块可实现0~4.5 m的非接触测距功能,拥有2.4~5.5 V的宽电压输入范围,静态功耗低于2 mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,工作稳定可靠。在机器人的前后各安装两个超声波传感器,处理器产生40 kHz的脉冲经I/O口输出,再经过与非门以及三极管放大形成极性相反的两路脉冲输入超声波发射头的两个引脚,探头便可发出一连串40 kHz的超声波,遇障碍物后返回给接收电路,处理器同时控制门电路,以实现发射波的间断如图3所示。超声波接收端通过压电转换的原理,把经障碍物反射回的信号转换为电信号经过低噪声放大和带通滤波,再比较产生中断给处理器进行时间测量,从而做出障碍物的距离判断,如图4所示。 (2)红外和碰撞传感器模块 本吸尘机器人在工作时对于远距离障碍物主要利用超声波测距,但是超声波对近距离障碍物不敏感,所以增设红外模块进行近距离检测,根据能量反射法设计红外测量模块。机器人前后安装两组红外传感器,每组由多达14组红外发射接收管组成,在机器人的上面和底盘各安装14个,每上位和下位的2个红外发射和接收管并联并且指向同一个方向构成一组,每一组电路可分为高频脉冲信号产生、红外发射调节与控制、红外发射驱动、红外接收等几个部分。通过38 kHz晶振和非门电路得到一个38 kHz的调制脉冲信号;利用三极管驱动红外发射管(TSAL6200)的发射。发射管发出的红外光经物体反射后被红外接收模块接收,通过接收头(HS0038B)内部自带的集成电路处理后返回一个数字信号,输入到微控制器的I/O口,如图5所示。 接收头如果接收到38 kHz的红外脉冲就会返回输出低电平,否则就会输出高电平。通过对I/O口的检测,便可以判断物体的有无。这样一共可以检测14个方向,覆盖360°范围。机器人对前后的近距离障碍物都能检测,前进后退都能工作,这种由2个红外接收管组成测障传感器有效距离接近2 m,并且还能够在球非常近的范围内(10 cm内)读取障碍物距离结果(没有溢出)。 在机器人的左前、左后、右前、右后4个方位安装四个碰撞开关(常开),通过采集模拟口上电压值的变化, 判断出其中的一个或几个碰撞开关闭合,从而检测出哪个方向有碰撞发生。 2.4 人机交互模块 (1)液晶显示和键盘输入:两者配合使用可以设置机器人各种参数,如自主启动、设置工作时间等。 (2)无线遥控模块:红外遥控使机器人的使用更加方便简单,发射距离超过10 m,能满足需要。 3、结语 通过这样的硬件设计,清洁机器人控制系统,既能满足良好的实用性,还降低了成本,工作稳定可靠。机器人传感器模块能精确定位障碍物,通过软件策略能实现良好的避障。对将来家用服务机器人的研究与开发有着重要现实意义。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'硬件设计实例:基于ARM处理器的吸尘机器人开发资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);