声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com)


环境:

Window 7

VS C++ 2013

串口控制舵机的硬件环境

DynamixelSDK 官方链接:

https://github.com/ROBOTIS-GIT/DynamixelSDK

DynamixelSDK 技术文档链接:

https://github.com/ROBOTIS-GIT/DynamixelSDK/wikihttps://github.com/ROBOTIS-GIT/DynamixelSDK/wiki

过程

由于现在的DynamixelSDK 的版本为2016版,如下图所示:

所以官方Windows版本例程使用的是VS2015开发环境,而我这里使用的是VS2013版本的(或者其他版本),在程序编译完成后,运行的时候会弹出一个msvcp140.dll丢失的对话框这个问题可以安装一个相关软件解决,下载链接:

https://www.microsoft.com/en-us/download/details.aspx?id=48145

根据自己开发的要求,下载安装相关的软件即可,我这里做的是32位的程序,所以下载x86版本的

安装完成之后,一般就不会出现msvcp140.dll丢失的情况了。(可能还会出现其他问题,视情况解决吧)


OK,回归正题,

1、首先,下载DynamixelSDK,链接如下:

https://github.com/ROBOTIS-GIT/DynamixelSDK/releases

我这里下载的是以下版本:(请大家根据自己的需求选择下载)

2、解压缩文件

3、对于DynamixelSDK的文件结构,我这里就不详细讲了,有机会另外做一个主题讲解。

由于这里只针对C++的例子进行操作,所以直接进入C++目录里的example

这里要说明的一点就是,Dynamixel的协议族有两个版本,protocol1.0为最为常用版本,也是常用舵机AX和MX系列舵机的协议形式,而protocol2.0是新款舵机和教育套件的协议形式。

由于这里我们要操作的舵机为AX-12A,所以,选择protocol1.0。

在protocol1.0的目录里边,有好几个例子,我们选择最为常用的读和写的例子:

请根据自己的需求选择相关版本,我这里选择的是win32版本的

打开之后,样式如下:

然后右键点击项目,弹出对话框,选择“Properties”

设置如下:

  • Configuration: Debug
  • Platform: Win32
  • Output Directory: $(SolutionDir)$(Configuration)\
  • Intermediate Directory: $(Configuration)\
  • Target Extension: .exe
  • Configuration Type: Application (.exe)

添加Debugging的环境:

[win32] PATH=%PATH%;..\..\..\..\..\build\win32\output;

[win64] PATH=%PATH%;..\..\..\..\..\build\win64\output;

添加VC++ Directories的库路径

[win32] ..\..\..\..\..\build\win32\output;

[win64] ..\..\..\..\..\build\win64\output;

添加C/C++ Directories的头文件路径:

..\..\..\..\..\include

在Link-Input中添加静态链接库:

[win32] dxl_x86_cpp.lib;

[win64] dxl_x64_cpp.lib;

相关设置完毕,点击确定保存设置。然后再设置编译和运行环境:

打开电脑的设备管理器,查看串口模块的串口号:

我这里的串口号为COM2,然后打开源程序代码,修改过相关的串口信息,把波特率改成舵机的波特率(我使用的是舵机默认波特率1000000,根源程序代码里的一样),把串口号改为COM2

由于我们测试的是AX-12A舵机,这款舵机的转动范围为0到300度,而默认的程序里设置的范围是100到4000,已经超出了AX-12A舵机的范围,所以我们把这个范围设置小些,以适合AX-12A的转动,设置如下:

设置完成后,点击编译运行按钮,出现如下错误提示:

由于example使用VS2015编写,而这里我使用大会VS2013,所以要把平台工具集改为v120:

点击确定保持设置,然后再编译运行程序,弹出对话框,显示信息如下:

从显示的信息得知,

打开串口成功!

成功修改波特率!

跟Dynamixel舵机链接成功

随意敲击一个键继续!(或者点击ESC键退出

我们随意敲击一个键,看看舵机的运动情况。

从上面信息可以看到,舵机首先是运行到100的位置,然后再随意点击一个按键,舵机又会运行到500的位置

如此反复从100到500位置,又从500到100的位置。运行效果如下图:

cppexample

至此,DynamixelSDK的C++用例编译运行流程结束!

OpenCM9.04控制XM430-W350舵机

视频地址: https://haokan.baidu.com/v?vid=8171648541988572636

阅读全文

利用OpenCM9.04控制板获取舵机反馈

声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com)   OpenCM9.04控制板分为 A、B、C三个版本,这三个版...

阅读全文

Dynamixel Protocol 2.0 的协议使用样例介绍

声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com)   对于Robotis舵机来说,由于舵机版本的不同,使用的...

阅读全文

欢迎留言

你必须启用JavaScript才能看到这里的验证码!