当前位置:文档之家› 舵机驱动板

舵机驱动板

Arduino Mini USB 版舵机控制器使用说明(USC)update:2011.10.20一、简介采用32位高速CPU,处理速度更快,控制更精确,运行更稳定。

自动识别波特率(9600,19200,38400,57600,115200,128000自动识别)。

备注:USB可以给芯片供电,USB口与芯片电源有隔离,可以防止电流逆向流入USB。

由于舵机需要很多的电流,所以不建议舵机与芯片直接共用电源,此时如果舵机数量很多,舵机动作的时候芯片可能被复位!可以间接共用电源,方式如下:假如电源是12V的电压,可以把这个电源分开成两组(2线分成4线),其中两根线通过稳压装置,稳压到舵机需要的电压之后再给舵机供电;另外两根线则直接连接上图右边的芯片电源输入端(因为板载芯片的稳压装置)。

舵机控制器需要两个电源,芯片电源和舵机的电源,芯片电源可以通过USB由电脑供电,舵机电源不能使用USB供电,因为舵机是大功率器件,如果使用USB供电会烧坏你的电脑以及舵机控制器。

芯片电源如果不采用USB供电,则可以通过下图中的VSS供电,此时输入电压必须在6.5V~12V之间,请谨慎操作!舵机电源,是通过上图中的VS输入的,此时输入多少伏的电压舵机就由多少伏的电压供电,也就是输入直接给舵机供电!电压输入范围根据你的舵机实际需求而定,如我们的TR213金属舵机是4.8V-7.2V,如果超过这个范围将会烧坏舵机。

为了避免不必要的损失,请严格按照说明书操作!二、指令1、舵机移动指令格式:#P …#P T\r\n=舵机号,范围1-32(十进制数)=脉冲宽度(舵机位置),范围500–2500。

单位us(微秒)=移动到指定位置使用的时间,对所有舵机有效。

\r\n = 十六进制数0x0d,0x0a(回车符),指令结束符。

例如:#8P600T1000\r\n移动8号舵机到脉宽600us,使用时间为1000毫秒#11P2000#30P2500T1500\r\n移动11号舵机到脉宽2000us,移动30号舵机到脉宽2500us,使用的时间为1500毫秒,舵机移动的速度依赖于前一时刻舵机的位置决定,11号舵机和30号舵机同时到达指定位置。

2、执行动作组指令格式:#G…#G C< Cycle>\r\n=动作组编号,范围1-n(十进制数,n为实际最大编号)< Cycle >=循环次数,范围1–999(十进制数)。

例如:#1GC99\r\n执行第一个动作组,循环执行99次。

#1G#2G#4G#2GC1\r\n顺序执行第一个、第二个、第四个、第二个动作组,循环执行1次(动作组可以重复,比如这里的#2G有两个)。

执行完会返回AGF,以此作为执行完的标志。

3、脱机运行命令格式:#ENABLE#…#C< Cycle >\r\n例如:#ENABLE#1GC5\r\n舵机控制器上电将执行第一个动作组循环执行5次。

#DISABLE\r\n禁用脱机运行。

4、读取2路模拟电压值例如:#AD[1]\r\n读取AD1端口的电压#AD[2]\r\n读取AD2端口的电压返回10进制数的字符串形式(精度12bit0V–3.3V)返回数据范围是0000-4095 三、舵机控制软件使用说明32路舵机控制软件a、端口设置打开连到舵机控制器相应的串口号,以及设置好波特率。

此过程会校验用户是否是使用我们公司的控制器!b、面板(每个面板对应一路舵机)拖动面板里的滑竿,如果舵机控制器和电脑连接正确的话控制器上的LED灯就会闪烁(USB 连接的时候不会闪烁),舵机也将跟随滑竿动作。

c、面板设置单击左上角的“面板设置” ->面板编辑模式。

在此模式下,可以拖动32个面板的位置,点击按钮可以隐藏&显示对应面板。

单击“X”后将会自动保存面板的位置和显示隐藏信息。

d、编辑和测试动作首先拖动每个舵机对应的滑条来调整舵机的状态,调节好之后,点击软件右下方的“添加”,此时软件下方会形成一条命令,可以形象的称这条命令为当前所有舵机的一个状态,一条命令对应一个状态,那么一系列的命令就是一系列的状态,一系列的状态就是机器人的一个动作了,类似在制作动画。

可以继续按照以上步骤添加其他一系列命令。

一系列命令调试添加好之后,可以点击软件右侧的“运行”来观察舵机或者机器人的动作是否正确。

运行期间,代码显示窗的代码将一条条往下执行,执行完一遍后停止。

点击“循环运行”,代码显示窗的命令将循环执行,直到点击结束,才停止运行。

e、脱机工作控制器是以动作组的方式来管理动作数据,单击控制软件上的下载按钮,代码显示窗口的代码将下载到舵机控制器中,每下载一次舵机控制器中的动作组将加1。

当动作组下载完后可以通过“读取动作组”来查看控制器中有几个动作组,通过下拉列表选择用户想要执行的那个动作组,默认执行次数为1,用户可以修改这个执行次数,然后点击“执行”,这样舵机控制器就会马上执行用户设定的动作组。

当点击“启用”时,舵机控制器每次上电之后将会自动执行设定的动作组(这就是通常所说的脱机运行)。

当点击“禁用”时,脱机运行失效。

“读取动作组数”,此命令是读取保存在Flash中的动作组的数量。

f、机器人类型软件默认设有“TOROBOT”、“六足机器人”、“19 DOF 人形”、“17 DOF 人形”、“两足机器人”、“四足机器人”、“机械臂”七种类型,可方便的切换。

选中某种类型之后,点击“面板设置”可进行对应类型的面板设置,点击“X”退出编辑模式并保存。

g、面板复位复位命令是恢复默认面板设置,显示32个面板,均匀分布。

h、All=XXXAll=XXX命令是将所有面板中的滑竿拖到XXX。

i、擦除Flash请慎用此命令!,此命令用来擦除保存在Flash中的所有数据,包括所有动作组。

执行此命令之后,需要等待十几秒钟的时间(建议此过程不要对软件和控制器进行相关操作),当软件提示“擦除完成”时,表示擦除成功。

如果中途舵机控制器掉电,那么擦除会被中断,此时擦除是未完成的,但是整个Flash会有部分是被擦除的,所有如果出现这种意外,建议您再执行此命令,直到提示“擦除完成”。

j、动作组高级设置“高级”设置是对动作组的执行和动作组脱机运行的一种更高级的设置方式,需要人工手动输入要执行的命令来实现。

点击脱机工作里面的“高级”进入高级设置界面在输入命令之前建议先点击“读取动作组”来获取舵机控制器当前最大的动作组编号,因为用户输入的动作组编号不能大于实际最大值时,如果出现错误,软件会有相关提示。

命令格式如下:#1G#2G#1GC8文本框只能输入数字、大写字母“G”和“C”、以及字符“#”,不能输入其它,字符最后不要添加回车和换行,原因是程序会自动添加,动作组可以重复。

此命令是连续执行第一个、第二个、第一个动作组,循环执行8次。

命令输入完毕之后,用户可以点击“执行”,来观察效果。

(执行是立刻执行输入框中的命令)用户也可以点击“启用”,来脱机运行该命令。

(启用是上电自动执行)。

“禁用”是禁用脱机运行的命令,也就是删除上次被脱机运行的命令。

备注:如果用户输入脱机运行的命令需要执行很长的时间,如#1G#2GC999,理论上这个命令没有任何错误,但是它需要执行999次,时间很长很长,用户可以把S1脚接地,然后给舵机控制器重新上电,这样上次输入的脱机运行的命令就会被禁用。

k、使用遥控器遥控器是控制舵机控制板中的动作组的,在使用遥控器之前,必须确认遥控器中的四个按钮是否已经设置好各自对应的动作组,也就是说要实现设定每一个按钮需要执行的动作组,并且要开启遥控器的功能。

l、导入导出导出是将命令编辑区内的命令导出到计算机上,“导出完整值”就是将舵机的脉宽以完整值得形式导出,“导出相对值”就是将舵机的脉宽相对于初始位置的值的形式导出,导入的功能是相反的。

m、自动检测升级舵机控制器的控制软件会在每次打开程序之后的5s自动检测升级,从而保证用户现在使用的是最新的软件,我们会不定期的修复一些bug,同时增加一些更人性化的功能。

m、软件卸载舵机控制器的控制软件会在计算机上注册表的相关目录下创建相关键值来保持软件的一些数据,如果用户不再使用此软件,可以在软件右上方点击“设置”,然后点击“卸载”,此操作会删除保存在用户计算机注册表中的所有数据,如面板排列、COM口相关设置、语言等,请谨慎操作。

四、驱动安装驱动下载:/down/USC_driver.exe直接双击USC_driver.exe,点击下一步即可自动安装驱动。

驱动安装过程中如果出现下面的提示,请选择“始终安装此驱动程序软件”。

驱动安装过程中如果出现下面的提示,请选择“仍然继续”。

FAQ为什么我使用你们的上位机软件可以控制舵机,但是自己编写上位机软件和使用单片机控制的时候发送#1P1500T100\r\n,舵机却没有任何反应?导致这种现象的原因是你没有仔细阅读和理解说明书的内容。

首先所有的控制命令都是通过串口以字符串的形式发生出去的,每一条命令都有\r\n作为命令结束符,\r\n是两个字符,\r是回车符,\n是换行符,回车的十六进制数是0x0d,换行的十六进制是0x0a,有些编译器会把\r\n以回车符和换行符编译进去,这样自然就不会出现问题,但是有些编译器则不能,这要看相关函数的具体内容。

出现这样的情况,你要仔细检查一下你的发送函数是将\r\n当成"\r\n"字符串了,还是当成回车符和换行符了,在使用单片机发送命令的时候,出现以上问题99%是发送函数是将\r\n当成"\r\n"字符串了,这说明你现在使用的发送函数不能将\r\n自动转换成回车和换行,这个时候你可以自己修改函数,最简单的方法是你把#1P1500T100\r\n拆成#1P1500T100和\r\n,#1P1500T100以正常的字符串发送出去,而\r\n则使用十六进制数发送出去(发送0x0d和0x0a)。

如果你使用其他软件或者其他程序或者单片机发送#1P1500T100\r\n命令给舵机控制板,舵机没任何反应,这个时候你可以使用串口调试助手或者串口监控软件,监控你发出来的数据的十六进制数,如果是0x20 0x23 0x31 0x50 0x31 0x35 0x30 0x30 0x54 0x31 0x30 0x300x0D 0x0A,那么就可以了,出现问题的原因是最后的0x0D 0x0A,最后一定要是0x0D 0x0A才行。

Chr(13)表示回车,Chr(10)换行。

所以自己编写上位机软件的时候要在后面同时加上这两个字符来表示回车和换行,例如'#1P1500T100'+Chr(13)+Chr(10)。

名词解释:什么是动作组舵机控制板的动作组,是我们自己独立自主最先研发出来的,功能就是用PC端的软件将已经调好的一连串姿态打包成一个动作组,然后下载到舵机控制板中,下载成功之后,会形成一个编号,比如编号1,如果你想执行这个动作组,只要发送#1GC1\r\n即可(C1表示循环1次)。

相关主题