1、 安装方式:可以直接装配在大学版机器人MT-U上。2) 小型模块化手臂与PC机通讯专用接口模块: 采用RS232通讯方式; 光电隔离; 独立电源供电。3) 小型模块化手臂配套专用PC机控制软件 可以通过PC机直接控制各个关节; 开放PC机控制的函数接口及控制协议; 可以通过编程实现运动规划设计。4) 伺服电机技术指标 Type:MTSERVO20Dimension:66x30x64mm ;Stall torque:20kg/cm;Operating speed:0.20sec/60degree(4.8v);Operating voltage:4.8-7.2V;Temperature range
2、:0_ 55;Dead band width:10us.MTSERVO1040x20x42mm10kg/cm0.20sec/60degree4.8-7.2V0_ 5510usMTSERVO65kg/cm二、装配方式 (1) 总体装配效果图 (2)主要部件拆解图三、系统控制原理及接线图 (3) 系统控制原理1) 伺服舵机连接插头引脚定义:2) 伺服舵机控制器端口定义: 8路输出端口定义(Servo1Servo8):输出端口与伺服舵机连接插头对应方式,如下图:3) 控制端口及通讯端口:4) PC专用串行通讯模块:(4) PC机串行通讯电缆接口 (5) 串行通讯模块电源输入接口5) 其它配件:(6)
3、 聚合物动力锂电池充电器/外接电源(7) PC机串行通讯电缆五、伺服舵机控制器通讯协议1) 接收数据: 每一帧控制指令:4个字节;第一个字节:0xAF- 数据帧起始字节;第二个字节:0x000x08- 舵机序号(Servo1Servo8);第三个字节:0x000xB4- 旋转角度设定(-90 +90);第四个字节:0xFA-数据帧结束字节。2) 返回数据:当正确接收一帧数据之后,伺服舵机控制器会返回一个字节数据做为接收确认信息。返回数据为:大写字母R的ASCII码。六、详细使用方法当机器运行时,请远离机器,以免被机器撞伤。1) 接线操作步骤: 将PC机串行通讯电缆一端接在pc机的串口上,另一端
4、接在手臂的USB口上。 分别将两个电源的一端接在100V 240V插座上,另一端接在手臂相应接口,如图所示:(8) 控制器电源输入接口 (9) 串行通讯模块电源输入接口 拨动手臂底座上的开关,手臂上电,注意上电后手臂会自动找到机械零点位置。2) Demo软件操作方法: 打开ArmControl文件夹,双击Tools文件夹内的Reg.bat文件。 双击Bin文件夹内的ArmControl.exe。控制界面如下图所示:(10) 软件运行界面 选择port,注意port号可通过查看PC机设备管理器得到,如图所示:选择要控制的通道,程序中共有六个通道,Pan为通道1,Tilt为通道2,依次类推,单击“
5、Open Comm”。(1) 相对零点标定:各关节实际运行时的角度范围都在0180度之间,但由于机械安装上的限制,有的关节可能达不到0或180度时就会卡住,因此在首次运行时需要对各关节设置最大角度和最小角度及相对零度点,并通过按钮“Save”将其保存到c:ServoControl.ini内,下面详细介绍标定方法: 选中“SetZero?”,如图所示: 以第一个通道为例,如图所示: 设定最小值:鼠标左键向左拖动Pan对应的Slider滚动条,angle/(deg)内可看到此时的角度值,假如拖动到45度,单击“SetZero”按钮,第一通道对应的关节将运行到45度,如果舵机没有卡住,继续向左拖动滚
6、动条,直到关节运行到最小的角度后,单击“MinAngle”,设定最小值完成。 设定最大值:鼠标左键向右拖动滚动条,直到关节运行到最大的角度后,单击“MaxAngle”, 设定零点:鼠标左键向左拖动滚动条,直到关节1运行到所需的位置,单击“Save”按钮,关节1标定完成,依次类推同样方法标定其他关节。 单击“Reset”按钮,手臂运行到设置的零位(该零点与手臂上电时的零点不同,即为相对零点),如图所示: 注:如果有偏差,请重新设置零点。(2) 单自由度模块运动控制:滑动滚动条设置各自由度角度值,单击“Drive”按钮可驱动各自由度模块运动,并可在speed内分别设定每个自由度的速度值,如图所示:
7、注:每个自由度模块运行角度的定义,均相对于前面标定的相对零点。(3) 复位操作:单击“Reset”按钮,手臂复位至相对零点状态。(4) 演示图1单击“OpenFile”按钮,会弹出如图2对话框,(1) 选择已有文件,单击“Browse”,到Bin里找Angle.mdb文件,图2图3单击“Teach”按钮,手臂会按上面的序列值往复运动,按“Stop”按钮停止运动。假如鼠标左键单击图3中sn为2号序列,相应的angle值也都变成相应的值,如图4:图4单击“Drive”按钮,手臂会运行到相应的角度。改变图4中的角度值,可单击“Insert”按钮将该组值插入到序列中,单击“Modify”可修改已有的序
8、列,单击“Delete”删除已有序列。(2)新建文件单击“OpenFile”按钮,单击“Browse”,将图2中*.mdb中的*改成文件名。其他与(1)相同。接口函数说明:ServoControl.h函数说明:(1) bool _stdcall Init(int nPort, DWORD dwBaud);参数说明:nPort:串口号dwBaud:波特率9600函数说明:打开串口(2) void _stdcall SetPostionCallback(SERVO_POSITION_CALLBACK* cbPosition, void* pParam);设定事件处理过程(接收到数据)SERVO_P
9、OSITION_CALLBACK:传入一个函数指针,该函数接收到事件后,交由该指针指向的函数处理 函数原形为:typedef void SERVO_POSITION_CALLBACK(void* pParam, int type,float* value,int num);value为返回接收到的确认值R;num为value下标值pParam:SERVO_POSITION_CALLBACK指向的函数所需的参数,一般为一个类或结构的指针(3) void drive(int JointID,int Angle); 函数说明:控制各关节相对零点运动,运动范围在(MinAngle-ZeroAngle,
10、MaxAngle-ZeroAngle)之间。JointID:通道号Angle:相对角度(4) void SetZero(int JointID,int Angle);控制各关节绝对运动,运动范围在(MinAngle,MaxAngle)之间。绝对角度(5) void Initialize(int JointID,int Angle);初始化各关节的零点值。零点角度调用接口函数库方法:解决方案-右键单击ArmControl-属性输出目录:./bin,因为bin文件夹有该可执行文件所需要用的MTServoControl.dllCC+常规-附加包含目录./include,该文件夹内有需要用到的头文件S
11、ervoControl.h;链接器常规-附加库目录./lib,该文件夹内有需要用到的静态链接库。链接器输入-附加依赖项内输入MTServoControl.lib简单介绍程序的编写:首先按上面的方法修改属性,添加头文件#include ServoControl.h,添加成员变量CServoControl m_ServoControl;首先要获得保存好的各关节的最大值最小值及零点位置,m_bOpen = m_ServoControl.Init(m_Port,9600);/打开串口,如果打开成功返回值为true,反之为false for (int i=0;im_Max) m_Angle = m_Max; if (m_Anglem_Min) m_Angle = m_Min;设定零点:m_ServoControl.SetZero(num,m_Angle);注意:向下位机发送运动控制指令时,假如关节1处于0度要运行到45度,实验证明45毫秒发送一度手臂运行平滑
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1