0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学习做一名创客,搭建多功能机器人

工程师兵营 来源:互联网 作者:佚名 2018-06-29 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

要学习做一名创客,从套件搭建多功能机器人不失为一种有效的方法,因为它提供机会学习多个相关领域的知识,包括微控制器传感器电机、软件开发等。而且,不论对于初学者还是经验丰富的创客,都有大量的机器人套件、插件和在线帮助供其选择。

本文讨论在基于 DF Robot 的 Devastator 坦克平台(图 1)搭建机器人时,应该考虑的一些实用步骤、问题和可能的升级。

图 1:DFRobot Devastator 是可帮助设计人员和创客学习广泛的电子和软件技能的多功能平台。(图片来源:DFRobot)

为什么选择 Devastator?它坚固耐用,采用铝构造,并具有两个金属齿轮有刷直流电机。它能搬运重达 3 kg 的载荷,具有多个可用于安装传感器、伺服机构、机器人手和其他配件的安装孔,而且可兼容所有流行的、适合创客使用的微控制器板。

搭建完整的机器人系统

机器人附带底座、轮子、履带和两个电机,其他组件的选择则取决于设计人员。完整的系统需要一块微控制器板、一块电机驱动器板和一种输入命令的方法。可选的插件可能包括机器人手、摄像机等组件,或旨在提供一定程度的自主操作的防撞系统。

选择微控制器平台

Devastator 机器人可兼容多种流行的微控制器平台。Arduino 开源开发平台于 2003 年在意大利问世,并为初学者和专业设计人员广泛使用。Arduino Uno(图 2)使用 Microchip Technology(原 Atmel)的 ATmega328P 8 位 RISC 微控制器。

其他标准功能包括:一个受预编程的 ATmega16U2 微控制器控制的 USB 端口、多路数字输入和输出、一个模拟输入端口,以及一个用于软件更新的在线串行编程 (ICSP) 端口。更新的 Arduino Due 将内核升级为一个 32 位 ARM® Cortex®-M3。此内核还在下文讨论的 DFRobot 控制器板中使用,而该控制器板同时具备 Arduino 的兼容性和电机驱动器。

Arduino Uno 图片

图 2:Arduino Uno 是创客项目的流行选择,并且基于 Microchip Technology 的 ATmega328P 8 位 RISC 微控制器。(图片来源:Arduino)

Raspberry Pi 单板计算机最初在学校用于基础计算机科学教学,但如今在创客社区变得极为流行。最新的 Raspberry Pi 3 基于以 1.2 GHz 频率运行的 Broadcom 64 位四核 CPU。它包含 802.11n 无线 LAN、蓝牙 4.1 和低功耗蓝牙 (BLE)。还包含 1 GB RAM、一个微型 SD 卡插槽、4 个 USB 端口、多个 HDMI以太网端口、一个摄像头接口、40 个 GPIO 引脚,以及其他专用接口。

希望运用其现有经验的 Windows 专家可以从使用 Devastator 兼容型 LattePanda 控制器板开始,因为该板附带已安装并激活的完整版 Windows 10。该板使用一个以 1.8 Ghz 频率运行且捆绑了一个协处理器的四核 CPU,还使用了 Microchip 的 8 位 Atmega32u4 以实现 Arduino 兼容性。

LattePanda 附带 2 GB DDR3L RAM 和多达 32 GB 存储,一个 USB 3.0 和两个 USB 2.0 端口,Wi-Fi,蓝牙 4.0,一个协处理器,以及在两个处理器之间划分的合计 22 个 GPIO。

控制电机

确定微控制器内核后,下一步是选择电机控制板。Devastator 包含两个以 160 rpm(无负载)速度工作的 6 伏 (V) 电机。每个电机的最大输出扭矩为 0.8 kgf.cm (0.058 ft-lb.),最大失速电流为 2.8 安 (A)。

Raspberry Pi 需要插件扩展板来实现机器人特定的功能,不过 DFRobot 的 DFR0398 Romeo BLE Quad 板为 Arduino 爱好者提供了同时包含微控制器和电机驱动器的单板选件(图 3)。该板提供了比 UNO 衍生产品更强大的内核,但仍保持了 Arduino 软件兼容性。

微控制器为 STMicroelectronics 的 STM32F103RET6:此器件使用以 72 MHz 频率运行的 ARM® Cortex®-M3 32 位内核,并包含 512 KB 闪存、一个电机控制脉冲宽度调制 (PWM) 模块、16 个 12 位模数转换 (ADC) 通道,以及两个 12 位数模转换 (DAC) 通道。

DFRobot DFR0398 Romeo BLE Quad 图片

图 3:DFR0398 Romeo BLE Quad 是可兼容 Arduino 的机器人控制板,并带有蓝牙功能和用于四个电机的驱动器。(图片来源:DFRobot)

电机驱动器由两个 Microsemi HR8833 器件实现。每个 MOSFET 驱动器包含两个 H 桥驱动器,用于 Devastator 电机的双向控制。Romeo BLE Quad 包含四个编码器接口,而且集成了 Texas Instruments 的 CC2540 射频收发器,用于实现蓝牙 4.0 无线连接。

添加电源

微控制器板本身通用 USB 连接器以 5 伏电压运行,但电机需要具有更高电压和电流的便携式(即电池)电源。许多创客采用最初用于无线电遥控 (RC) 车的廉价可充电电池组。这些电池组通常具有 7 伏或更高的电压和超过 5000 毫安时 (mAh) 的容量,并且可以轻松更换原始连接器。Romeo BLE Quad 伺服电源端口可接受 7 到 10 伏直流电。

微控制器板编程

在微控制器板上安装软件非常简单,面向创客的供应商在其网站上提供了分步说明。

在确定操作系统 (OS) 时,选择因平台而异。LattePanda 板附带已安装好的 Windows。Raspberry Pi 提供了多种选项,包括 Windows IoT Core 和各种 Linux 版本。Raspbian 是开源 Debian Linux OS 的变型,也是创客社区中最常见的选择。

另一方面,Arduino 并不使用传统的操作系统;Arduino 平台使用的是一个通过代码序列重复循环的循环执行程序。开发人员使用开源的 Arduino 集成开发环境 (IDE) 编写和安装代码。它是以 Java 编写,并且适用于 Windows、Mac OS X 和 Linux 主机的跨平台应用。在 Arduino 环境中,有几个项目具有自己的术语。例如,Arduino 兼容型插件板被称为“盾板”,软件模块则被称为“草图”。

使用 Romeo BLE Quad 编程

由于 Romeo BLE Quad 板是包含高级外设的单板机器人解决方案,因此后面的讨论中将使用该板。

首先,为主机选择首选操作系统,并从 Arduino 网站下载相应的 IDE。尽管 DF Romeo BLE Quad 没有使用与标准 Arduino 硬件相同的 Atmega328 处理器,但软件开发流程是相似的,因为该板与 Arduino IDE 是兼容的。

该 IDE 支持超过 25 款的来自多家制造商的开发板,但 Romeo BLE Quad 不在其中。Romeo BLE Quad 是另一块 DFRobot 板 Bluno M3 的一个版本,并添加了电机驱动器。要配置 IDE,必须先从开源 GitHub 网站下载 Bluno M3 文件。

要安装此文件:

  1. 打开 Arduino IDE 并转至 File(文件)-> Preferences(偏好)。将 GitHub 链接复制到“Additional Boards Manager URLs(更多板管理器 URL)”框中,然后单击“OK(确定)”。

  2. 转至 Tools(工具)-> Board(板)-> Board Manager(板管理器),在搜索框中输入“Bluno M3”,然后单击“Install(安装)”。随即下载配置文件。

  3. 从 Tools(工具)-> Board(板)菜单中选择 Bluno M3 板。

系统现在做好了进行应用开发的准备。标准 IDE 支持 C 和 C++ 编程,并且包含多个代码示例。开发人员使用文本编辑器编写草图(程序)(图 4)。

Arduino IDE 屏幕和文本编辑器图片

图 4:Arduino IDE 屏幕和文本编辑器:新程序中包含两个必要的函数。(图片来源:Arduino)

然后 IDE 对代码进行调试,交叉编译,并通过在线串行编程 (ICSP) 端口将结果上传到微控制器板。Romeo BLE Quad 还可通过其蓝牙端口进行编程。

文本编辑器从一个新程序开始,该程序包含两个预载的必要函数,并且已准备好添加代码:setup() 用于配置初始条件并且仅执行一次,然后连续运行 loop()。

必须下载并安装两个 Arduino 库,才能使用 Romeo BLE Quad 来运行 Devastator 电机:Motor.h 和 PID_v1.h。

电机代码首先通过一个 include 语句请求将这两个库作为头文件,并定义 I/O 引脚和一些初始常数,然后在 setup() 部分配置电机(列表 1)。

Copy/*!*@fileRemeoBLEQuadDrive.ino*@briefRemeoBLEQuadDrive.inoPIDcontrolsystemofDCmotor**RemeoBLEQuadDrive.inoUsePIDcontrol4wayDCmotordirectionandspeed**@authorlinfeng(490289303@qq.com)*@versionV1.0*@date2016-4-14*/#include"PID_v1.h"#include"Motor.h"Motormotor[4];intmotorSpeed[4]={-200,200,400,-400};/*Set4speedmotor*//*Speed=motorSpeed/(32*(setSampleTime/1000))(r/s)*/constintmotorDirPin[4][2]={//Forward,Backward/*Motor-drivenIOports*/{8,23},{7,9},{24,14},{4,25}};//constdoublemotorPidParam[3]={0.6,1,0.03};/*DCMOTOR,Yellow??180degree*///constdoublemotorPidParam[3]={1.5,1,0.05};/*DCMOTOR,Yellow??90degree*/constdoublemotorPidParam[3]={1.2,0.8,0.05};/*EncoderV1.0,160rd/min;19500/min;32:1,Kr=3.5*/voidsetup(void){Serial1.begin(115200);for(inti=0;i<4;i++){                                motor[i].setPid(motorPidParam[0],motorPidParam[1],motorPidParam[2]);/*Tuning PID parameters*/                                motor[i].setPin(motorDirPin[i][0],motorDirPin[i][1]);/*Configure IO ports*/                                motor[i].setSampleTime(100);/*Sets the sampling period*/                motor[i].setChannel(i);/*Sets the motor channel */                                motor[i].ready();/*Motor enable*/                motor[i].setSpeed(motorSpeed[i]);/*Set motor speed*/                }} void loop( void ){                for(int i = 0; i < 4; i++){                                motor[i].calibrate();/*motor PID calibrate*/                } }

列表 1:此 C 代码示例用于配置和控制 Romeo BLE Quad 的四个 Arduino 电机。(代码来源:DFRobot)

Setup() 和 loop() 部分用于配置和控制四个电机通道。由于 Devastator 底盘只需要两个电机,因此可将备件用于下面讨论的机器人手等配件。

以无线方式控制机器人

可以将一根 USB 电缆插入控制板,并操纵机器人四处移动,但通过 Wi-Fi 或蓝牙使用智能手机、平板电脑或计算机来无线控制它无疑要方便得多。如前所述,Romeo BLE Quad 包含与 Bluno 平台相同的蓝牙 4.0 模块。GitHub 提供了适用于 iOS 7.0+ 和 Android 4.3+ 的开源应用。利用这些应用,设计人员可以远程控制机器人并上传新的草图。

升级基本设计

组装基本设计之后,下一步通常是添加配件,使机器人能够执行一些有用的任务(图 5)。以下是一些升级尝试。

图 5:DFRobot URM37 v4.0 超声传感器(左侧)和 Adafruit 397 摄像模块(右侧)是两种流行的配件(图片来源:DFRobot 和 Adafruit)

检测并避开障碍物是移动机器人需要的一项功能。DFRobot URM37 v4.0 超声传感器输出与距离成正比的电压,并且可兼容 Arduino 和 Raspberry Pi。该传感器可检测物体或墙壁的存在,然后由代码执行随机转向,机器人继续在新方向上移动。

将该机器人升级为移动摄像机是另一项流行的升级。Adafruit 397 摄像模块可以捕获视频或静态图片。该摄像机及其 CMOS 图像传感器能以 30 帧每秒 (fps) 的速度捕获 640 x 480 像素的图像,并且具备运动检测功能。

考虑在机器人手(例如图 6 所示的 DF05BB 倾斜/平移组件)上安装摄像机。该套件包含两个托架和两个 DF05 伺服电机,适合水平安装。

图 6:DFRobot DF05BB 倾斜/平移安装附带两个伺服电机和两个托架。(图片来源:DFRobot)

全部组装到一起

完整的 Devastator 机器人包括底盘、控制器板、扩展板和超声传感器(图 7)。为方便起见,两个板位于平台上部,但如果需要一个顶部安装的可移动摄像机,则也有一个下部安装平台。

图 7:此完整设计示例包括 Devastator 底座、控制器板、电机控制扩展板和超声传感器。(图片来源:DFRobot)

总结

DFRobot 是基于创客的卓越平台,适合设计人员和创客在有趣且具备良好支持的环境中探索软件开发、微控制器功能、传感器选项和电机控制。


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

    关注

    215

    文章

    33248

    浏览量

    231197
  • Arduino
    +关注

    关注

    191

    文章

    6568

    浏览量

    200651
  • ATMEGA16U2-MU
    +关注

    关注

    1

    文章

    1

    浏览量

    3665
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    地瓜RDK机器人开发者套件及核心模组

     配套TogetheROS.Bot机器人中间件,兼容ROS2生态,200+开源算法Demo键部署,不用从零搭建机器人软件栈 ​ 2. BPU原生支持YOLO、SLAM、VLM、LLM
    发表于 09-10 23:13

    超60家机器人企业集中入驻——2027赛逸展如何让大企业与小企业互相赋能?

    企业同场展出,赛逸展搭建起大企业与小企业双向赋能的产业场景,实现大小企业资源互补。 机器人产业生态当中,大型整机厂商具备品牌、渠道、规模化交付能力,但需要大量高水准的零部件、算法供应商;小型科企业拥有
    发表于 09-01 10:48

    2027赛逸展聚焦机器人软件定义,重构机器人产品开发逻辑

    2.6万付费专业观众,10支海外采购团、5家国际财团到场,探讨软件定义机器人产业变革。 传统机器人硬件定型之后功能基本固定,想要新增作业能力往往需要改动硬件。软件定义
    发表于 08-28 10:58

    人形机器人的“神经系统”,车企应该怎样从零搭建

    步步搭建人形机器人的“神经系统”——通信网络。车企机器人,不是“跨行从零开始”车企关注人形机器人
    的头像 发表于 08-27 17:59 120次阅读
    人形<b class='flag-5'>机器人</b>的“神经系统”,车企应该怎样从零<b class='flag-5'>搭建</b>?

    2027北京机器人展聚焦人形机器人全产业链

    万㎡,395家科企业参展,预计汇聚2.6万付费专业观众,10支海外采购团、5家国际财团到场,完整呈现人形机器人全产业链图景。 人形机器人产业已经走出纯粹实验室研发阶段,逐步向小批量
    发表于 08-27 11:06

    2027赛逸展超60家机器人企业入驻

    ㎡,合计395家科企业参展,预计接待2.6万付费专业观众,集结10支海外采购团、5家国际财团,科力量成为本次展会大亮点。 机器人赛道
    发表于 08-27 11:05

    2027赛逸展机器人全品类六大展区联动

    国际会展中心,整体展览规模3.5万㎡,共有395家科企业入驻参展,预计迎来2.6万付费专业观众到场观展,同时配置10支海外采购团与5家国际财团驻场开展采购、投融资对接工作。 在机器人产业商业化提速
    发表于 08-27 11:03

    2027北京机器人展智能硬件展区升级

    ㎡,集结395家科企业,预计汇聚2.6万付费专业观众,10支海外采购团、5家国际财团驻场,夯实机器人感知交互产业链展示。 感知系统与交互终端是机器人的“眼睛”与“五官”,直接决定
    发表于 08-27 11:02

    2027北京机器人展数字健康机器人展区

    规模3.5万㎡,395家科企业参展,预计汇聚2.6万付费专业观众,10支海外采购团、5家国际财团到场,聚焦医疗康养机器人赛道落地应用。 人口老龄化加速叠加医疗服务提质升级,手术辅助、康复训练、养老
    发表于 08-27 11:00

    2027赛逸展聚焦机器人海外出海,打通外贸订单对接通道

    家科企业参展,预计迎来2.6万付费专业观众到场,配置10支海外采购团以及5家国际财团驻场,为国产机器人企业搭建面向全球市场的商贸桥梁。 当前国内人形
    发表于 08-27 10:58

    2027北京AI陪伴机器人展6月举办,亦庄5000P算力平台开放测试

    。 上届展会意向成交额30亿元,78%展商复订率。AI陪伴机器人需要垂直陪护大模型交互支撑,但是搭建大规模算力基础设施投入巨大,对于大量中小型科企业负担较重。亦庄打造“全域人工智能
    发表于 08-26 11:05

    2027北京具身智能机器人展万亿级市场六月启幕

    。2027北京具身智能机器人展(赛逸展)瞄准万亿级产业蓝海,助力企业抢占产业先机。 万亿市场不是单品类的爆发,而是由工业机器人、家用服务机器人、特种仿生装备、AI算法、算力基础设施、
    发表于 08-24 10:46

    5000P算力平台加持,2027北京机器人技术展启幕

    、东南亚、中东的海外采购团全天驻场,一对一匹配机器人整机、核心零部件批量采购需求;5家国际财团设立专属闭门洽谈区,每日开展科项目路演,同步对接股权投资、产业园区共建合作。 企业参展可收获多重价值:依托亦庄
    发表于 07-22 17:14

    2027具身智能机器人展意向成交额突破30亿

    两成展品登陆新品专区完成亚洲首秀。为放大商业价值,组委会定向邀约10支覆盖欧美、东南亚、中东的海外采购团驻场采购人形机器人、核心零部件,同步引入5家国际财团设立闭门洽谈区,全天开展一对一供需配对、科
    发表于 07-22 17:05

    告别算法调试!AR1105 六向声源定位模块,机器人开发高效之选

    各位同行、朋友们,机器人语音交互、声源追踪功能时,想必大家都遇到过难题:传统多麦阵列方案不仅硬件繁杂,还需要掌握波束成形、时延估算等专
    发表于 06-13 09:54