×

Arduino和Raspberry Pi平台进行编码

消耗积分:0 | 格式:zip | 大小:8.35 MB | 2023-06-29

分享资料个

描述

另一个由两部分组成的项目添加到我的“下一步我要构建什么?” 系列。Osoyoo Mecanum 平台现在价格实惠,可以使用 Arduino 和 Raspberry Pi 平台进行编码。

我将从基于 Arduino 的平台开始,因为这是我学习和开发的地方,也是我花费最多时间尝试修改代码以使我的 mecanum 机器人按预期移动的地方。

这是基于 Raspberry Pi 平台的链接:

https://www.hackster.io/alien-energy-3/what-do-i-build-next-two-mecanum-bots-part-2-6fd7c6

我在两个平台上都学到了关于软件编码的艰难方法,现在你不必再学了。我通常不会在我的项目前加上这么多“历史信息”,但是这两个版本花了我 6 个月的时间来解决我发现的所有编码问题。

希望当您阅读并随后决定可能购买此平台的任一版本时,我已注意到并记录的软件/编码问题将由供应商解决并合并。

我将在另一个项目列表中继续使用基于 Raspberry Pi 3B+ 的平台,因为在那里我使用了我从这个基于 Arduino 2560 的 mecanum 机器人中学到的东西,并开发并花了将近三个月的时间来试验代码修订和故障排除接线以使我的 mecanum 机器人移动正如我所期望的那样。

基于 Raspberry Pi 的 mecanum 机器人将需要我在 2019 年 1 月首次购买的基于 Arduino 的套件中未包含的额外硬件,但直到今年早些时候“2020”才构建。

以下是“作为指南,成功构建、编码、调试和完成这个功能正常的 mecanum 机器人”所需的网页链接。

https://osoyoo.com/2019/11/08/omni-direction-mecanum-wheel-robotic-kit-v1/

https://osoyoo.com/2019/11/08/metal-chassis-mecanum-wheel-robotic-for-arduino-mega2560-lesson1-robot-car-assembly/

https://osoyoo.com/2019/11/08/omni-direction-mecanum-wheel-robotic-kit-v1-lesson-2-tracking-line/

https://osoyoo.com/2019/11/08/omni-direction-mecanum-wheel-robotic-kit-v1-lesson-3-obstacle-avoidance/

https://osoyoo.com/2019/11/08/omni-direction-mecanum-wheel-robot-car-kit-v1-lesson-4-imitation-driving/

https://osoyoo.com/2019/11/08/omni-direction-mecanum-wheel-robot-car-kit-v1-lesson-5-wifi-control-robot-car/

在我解释和展示构建之前,我想列出经验教训

1. 网页链接(NEXT、BACK 等)可能会导致死页或产品的不同版本,并且文本列表代码超链接可能与指向相同代码的嵌入式超链接不同(我发现使用文本链接下载的代码版本与wget...超链接)一开始无法弄清楚,但下载代码的并排比较证明我并没有发疯。

2. 装配描述、图纸或插图可能不完整或不适用于您的机器人版本/型号

3. 网站所有者提供的下载代码可能无法按预期工作或根本无法工作(继续下一部分构建或用作指南)

4. 依靠你的经验来解决编码错误或异常;我发现这些多课程版本的代码由不同的“编码人员/个人”编写,并且代码片段的命名约定可能会因课程而异。

5. 在排查代码时做笔记。

6. 注意电线/跳线的颜色和“图示的引脚连接”与显示的互连表。

7. 如果您打算使用本产品的线路跟踪功能,网页链接适用于五个单独的红外线路传感器,“wget”和“文本”链接适用于 OSOSYOO ​​PiCAR V2.0 套件中包含的五个红外线路传感器同样,但 Mecanum 机器人套件包括一个三个 IR 传感器模块,因此您需要修改该代码。

8. 最重要的是,我需要在我的后两个电机上的 2 针电机连接器上反转电机电源连接,因为所有电机的接线极性相同,但在 4 轮机器人上,前电机从后部反向安装,因此 RED和黑线需要交换。这是因为 Osoyoo L298N Motor Pi 模块的 K1 和 K2 端口连接在一起,而 K3 和 K4 端口连接在一起。“为什么!!!!!” (我拼命地尝试用代码纠正这个问题,但发现无论我尝试什么,两个电机都会彼此相反地旋转)。仅当使用一个 L298N 模块时才需要更改接线。如果使用两个 Motor-X 模块,那么您可以独立交换代码中的方向/旋转。

9. 我遇到了 Osoyoo L298N Motor Pi 模块的问题,它通过两个 18650 3.7 伏电池组为 Raspberry Pi 提供 5.1 伏和 2.5 安培的电源。Mecanum 套件随附的 Motor-X L298N 专为 Arduino 设计,因此其输出不会被调节至 Raspberry Pi 规格。我有一个 Motor Pi 和 Motor-X 模块,当开机时,它会在启动时立即开始旋转左后电机。这最初被认为是接线问题,我的 Raspberry Pi 上的 GPIO 引脚挂起,或者代码错误,但是当代码运行时电机会正常工作。它会根据代码请求启动/停止/并改变旋转方向,但在空闲状态下它被启用为高电平。因为我买了两个 Motor Pi 模块,我可以把它换掉,问题就消失了。

现在我的构建经验:

A. 研究和订购

 
 
 
poYBAGN6YMCAEbArACMlIJB545E829.jpg
 
1 / 3我从 Amazon Prime 订购的订单 - 2020 年 4 月
 

我一直在监控 Mecanum 套件或车轮,但成本太高。该套件的成本波动 +/- 20.00 美元。Osoyoo 提供了两种类似的套件,一种具有塑料轮和基本驱动直流电机,另一种具有橡胶轮和带霍尔传感器的齿轮电机(但未使用霍尔传感器)。甚至还有一个没有电子设备的精简版。注意套件描述、特性和功能。

塑料轮子

" https://www.amazon.com/dp/B0822KGXBJ/ref=as_li_ss_tl?ref=myi_title_dp&ref_=nav_ya_signin&_encoding=UTF8&&linkCode=ll1&tag=osoyoo-20&linkId=a0527e51692344d5e271a81206c5bef8&language=en_US " $69.99

Arduino 橡胶轮

https://www.amazon.com/OSOYOO-Omni-directinal-Controlled-Educational-Mechanical/dp/B0821DV5GJ/ref=pd_rhf_se_p_img_2?_encoding=UTF8&psc=1&refRID=VGH3D0SSAECZ3QXM9MJF ” 116.00 美元。

基础平台

https://www.amazon.com/OSOYOO-Robotic-Mecanum-Platform-Raspberry/dp/B07WZJYVB5/ref=pd_rhf_se_p_img_7?_encoding=UTF8&psc=1&refRID=RYPA66MSTEWV8RCDX6CS ”,现价 79.99 美元。

B. 文档控制 - 为金属底盘 Mecanum 机器人选择文档

在查看了 Web 链接和文档后,我确定我最初遵循了错误的汇编和编码文档。我原以为我的套件是使用塑料轮子的 Mars Rover 版本“亚马逊的描述非常相似”,我很快发现 Arduino Motor 代码示例与 Metal Mecanum 版本相反。在通过许多电子邮件联系 Osoyoo 的支持后,我确定电机电缆的接线方式不同,因此代码示例不正确。我还发现不同的 Osoyoo 工程师编写了每个开发课程,因此功能命名模式是不同的,并且在构建套件和添加功能时没有扩展。

C. 开箱和组装

1. 收集每个组装步骤所需的硬件 - 带电机支架的机器人底座

 
 
 
pYYBAGN6YMmAXZlVAB0CeEj0hs4689.jpg
 
1 / 2第二份装箱单
 
 
 
 
poYBAGN6YNKAHhjpABOXkX2n0-k881.jpg
 
1 / 5收集所需的硬件
 

2. 将电机支架连接到机器人金属底板

 
 
 
pYYBAGN6YNaAM345AARMFMNs-FQ706.jpg
 
1 / 9在每个安装螺钉上安装塑料垫圈
 

3. 现在连接剩余的三个电机支架

 
 
 
poYBAGN6YN6AVlH5AAdBCnl5_78222.jpg
 
1 / 5为每个坐骑收集的硬件
 

4.收集电机和车轮的硬件

 
 
 
pYYBAGN6YOKAGkJsAAg5yefvf9E477.jpg
 
1 / 8所需的硬件布局
 

5.现在连接其他三个电机

 
 
 
poYBAGN6YOeADlkjAAgW8OrmMuU734.jpg
 
1 / 4现在安装其他三个电机
 

6. 收集轮毂扩展适配器的硬件

 
 
 
pYYBAGN6YO-AJ-eXABdfoh6tGCc381.jpg
 
1 / 6收集轮毂、固定螺丝
 

7. 现在连接其他三个轮毂

 
 
 
poYBAGN6YPWAef_oAAYwuR_oPJ0740.jpg
 
1 / 4将其他三个轮毂连接到车轴
 

8. 现在安装轮子

 
 
 
poYBAGN6YdaAGqBnABLzJfNiGd4511.jpg
 
1 / 11收集轮子和锁定螺钉
 

9. 现在布置电子模块以供支架使用和安装

 
 
 
pYYBAGN6Yd6AcRbnAA94A-RXcB4842.jpg
 
1 / 6收集用于电子模块安装的硬件
 

10. 现在用塑料螺丝连接电子设备和电池座

 
 
 
poYBAGN6YeyAA4BlAAW-BO7o6g8708.jpg
 
1 / 11用尼龙螺丝安装电子模块
 

现在是 2020 年 10 月 28 日;我一直忙于支付白天的工作……但没有忙于继续思考这个项目和 Raspberry Pi 版本的撰写完成。

11. 安装超声波传感器伺服和顶板支架

 
 
 
pYYBAGN6YfCAFyOsAAfqJdK7a3M375.jpg
 
1 / 12超声波传感器伺服硬件
 

12. 超声波传感器和支架的组装。

 
 
 
poYBAGN6YfWAZSF1AAXZUPzTXVo446.jpg
 
1 / 15超声波传感器硬件
 

13. 将电机和硬件连接到互连板

 
 
 
poYBAGN6YfmALL-mAAlUCeoBwN4325.jpg
 
1 / 8单独的电机接线标记-注释编码器线-未使用
 

14.电机控制与UNO WIFI板互连

 
 
 
pYYBAGN6YgGAdhlwABR0qwv5jvM461.jpg
 
1 / 10右 Motor-X 互连
 

15. 电压表和电池互连

 
 
 
poYBAGN6YgiAPN7nABKhKbbvBmY176.jpg
 
1 / 12电压表互连
 

16.超声波传感器与伺服互连

 
 
 
pYYBAGN6Yg2AHEoQAAi_smX2Wu0353.jpg
 
1 / 12伺服安装在前底盘上
 

17. 线路跟随传感器安装和互连

 
 
 
poYBAGN6YhKACfRwAAoxA69Ss3c457.jpg
 
1 / 8所需的线传感器硬件
 

18.蓝牙连接或WIFI使用......你决定

 
 
 
pYYBAGN6YhiASz8wAAa0EPav6cM577.jpg
 
1 / 3蓝牙硬件
 

19. 下载 Android 应用程序,让乐趣开始

poYBAGN6fCCAfl-hABPgwQpT4PQ661.jpg
适用于 Arduino 版本的 Android 应用程序
 

 
 
 
 

 


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

评论(0)
发评论

下载排行榜

全部0条评论

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