6 伺服机器手臂 一 概述 机器手臂和控制器图片 第 1 页共 21 页
伺服机器手臂, 顾名思义, 是由六个伺服电机驱动的机 器手臂 既然是手臂, 那么就有几个关节, 大家可以联想到, 我们人类的手臂, 除了肩 肘 腕这三个关节外, 再加上手 指的关节, 就有很多个关节了 那么我们这个机器手臂也是 一样, 用 6 个伺服电机实现了一个手的简单结构, 除了没有 人那么多的关节外, 还缺少一些神经组织和神经系统, 然而, 具有 灵巧手 ( 可完成复杂装配 搬运或仿人手抓取鸡蛋 ) 的 仿人形 机器人乃机器人研究的前沿 而我们的 6 个伺服机器, 以巧妙的机械结构, 结合它 的控制系统, 展示了 6 自由度机器手动作的控制原理 它由 4 个 6V 工作电压 13KG 大扭力的伺服,2 个 6V 工作电压 1.8KG 扭力的伺服电机以及完美的铝制合金结构完美的组合在一 起, 以完成多自由度表演! 机器手臂总长度为 390mm 用来控制机械手臂运动的是基于 atmega168 单片机的 32 路控制器 借助电脑的图形化的上位机操作界面, 通过 RS232 串口可对机器手臂运动进行操作 在机器手臂控制板上预留 了 ISP 下载口, 用 STK500 ISP 下载线便可以对控制板上的单 片机进行编程 同时控制器还设有 wi-fi 无线控制模块扩展 口, 供有更高需求的客户使用 这套机器手臂, 无论是 robot fans 做个人开发, 还是学 生参赛, 都是非常好的实践平台 第 2 页共 21 页
二 快速上手 相信每位拿到这款机器手臂, 都想在第一时间内感受一下她的魅力 所以第二部我们就从快速上手介绍 想了解更多有关机器手臂和控制器功能 参数的用户, 请到第三部分和第四部分查看 1 必备工具在安装前您必须要准备好以下工具, 这样您才能顺利安装 一字螺丝刀 六节 AA 电池 两条导线 ( 用于连接控制板和电 源 ) 直流稳压电源 ( 最大电流 3A) 2 控制器的结构了解 分 为了方便伺服电机和控制器联线, 我们简单看一下控制器的结构和接口, 更详细的介绍请见第三部 第 3 页共 21 页
备注 : 波特率设置方法 控制器出厂设置波特率默认值为 :115200( 就是两个针冒都插上 ) 此控制器, 只能设置 4 种波特率, 插上针帽表示 1, 没插针帽表示 0 ; 四种波特率设置见下图 4 种设置图解 : 3 连接伺服电机电源 伺服电机电源输入口因为伺服电机工作电流比较大, 我们使用直流稳压电源给六个伺服电机供电 把我们准好的导线按照图中的接线孔和直流稳压电源进行连接 注意电源的正负极性 ( 备注 : 在电源接线过程中需要用到一字螺丝刀 ) 4 连接伺服电机 第 4 页共 21 页
伺服电机接线口控制器一共有 32 路电机驱动, 我们使用第 1-6 路 控制器上有三排插针用来连接伺服电机 每个插针的用途在图中已经标出 每路伺服电机接线有三路组成, 分别为电源线 ( 中间红色 ) 地线 ( 黑丝或棕色 ) 信号线( 白色或橙色 ) 按次序将六路伺服电机连接到控制器上 5 连接控制器电源 单片机电源输入口电池盒控制器上有共有三路电源输入口, 中间为单片机电源输入口 将配件中的电池盒正确的连接到电源输入口上 ( 不加电池 ) 6 将控制和电脑串口进行连接 控制器串口 电脑和控制器连线图 第 5 页共 21 页
使用配件中的串口线, 按照正确的接口方法, 将控制器串口和电脑串口连接 ( 如上图 ) * 对于电脑没有串口的用户, 可以购买 USB/UART 转换模块或转换线来完成连接 ( 因 USB/UART 转换 芯片种类不同, 不保证所有转换模块或转换线都能正常使用 ) 7 打开电脑上位软件 第 6 页共 21 页
上位机软件界面 在光盘 上位机软件 文件夹中双击 6 servo robot arm controller.exe 文件, 就在电脑打开如上 图的界面 选中的通道选中 1-6 通道的复选框, 使数值条处于有效状态 8 让机器手臂动起来好了, 第一部分工作我们就完成了, 终于可以松口气了! 第 7 页共 21 页
下面进行上电前的最后检查 : 伺服电机电源接线 六路伺服电机接线 单片机电源接线 OK, 没有问题, 开始我们的上电操作 : 先将直流稳压电源旋钮调到最小, 打开直流稳压电源开关, 由小到大, 将电压调到 6V, 电流调到 2A 或更大 将准备好的 6 节 AA 电池正确的装入电池盒 点击上位机软件左上角的 连接 按钮 好啦, 机器手臂马上就要动起来了, 好有成就感!^_^ 使用鼠标拖动刚才选中的数值条, 这时我们会发现机器手臂会有动作 ( 备注 : 在拖拉过程中要注意, 第一通道的数值最好不要超过 2150, 其他通道数值没有要求 原因呢? 这里先不说, 后面有介绍 ) 点击软件中的 复位 按钮, 然后再点击左下角的 运行 按钮, 机器手臂是不是可以连续的做动作了? 介绍到这里, 我们就初步体验了一把机器手臂的魅力了 怎么? 有人按照上面的操作手臂没有动作? 不要着急, 马上告诉你解决的方法 : 9 机器手臂不能动作的原因总结 1) 查看伺服电机电源是否有接反的情况 ( 最好不要有这种情况出现哦 ) 如果有, 调整电源接线, 重复 8 小节中的操作 ; 2) 查看伺服电机接线方向是否正确 不正确, 赶快调整, 重复 8 小节中的操作 ; 3) 查看控制器板上波特率跳线是否正确, 下图是波特率设置的正确连接图 如果是跳线问题, 请按下图重新跳接, 重复 8 小节中的操作 4) 查看上位机软件的 COM 口设置 com1 是通用端口, 对多数台式机来说, 选 com1 口便会和电脑成功联接 如果 com1 口不成功的话, 不防选 com2 口试试 重复 8 小节中的操作 5) 如果以上原因都被排除, 机器手臂还是和你较劲, 不肯运动, 那么你就应该考虑一下是否是伺服电机电源电流不足的原因了 这种情况下, 机械手臂在你拖动数值条时会发生抖动 解决的办法那就是更换电源 6) 最后一个办法, 也是最有效的办法, 那就是按照网站联系方式和我们客服人员联系, 由他们为你解决问题 第 8 页共 21 页
机器手臂我们也过了一把瘾了, 接下来就该认真的学习一下机器手臂的功能介绍了, 也方便我们更 好的学习和使用这款产品 第 9 页共 21 页
三 控制器介绍 机器手臂控制器实物图现在我们好好看看这款机器手臂控制器吧 控制器以 atmega168 单片机为主控制器, 采用双电源供电 (6~12V 单片机供电,4.8~6V 伺服电机供电 ) 通过串口和电脑或其他单片机进行通讯 为方便用户二次开发, 在控制板上预留了 ISP 下载口, 用 STK500 ISP 下载线便可以对控制板上的单片机进行编程 该控制器上下共有两排 32 路伺服电机驱动, 可以对 32 路伺服电机进行控制 ( 我们只用到了其中的 1-6 路 ) 同时控制器还设有 wi-fi 无线控制模块扩展口, 供有更高需求的客户使用 第 10 页共 21 页
机器手臂控制器接线图单片机电源 : 在图中, 上往下看, 电路板正面有三个电源输入口, 中间的为单片机的电源输入 使用了稳压设计将电压稳定在 5V 因此输入的电压在 6V 到 12V 之间均可 伺服电机电源 : 两侧分别供应 16 路伺服电机的 输入电压在 4.8V~6V 之间 上侧的伺服电机电源为 1-16 路伺服电机供电 ; 下侧的伺服电机电源为 17-32 路电机供电伺服电机插针为 32 排, 对应 32 路伺服电机, 标示有白色数字 每排插针 3 针 最外侧的针是地 ( 接伺服电机棕色或黑色线 ), 中间是电源 ( 接伺服电机红色线 ), 最内侧是信号针 ( 接伺服电机上的白色或橙色线 ) 插针的顺序和伺服电机接线座顺序一致 波特率设置 : 在控制板单片机右上方的两排插针是用来设置单片机串口通讯波特率的 因为上位机软件默认的波特率为 115.2K, 所以出厂时控制器默认的波特率设置方式为 : 两个跳线都插上, 代表的值是 11, 波特率是 115.2k 控制器尺寸 :79*79(mm) 第 11 页共 21 页
四 软件操作界面 1 界面介绍在前面的 快速上手 环节, 我们已经初步应用了一下机器手臂上位机界面, 这里再详细介绍一下 : 这个操作界面, 分五个部分组成 : 端口的连接和设置 通道的控制 操作选项 指令库 速度调节和间隔时间调节 手输指令 上位机软件界面 第 12 页共 21 页
我们逐一介绍一下 : 端口的连接和设置 端口设置 在上位机软件中, 一般情况下, 按照软件默认设置就可以 com1 是通用端口, 对多数台式机来说, 选 com1 口便会和电脑成功联接 如果 com1 口不成功的话, 不防选 com2 口试试 com 口选择点击连接后, 电脑将通过设置好的端口与控制器通讯, 此时 连接 按钮显示为 断开, 设置 按钮也为失效状态 ( 注意 : 连接 按钮变成 断开 不能作为电脑和控制器连接成功的判断标准 ) 如果您想用手提电脑来控制这台机器手臂的话 ( 多数手提电脑没有串口 ), 就需要一个 USB 端口转 RS232 串口转接线, 这样 USB 口就会被虚拟成 com 口 而虚拟的 com 的编号我们可以通过下面的方法查看 : 接通单片机供电电源, 在电脑桌面上选中 我的电脑, 点右键选择 管理 菜单, 进入 计算机管理 设置操作界面 ( 见下图 ), 点击左边的 设备管理器 菜单, 展开右边的 端口 (COM 和 LPT), 你会发现一个 USB Serial Port (com10) 显示在那里 那么以此为例, 在软件端口设置中将 com1 改为 com10, 按 确定 按钮, 重新选择 连接 按钮, 这时通讯就成功了 注 : USB 口转 RS232 串口转接线, 市场上有卖, 但这种转接线并不是所有芯片都支持 第 13 页共 21 页
虚拟 com 口查看通道的控制 32 伺服机器控制器, 即可以控制 32 个伺服电机. 如下图所示, 通道控制栏有 32 个编号, 此操作界面里 32 个编程和控制板上的 32 个编号的插针位置也是一一对应的, 并且操作界面里每个编号下面, 对应一个数值 这个数值的变化规律就是 500~2500 之间 第 14 页共 21 页
数值 1500 是归零的状态 每一个数值的下面, 还有一个值对应的数值条, 在数值条的下面, 还有一个复选框 当选中复选框的时候, 数值条为有效状态, 这里, 如果说机器手臂从上向下 6 个伺服按顺序编号为 1-6, 插在控制板上的插头倘若也是按这个顺序插接在主板上, 此控制软件界面上的 1-6 个编号也是一一对应的 当双电源接通后, 通讯没有问题的话, 拖动 1-6 的任一个数值拖动条, 机器手臂就会动起来 如果这 6 个编号的伺服电机, 都在拖动数值拖动条可以动起来的话, 此时通讯就是 OK 的了 选中的通道 如果想让机器手把手张开, 就在编号 1 位置的数值输入栏里输入 1510, 机器手就会把手张开 第 15 页共 21 页
严重警告 出现以下错误操作, 机器手臂是不在厂家的保 修范围之内的 需要注意的一个问题就是, 编号为 1 的伺服电机 ( 手爪位置 ), 在机器手臂中处于手掌的位置, 不 像其它关节的伺服可以转向 180 度, 伺服传动只需很小的角度就可以完成手爪的张开或合上这两个复杂 的动作, 产品的操作结果显示编号为 1 通道的数值的活动区间为 1500~2100 时, 刚好可以实现手爪的张 开和合上两个动作 而滚动条的活动参数不在 1500~2100 区间的话, 在长时间的脉冲的作用下, 发热量 会加大, 如果持续长时间发热的话, 就会缩短此伺服电机的寿命 所以机器手臂的出厂设置, 就是滚动 参数在 1500 时为最大的张开状态, 在滚动参数为 2100 时刚好合上 手爪 所以操作者在操作编号 1 的伺服电机的问题上, 抓东西是由 1500~2100 方向靠近, 如果是让它来夹一张卡片, 只要收紧到可以夹 住一张卡片又不会掉下来就可以了, 滚动条就不要再向 2500 参数靠进 ( 根握情况可以进一步收紧, 但做 完动作后, 应及时松开 ) 手爪部分, 张到最大时, 再收一点 ( 收一点后电流有明显下降并且听不到电 机大的机械传动的声音 ), 就是最佳的最大张开位置, 这时是空载的, 对电机没有一点损害 收到爪子 刚好合上, 已经夹住东西时, 不要再合紧, 这时是最佳抓东西的状态 抓东西时 爪子 不要长时间抓着东西不放, 也不要长期张到最大不放, 因为这时电机长时间负载 会产生较大热量会缩短电机寿命或损害电机 但是, 其它编号的伺服电机, 不存在这个状态, 编号 1 电机在 1500~2100 的数值区间变化同时无负载时都没有这样的发热量 第 16 页共 21 页
操作选项 操作选项操作选项栏, 我们用得比较多的就是 复位, 添加, 修改, 删除, 退出 复位 : 当点击 复位 按钮时, 机器手臂会回到初始状态, 初始状态时, 当前生效的数值拖动条的按钮会停留在中间位置, 对应的数值显示为 1500 复位后的通道数值特别强调, 每次点复位按钮后, 请立即可以编号 1 伺服电机对应的滚动条, 拖动到 1500~2100, 以免让编号 1 电机长时间处于负载状态而减少电机寿命或损坏电机! 添加 : 添加 按钮是当操作者点击 添加 按钮时, 此控制系统会自动把各个对应编号伺服电机的状态 ( 机器手臂的每行指令的间隔时间 伺服转动速度和角度 ) 自动保存一行指令到指令库里面 修改 : 修改 按钮是有来修改已经生成的一行指令 就是在先选中一行指令时, 点击 修改 按钮时, 系统会自动重新把当前的各个对应编号伺服电机的动作保存已经选中的当时行的指令 第 17 页共 21 页
删除 : 删除 按钮是用来删除当前选中的一行指令 退出 : 退出 按钮是退出当前操作界面 指令库 指令库是用来保存各个对应编号伺服电机的动作 ( 机器手臂的每行指令的间隔时间 伺服转动速度 和角度 ) 保存一行或多行指令的一个库空间 速度调节和间隔时间调节速度调节控制着每个伺服电机的转动速度 系统默认为 300 为佳, 数值调太大会影响机器手臂的使用寿命 间隔时间调节是调节每行指令间的动作时间间隔 手输指令如下图所示, 在手输指令栏, 输入 #5 P1200 然后点 发送 按钮, 便可以控制其中一个伺服电机的传动 如果想命令多个电机同时工作, 例 : 控制 1 号 2 号 3 号 4 号 5 号 6 号电机分别从当前位置转动到 0 度 27 度 45 度 63 度 90 度 180 度则输入 : #5 P500 #6 P800 #4 P1000 #3 P1200 #2 P1500 #1 2500 点击 发送 手输指令窗口 第 18 页共 21 页
五 编程实现机器手臂的控制 简易指令说明由于本控制板的特殊设计, 指令编码与电路板的编号不同, 发指令来控制伺服电机的脉冲 请参照下此表 电路板编号 指令编号 电路板编号 指令编号 1 5 17 23 2 6 18 22 3 4 19 21 4 3 20 20 5 2 21 19 6 1 22 18 7 0 23 17 8 7 24 16 9 15 25 24 10 14 26 31 11 13 27 30 12 12 28 29 13 11 29 28 14 10 30 27 15 9 31 26 16 8 32 25 电机编号指令对照表 举例 1: 命令电路板上编号为 1 的伺服电机运动则输入 : #5 P1500 + 回车键 命令解释 :P 是 POSITION 的缩写 以转动角度为 180 度的伺服电机为例 最小值是 500, 则为 0 度, 最大值为 2500, 此时为 180 度 精度为 180/(2500-500)=0.09 度 举例 2: 命令多个电机同时工作, 如控制 1 号 2 号 3 号 4 号 5 号 6 号电机分别从当前位置转 动到 0 度 27 度 45 度 63 度 90 度 180 度则输入 : #5 P500 #6 P800 #4 P1000 #3 P1200 #2 P1500 #1 2500 回车 举例 3: 时间控制 当控制 1 号伺服电机从当前位置, 运动到 180 度, 总时间为 1 秒, 则 #5 P2500 T1000 回车 命令解释,T 表示 time,1000 是 1000 毫秒 =1 秒 若要 0.5 秒, 则改成 500 即可 添加动作 1) 通过操作栏的 添加 按钮产生连贯动作 第 19 页共 21 页
在机器手臂的每一个关节运动到你需要的一个位置时, 在操作栏点击 添加 按钮, 便可将当前每个伺服电机的转动角度 ( 即机器手臂的动作状态 ), 当前行指令的运动速度保存在指令库里, 当你保存多行指令时, 点 运行 按钮, 便可产生连贯动作 2) 通过手输指令栏手输代码产生连贯动作按照上面范例的操作方法, 手动输入指令代码, 也可以让多个关节连续工作 使用单片机控制 : 如果我们不方便使用电脑, 那么我们可以使用单片机, 按照上面介绍的指令格式, 对控制器进行控制 第 20 页共 21 页
附录 : 机械手臂参数 : 工作电压 : 电机 4.8-6V 控制器 6-12V 工作电流 :1.2-3A 搬运负载 :200-500g( 建议抓取 200g 以上的物体, 力矩越远, 受力越大, 最好不要用最底端伺服 第 5 个伺服 驱动, 以保持机器手臂最佳的出厂时的工作性能! 用最底端伺服 第 5 个伺服 抓取 200g 的物体是没有问题的, 如果用第四个 第三个伺服来驱动的话, 搬运物体的动力就更不用说了, 很强劲 ) 舵机性能简介 : 1 金属齿轮伺服电机: 尺寸 :40.4*19.8*36mm 重量 :48g 速度 :0.22sec/60 输出力矩 :13kg cm 2 Micro STD 伺服电机 : 尺寸 :28x14x29.8mm 重量 :18g 速度 :0.13sec/60 输出力矩 :1.8kg cm 第 21 页共 21 页