【C++】基于固高驱动器的伺服电机项目调试

一、硬件系统配置

DriverStudio配置固高伺服电机控制器:

  1. 电机参数:选择80电机。
    在这里插入图片描述

  2. 编码器:编码器配置选择绝对式多摩川,分辨率23位;编码器设置->分辨率 改成 8388608后回车保存复位,最后点寻相。齿数比可以改成10000,齿数比设置->
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. IO改成如下。
    在这里插入图片描述

  4. 用户模式改成 模拟量速度。
    在这里插入图片描述

二、编程环境配置

有C#版本和C++版本。师兄建议用C#版本,吃现成的界面。但还是C++用处 广一些,结合Qt。下面开始项目从0到1的探索。

导入dll库

Visual Studio 中在 C++ 项目中导入dll文件,参考博客()[https://www.php1.cn/detail/VisualStudio2019_24deeab9.html], 重要的三个地方,

  1. 添加工程的头文件目录:工程—属性—配置属性—c/c+±–常规—附加包含目录:加上头文件存放目录。
  2. 添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。
  3. 添加工程引用的lib文件名:工程—属性—配置属性—链接器—输入—附加依赖项:加上lib文件名。
  4. 把生成的dll放到工程的可执行EXE文件所在的目录下(.\x64\Debug中)
  5. 在主函数中增加DLL头文件的引用及对应的调用代码
    或者在工程文件夹中添加三个库文件gts.h, gts.dll, gts.lib,并在程序开头
#include "gts.h"
#pragma comment(lib, "gts.lib")

三、串口Pcomm库的使用

  1. 下载方式https://blog.csdn.net/CGS_______/article/details/119607665
  2. 简介https://blog.csdn.net/n_fly/article/details/78622745

四、读取电机绝对编码器值

485通讯采用CRC16位Modbus协议校验。对于1234号电机,分别发送指令如下:

	0103008C000485E2
	0203008C000485D1
	0303008C00048400
	0403008C000485B7

返回13字节的数据,分为单圈编码器值和多圈编码器值。
单圈编码器值为0~8388608 共23位,可以用 long 存储;
多圈编码器值就是转的总圈数,有正负。数据处理代码如下:

	unsigned char result[13] = {0};
	// 这里从串口中读取数据存入result数组里
	// 单圈值原始数据,单位[360deg/8388608]
	long single_pulse = (((result[5] << 8) + result[6]) << 16) + ((result[3] << 8) + result[4]);
	// 多圈值原始数据,单位[r]
	short location_pulse = (((result[9] << 8) + result[10]) << 16) + ((result[7] << 8) + result[8]);
	double decimal = single_pulse / 8388608.0;
	// 总绝对位置,单位[r]
	double sum = location_pulse + decimal;	

五、线激光传感器通信

使用485通讯的BCC校验位

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件介绍: 固高电机控制调试软件若打开板卡失败,请检查板卡是否插好,有其他的程序在对板卡进行操作。固高GTS800-PG运动控制器使用说明:查看控制器的通讯状态双击“MCT2008.exe”,程序正常启动,没有弹出“打开板卡失败….”或者“通讯失败…”等提示,则说明控制器的驱动安装正确,通讯正常,您可以开始使用MCT2008或者编写代码进行控制器的控制和调试了。查看控制器的轴状态正常启动MCT2008后,单击“视图”---“轴状态”菜单项,系统弹出轴状态面板,该面板显示了当前轴的状态信息,包括运动参数、IO状态等。在“轴号”下拉框中选择不同的编号,可以查看不同的轴的状态。(轴状态面板的更详细使用过程请查看本说明书的相关部分)怎样启动电机运动?1、首先请确认控制器与端子板、端子板与驱动器之间已经牢固正确地连接。2、启动MCT2008。3、在通讯建立的情况下,调出控制器的轴状态面板,确认该轴不存在错误状态(如报警、限位等),然后伺服使能该轴。(如果连接的电机是伺服电机,此时,电机应该已经伺服使能)。4、调出Jog面板,在“轴号”下拉框中选择控制轴,设置合适的运动参数,按下“负向”或者“正向”按钮,此时电机开始运动。怎样将控制器配置成脉冲模式?控制器默认的情况下就是脉冲模式(您可以通过“复位”或者断电重启使控制器回复到默认的状态)。脉冲输出方式的调整:“工具”—“控制器配置”,启动控制器配置模块,将标签页切换到Step页,在“step索引”下拉框切换到控制轴,“关联axis”也选择同样的轴号,选择脉冲输出方式,完成设置后,点击“控制”—“写入控制器状态”将设置的信息写入到控制器中。怎样将控制器配置成模拟量模式?模拟量模式稍微复杂点,下面以将第一轴设置为模拟量模式为例(这里假设当前控制器配置是默认的配置)。启动控制器配置模块,首先切换到“dac”标签页,选择dac编号1,“关联control”选择对应的编号1,其他的设置采取默认的设置。然后切换到“control”标签页,选择control编号为1,“关联axis”选择为1,“关联encoder”选择为1,其他参数采取默认设置。最后点击“视图”—“PID”,调出PID面板,轴号选择为1轴,比例增益设置为适当的值(比如1)。第一轴就是模拟量控制模式了。还要注意的是,请确认第一轴编码器反馈的方向与控制器的设置相符,以免引起正反馈。注意:强烈建议,在初次调试模拟量控制过程中,不要连接任何负载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值