《机器人技术》实验指导书
《机器人技术》 实验指导书
适用专业: 机械电子工程 课程代码: 150106379 学时: 4 学分: 编写单位: 机械工程学院 编 写 人: 杨 强 审 核 人: 审 批 人:
《机器人技术》实验指导书
实验一 CDS5516舵机实验
一、实验目的和任务
1. 掌握CDS5516舵机的工作原理; 2. 掌握CDS5516舵机的总线通讯协议;
3. 了解掌握CDS5516舵机的编程调试环境 Robot Servo Terminal; 4. 掌握CDS5516舵机ID号、波特率以及查找模式的设置方法。
5. 完成舵机位置变化(150-700),速度变化(230-330)时的位置、目标位置时间变化曲线,以及位置、速度时间变化曲线。
二、 实验仪器、设备及材料
1. 多功能调试器(含USB AB线)一套;
2. 舵机(任意 ID号)一个、舵机线两条;
3. 12V电源一个;
4. PC机一台。
三、实验原理
CDS5516数字舵机是“卓越之星”的主要执行器,它易用,可靠,并且适用于各种构型。CDS 系列
机器人舵机属于一种集电机、伺服驱动、总线式通讯接口为一体的集成伺服单元,主要用于微型机器人的关节、轮子、履带驱动,也可用于其他简单位置控制场合。CDS5516的实物如图1.1所示。
图1.1 CDS5516 数字舵机实物图
1.总线通讯的特点
CDS5516 采用半双工串行异步总线通讯,控制器可以通过一个 UART 接口,控制多达255254个的 CDS5516。这是什么意思呢?我们借用现实中的一个例子来解释。
某学校接到上级要来视察工作的通知,校长为了给领导留个好印象,决定举行一个隆重的欢迎仪式。他让宣传部编排了一些欢迎动作,这些欢迎动作需要10个方阵的学生共同表演,并且需要步伐协调,每个方阵由一个老师带领,所有的方阵由宣传部长指挥。带队老师和部长都发一个对讲机,校长
《机器人技术》实验指导书
在如下几个要求。
(1) 部长的对讲机调在讲话模式,带队老师的对讲机调在接听模式。
(2)部长统一发布方阵的动作指令,比如 A 方阵下蹲、B 方阵摇手、C 方阵站立等。每个带队老师都能听到这些命令,A方阵带队老师只关心与 A 方阵有关的命令,不理会和 B 方阵有关的命令,否则动作就乱套了。同样,其他方阵的老师也只关心自己方阵的命令,除了要求所有方阵都执行的指令之外。
(3)命令只能由部长发布,任何带队老师不能给其他带队老师发布动作命令。
(4)带队老师不能随便将对讲机调为讲话模式,向部长咨询事情,否则大家都调为讲话模式,就唧唧喳喳地成了一锅粥了。只有在部长要求回答的时候才能回答,回答完毕后立刻将对讲机调回接听模式。
某个风和日丽的日子,领导终于来了。部长按照剧本对方阵老师下命令:“所有方阵听指令,我先发布各个方阵的动作,各个方阵记住自己的动作之后先不执行,等我说执行,所有方阵一起执行。现在开始,A 方阵向前走 5 步,B 方阵摇手,C 方阵放气球……,现在所有方阵执行动作。” 欢迎仪式动作整齐,配合默契,步伐协调,获得了领导的大加赞赏。
总线是指能为多个功能部件服务的一组信息传输线,它是计算机中系统与系统之间,或者各部件之间进行信息传送的公共通路。它由一定的物理线路和接口、数据协议规范所构成。
(1) 部长和各个带队老师的对讲机就是这样的物理线路,它让指挥者和执行者之间的通信成了可能。校长发布的几个规定就是总线协议,这个协议让总线不会出现冲突、紊乱,让通信能够正常完成。CDS5516的半双工串行异步总线的物理线路是舵机线、UART接口等。
(2) 部长发布命令,其他带队老师只能接受命令,不能发布命令,因此我们可以称部长为主机,其他的带队老师是从机,这个总线上只能有一个主机,否则多人发布命令会导致带队老师(从机)不知道听谁的命令好。从机可以有很多,现在有 10 个方阵,如果欢迎仪式的剧本复杂点,可能需要 255254个方阵也不一定。在 CDS5516 的总线上,“创意之星”控制器就是主机,发布 CDS5516 需要执行的命令,比如 ID 为 1 的舵机转 50°,其他舵机不动。CDS5516就是从机,这个总线可以串联很多 CDS5516,如图 1.1所示。
(3) 这个总线是半双工总线,部长在说的时候,带队老师只能听,带队老师要说话必须将接收机调为讲话模式,部长需要调成收听模式,带队老师说完之后需要立刻切换为收听模式,否则会影响部长发布命令。“创意之星”控制器作为主机,发布 CDS5516 的动作指令,舵机在控制器要求应答时才发送应答数据,发送完成后立刻将自己的接口状态调整为接收状态。
(4)每个方阵都有自己的代号,这就是从机的ID(地址),主机发布的命令所有从机都可以接收到,但从机只响应和自己ID匹配的命令。CDS5516都有自己的ID号,出厂默认都是1,可以使用 Robot Servo Terminal软件进行修改,具体操作请查阅《Robot Servo Terminal使用说明》。
(5)部长可以让带队老师逐个执行动作,比如让A方阵先转向,再让B方阵蹲下,也可以让所有的方阵记住他们要执行的动作,然后同时执行,这样效果会比较整齐。“创意之星”控制器也可以让
CDS5516工作在上述两种模式,这是由总线协议规定的,可以给1号CDS5516下达转 50°的命令,给
- 1 -
《机器人技术》实验指导书
2号舵机下达转 30°的命令,然后下达一个命令让所有总线上的 CDS5516同时开始执行刚才发布的命令,详细协议可以查阅《CDS5516数据手册》。
通过上述的例子应该已经了解了 CDS5516 的半双工异步串行总线的意思及其特点。那么总线式的机器人舵机和 R/C 舵机相比有什么优点呢?我们再用上述例子来说明。R/C 舵机不是总线式的,只能直接连到控制器上,并且占用一个专有端口。这就要求部长必须长10张嘴,拿着10个对讲机才能给10个方阵下命令。我们如果要控制20个R/C 舵机,则您设计的控制器必须具备20个 R/C 舵机接口。但总线式舵机不一样,只有一个 CDS5516接口,理论上就能控制 255254 个CDS5516。为什么说是理论上呢?CDS5516是需要消耗电能的,在工作的时候最高可能有2000mA的电流需求,如果在这个总线上接入255254个舵机的话,同时工作起来,总线上的电流将达到500A的可怕程度。实际上,我们也不可能搭建一个具有255254个舵机的构型。
2.CDS5516的使用
CDS5516 采用半双工串行异步总线进行控制,每个舵机都有自己单独的ID号,在机器人构型搭建时需要对ID号进行配置,以免机器人的某些关节的ID号重叠。出厂的CDS5516默认 ID 为 1,在“卓
越之星”包装盒里有 CDS5516 ID 编号的不干胶,设好ID后请将不干胶粘贴到舵机后盖上,避免遗忘。
CDS5516有专用的调试环境 Robot Servo Terminal,在这个环境下,可以设置舵机ID、波特率、
工作模式、速度限制、角度限制、电压限制等。
CDS5516采用总线式通讯,可以串联使用。使用R/C舵机时我们一直很苦恼,如果我们设计的构
型有20 个舵机,我们需要把 20 根线都接到控制器,整个机器人会被长短不一、颜色各异的线所包围
缠绕。CDS5516让我们摆脱了这种窘境,我们可以将“六足爬虫”每条腿上的 3个 CDS5516串联在一起,
再连到控制器上。我们也可以将机械手的6个关节串联成一串,最后用一根线接到控制器上,整个走
线非常简单、清晰,可靠性也高很多。
需要注意的是:每个 CDS5516需要使用不同 ID;每串 CDS5516的数量不能太多,最好是6个以
下。正常工作下单个CDS5516的电流可能达到500mA~1A,堵转电流可达到2.5A,单组6个CDS5516
的工作电流可能达到3~8A。这样的电流会让舵机线发热,并产生比较大的电压降,最后一个CDS5516 可能因为沿途舵机线的分压而导致工作电压过低,CDS5516在电压过低时会出现复位、数据通讯不正常等状况。
3.CDS5516的自我保护
CDS5516还有其他的功能,诸如角度限制、扭矩限制等。在您搭建机器人过程中,这些功能很是
重要,某些时候您需要根据构型进行重新配置。
在使用传统R/C舵机时,我们经常遇见舵机长时间卡死,导致过热烧毁的现象,这是舵机自我保
护功能不完善的一种表现。在实际使用过程中,每一个舵机的使用条件都是不一样的,有些舵机的使用环境非常良好,有些则是工作条件恶劣。比如机械手根部关节,负载远远高于机械手爪。热、过压、指令错误等就会发出报警信息,甚至直接卸载以保护舵机。如表 1-1所示,
- 2 -
《机器人技术》实验指导书
表1-1 CDS5516 保护状态说明表
名称 0 指令错误 过载 校验和错 指令超范围 过热 角度超范围 过压欠压 详细说明 - 收到一个未定义的指令或ACTION前未收到REG WRITE指令 位置模式运行时负载大于最大输出扭矩 指令校验和错误 指令超过指定范围 温度超过指定范围 角度超过设定范围 电压超过指定范围 CDS5516定义了 7种错误、危险的工作状态,您可定义 CDS5516对这7种工作状态的应对措施,
比如报警、指示灯闪亮、卸载等。
注意:上文提到的“卸载”这个概念,我们可以将其理解为“切断扭矩输出”。CDS5516卸载进入保护模式,意思是CDS5516由于出现错误工作状态,进入保护模式,切断舵机的扭矩输出,舵机处于没
有力量的状态。卸载这个概念在接下去的章节里还会重复出现。
我们可以对以上的保护措施进行参数调节,以达到适合使用条件又能保护CDS5516的目的。主要
有以下 4个方面。
(1)角度限制。CDS5516在舵机模式下,有效角度控制范围是0~300°,对应控制量为0~1023。
在某些运用场合,我们可能需要限制舵机的转角,比如舵机转过200°之后可能出现卡死,就需要将角度限制设置为0~682 控制量682对应角度200°),当我们的控制指令在0~682之间,舵机能够按照给
定的指令运动;指令如果超过682,舵机将保持到682位置,不会往更高角度运转。
(2)电压限制。我们可以设置CDS5516的工作电压范围,由于硬件设计的限制,CDS5516的工
作电压是 6.5V~10.5V,低于 6.5 V CDS5516 将不能正常工作,高于10.5V会烧毁CDS5516。设定
好电压限制之后,当CDS5516上的加载电压高于或低于此范围舵机将会置位于错误标志位,软件的“电
压超范围”指示灯会点亮。
(3)温度限制。CDS5516能够检测自身工作温度,温度过高可能会烧毁舵机。我们可以设置正
常工作温度范围,当 CDS5516检测到温度过高后,舵机将会强制卸载停止工作。
(4)转矩限制。“转矩限制”限制了CDS5516的最大工作电流,起到限制CDS5516的最大输出扭
矩的作用。在机器人手掌关节或需要长时间堵转的场合常常用到这个功能,默认为最大值1023,即为
最大扭矩输出。通过限制扭矩大小,可以让机械手爪能够抓起草莓,而又不会将草莓捏碎。
4.CDS5516的调试设置软件
CDS5516 的基础参数设置、保护参数调节、性能测试等都可以通过 Robot Servo Terminal软件(如
图1.2所示)来实现。
- 3 -