×

麦克纳姆汽车项目

消耗积分:0 | 格式:zip | 大小:0.63 MB | 2022-10-28

分享资料个

描述

理念

这个 Mecanum Car 项目是简单 RC 汽车设计的基础。然而,与我们的 2 电机项目不同,这个项目通过让两组电机以相反的方向旋转来转动。

构建过程

第 1 步:硬件组装

收集上面零件列表中的所有组件。

我们将从设置面包板开始。首先,将 TLC5940 芯片放在面包板的中间,并将每个 L293D H-Bridge 放在 TLC5940 的两侧,如下所示:

poYBAGNY2IKAOoSEAAKwjRMpHCE890.png
 

现在,将三个 100nf 和两个 1uf 电容器放在面包板的 GND 和 VCC 导轨上,如下所示:

poYBAGNY2IaAZi_oAAK6SnRAsnw269.png
 

现在,按照这些示意图连接每个 H 桥:

H1

pYYBAGNY2ImAFjQsAABY2kKhTAo154.png
 

H2

pYYBAGNY2IyAR26_AABa5xYkJPI187.png
 

*** H 桥上的 PWM 标签将连接到 TLC5940。上图中的电容器是我们已经放置在面包板的 Vcc 和 GND 导轨上的电容器。

现在,按照这些图连接您的 TLC5940:

poYBAGNY2JGAMLJCAABCQtaabQc870.png
 

 

pYYBAGNY2JSAVH5UAABk0CukuQg133.png
 

 

poYBAGNY2JiAMhudAAA5vD6r5jo153.png
 

面包板:

pYYBAGNY2JSAVH5UAABk0CukuQg133.png
 

示意图:

poYBAGNY2J-AOrQRAABJANeWh0U903.png
 

***请注意确保将威廉希尔官方网站 连接到 5V 而不是 3.3V。如果你不这样做,麦克纳姆汽车将动力不足。

第 2 步:构建固件

导航到固件生成器并创建一个新的固件文件。我们将其命名为“Mecanum 固件”。

pYYBAGNY2KGAMSwtAAAkNakWKxc096.png
 

接下来,单击“+添加硬件”按钮,通过搜索栏找到电机设备,选择它,命名,然后单击“添加硬件”。我们将其命名为“Motor FL”(左前)。

poYBAGNY2KOAPZoyAAARKmhAVwc225.png
 

 

poYBAGNY2KaAH8LIAAAg1Mx78TI064.png
 

现在,再重复这些步骤三遍,将电机命名为“Motor FR”、“Motor BR”和“Motor BL”。

pYYBAGNY2KiAaRdyAAA2fpPalLU018.png
 

 

poYBAGNY2K2AerekAAAk2ku1-yM003.png
 

现在,您的固件文件中应该有四个电机设备。

pYYBAGNY2LCAPyUTAABFiqKk7UE327.png
 

要为电机 FL 设备配置驱动程序,请从驱动程序下拉菜单中选择 TLC5940 驱动程序。

poYBAGNY2LWAN9RBAAAujaWQQ6s840.png
 

 

poYBAGNY2LmAMaQZAABRMTMf458371.png
 

现在,相应地设置引脚:

poYBAGNY2LuAJXRlAAAfysyc3fI918.png
 

 

pYYBAGNY2L6AcetoAABniWBE33Y281.png
 

 

poYBAGNY2MCAX75QAABWM7CvRT8465.png
 

对其余三个电机重复这些步骤。您可以在下表中找到正确的引脚配置。

pYYBAGNY2MKAFJ-_AAA-9fVejsg918.png
 

您现在已经完成了固件配置,因此请单击屏幕底部的“保存按钮”保存您的固件。

poYBAGNY1b2AVNc4AAAFx-oR4C8544.png
 

现在您可以将固件上传到您已连接到 4 电机威廉希尔官方网站 的客户端。

poYBAGNY2MmAAiB_AAAgvaQa1c8735.png
 

 

poYBAGNY2MuAU8ZqAAApdCqTVQ0402.png
 

第 3 步:构建应用程序

导航到应用程序页面并单击“+ 创建新按钮”,命名您的应用程序,然后单击创建。

pYYBAGNY1cOADihFAAAK_g19WuY911.png
 

 

poYBAGNY2NCAK8LrAAAdcfWaOxI526.png
 

您现在将被定向到 App Builder 画布。

使用左侧工具栏中的搜索栏搜索电机代码对象并将其中四个拖到画布上。

pYYBAGNY2NSAaeQvAAAu82j5_eA674.png
 

 

pYYBAGNY2NeAAUxsAAB2vD6J2uI766.png
 

像我们一样命名电机对象,这将帮助您在应用程序映射期间识别电机。要重命名它们,请单击电机对象并在右侧的属性面板中更改名称。

poYBAGNY2NmADL3TAAAbPxLPF8Q632.png
 

 

pYYBAGNY2NyATdCNAABF-R55hDA273.png
 

为了保存名称,您必须单击属性选项卡底部的“保存属性”按钮。

poYBAGNY1cqAYbi4AAAKi3ysmts609.png
 

接下来,使用搜索栏搜索“手动测距”代码对象并将其中两个拖到画布上。

poYBAGNY2OKAOmUxAAA4Vic2nfY330.png
 

 

poYBAGNY2OSAR6FHAABhHCw0wg0156.png
 

配置每个手动测距对象如下:

poYBAGNY2OaAGI9FAAAfenltaTY646.png
 

***要配置对象上的每个端口,请单击端口并在屏幕右侧的属性面板中更改属性,然后点击屏幕底部的保存属性。如果您不这样做,您的更改将不会被保存!

接下来,将手动测距对象的每个 Value Out 端口连接到 Motor 对象,如下所示:

pYYBAGNY2OmAfB89AACI1X8bnDw254.png
 

现在搜索“操纵杆”对象并将其中两个拖到画布上。将一个操纵杆命名为左,另一个操纵杆命名为右。

pYYBAGNY2OuAcd1aAAA2wMZ8twY752.png
 

 

pYYBAGNY2PCAHS0jAABRbl9JD0I979.png
 

现在将操纵杆对象的 Y 轴端口连接到手动测距对象,如下所示:

pYYBAGNY2PSAGhj7AAD3e9g1Pn8737.png
 

现在,在这种状态下,您的应用程序将使用操纵杆工作,但我们将通过使用仪表板界面使其可操纵来完成应用程序。

找到 Digital Toggle Code 对象,将其中三个拖到屏幕上,然后命名。

pYYBAGNY2PeAQF-OAAA6HfRrmW4859.png
 

 

poYBAGNY2PyATfaNAAErXGTSLtk835.png
 

将 Digital Toggle 对象连接到手动测距对象,如下所示:

pYYBAGNY2P-AZOkjAAEt_e1MEzw933.png
 

现在,我们只需要添加按钮,因此搜索它们并将其中的三个添加到您的应用程序中。

***请务必添加绿色“界面”按钮对象,而不是按钮对象的“硬件”版本。

poYBAGNY2QKARGmLAABDKa9g_ME755.png
 

 

poYBAGNY2QWARDsUAAGHxZdQ8kk003.png
 

***使用属性面板命名并标记它们,左、前和右。如果您没有为它们命名/标记它们,那么在通过仪表板控制汽车时确定哪个按钮的作用将会令人困惑。

将 Button 对象连接到 Digital Toggle 对象,如下所示:

pYYBAGNY2QuATL0wAAGJQVPwecU334.png
 

恭喜!您的应用程序现已完成。

点击“保存应用程序”并返回您的应用程序页面。

第 4 步:映射您的应用程序

您现在应该回到应用程序页面。

找到您的“Mecanum Car”应用程序并点击播放按钮。

poYBAGNY2Q2AYc_tAAAYuDHa_0I531.png
 

包含应用程序中所有设备的列表将展开。

接下来点击“Motor FR”设备,右侧会出现客户端下拉菜单。

pYYBAGNY2RCADhpIAACmUKlhJrA013.png
 

从下拉菜单中选择 Motor FR 驱动程序并点击“完成”。

poYBAGNY2RSAYq0MAADG9dNuYb0970.png
 

对电机 FL、BR 和 BL 设备重复相同的步骤,确保设备名称与对象名称匹配。

现在您可以以相同的方式映射操纵杆设备,但请确保将左右操纵杆驱动程序与左右操纵杆设备匹配。

如果您还没有构建一个操纵杆项目,您可以在这里找到如何构建一个:

操纵杆 DIY 套件

请注意状态符号如何变为绿色复选标记。

pYYBAGNY2RaABYmRAACfLl0cvwU775.png
 

***将固件设备映射到应用程序中的对象时,请务必注意,只有相同类型的设备和对象才能映射在一起。例如,使用这个应用程序,我们只能选择将带有按钮固件的客户端映射到按钮对象。

第 5 步:运行应用程序!

接下来,点击“保存+运行”

pYYBAGNY2RyAAhWQAACqBYMd3fs393.png
 

 

pYYBAGNY2R6AYc9HAAAbAPN-pIE822.png
 

恭喜!您的项目现已完成。玩得开心!

poYBAGNY2SKAD3drAAKLc-TWxj4993.png
 

 

 


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

评论(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.obk20.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:'麦克纳姆汽车项目',//标题 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.obk20.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);