理论篇:

Jog运动是机器运动中的一种运动模式,它具备操作简单、独立性、没有目的性,常常被用于机器的测试和调试。

关于Jog运动的变速过程:

另外在Jog运动模式下,初始目标速度为 100pulse/ms。动态改变目标速度时,当规划位置超过 100000pulse 时,修改目标速度为 50 pulse/ms

关于脉冲与步进电机之间的关系:

步进电机脉冲频率与输出转速换算关系;

步进电机在整步是,1圈需要200个脉冲,即200Hz时,电机速度1rps,8000Hz时,转40rps。

半步时,1圈需要400个脉冲,即400Hz时,电机转速1rps,8000Hz时,转速20rps,

4细分时,1圈需要800个脉冲,即800Hz时,电机转速1rps,8000Hz时,转速10rps。

由上可知,电机运行速度=控制脉冲频率/(200*细分值)rp。

影响步进电机转速的条件有两个,脉冲频率和延时子程序的延时时间。脉冲频率越高,步进电机转速越快。延时子程序的延时时间越长,步进电机转速越快。

关于电机转动与实际机器轴位移关系:

丝杆转速与丝杆导程:
没有变速器的情况下丝杆转速 = 电机转子转速。
丝杆导程就是丝杆转一 圈螺母行走的直线距离,一般这个系数丝杆说明书上有,比如10mm和15mm等。

实战篇:

关于固高运动控制卡的Jog运动:

在构建固高的Jog运动基本上只需要运用以下固高gts提供的方法

操作步骤即是:

1、打开伺服驱动

2、设置轴为Jog模式

3、设置Jog参数(加速度、减速度、平滑系数)

4、设置轴速度

5、启动Jog运动

实战代码篇:

前台样式:

代码:

public partial class Form1 : Form{//控制卡卡号static short _cardNum = 0;//当前轴short _axis;//速度double _vel;//加速度double _acc;//减速度double _dec;//平滑系数double _smooth;//导程protected double _Pitch = 40;//齿轮比/细分protected double _Divide = 40000; public Form1(){InitializeComponent();//启动固高运动控制卡new GT.GTS_Start(0, Application.StartupPath + "\\GTS800_1.cfg", -1, false, Application.StartupPath + "\\ExtModule.cfg");}private void Form1_Load(object sender, EventArgs e){//添加默认值this.textBox1.Text = "1";this.textBox2.Text = "5";this.textBox3.Text = "0.5";this.textBox4.Text = "0.5";//smooth 平滑系数范围 [ 0, 1)this.comboBox1.Items.Add("0");this.comboBox1.Items.Add("0.1");this.comboBox1.Items.Add("0.2");this.comboBox1.Items.Add("0.3");this.comboBox1.Items.Add("0.4");this.comboBox1.Items.Add("0.5");this.comboBox1.Items.Add("0.6");this.comboBox1.Items.Add("0.7");this.comboBox1.Items.Add("0.8");this.comboBox1.Items.Add("0.9");this.comboBox1.Text = "0.9";//添加but事件this.button1.Click += button_Click;this.button2.Click += button_Click;this.button3.Click += button_Click;}private void button_Click(object sender, EventArgs e){string text = (sender as Button).Text;if (text == "stop"){GTS.GT_Stop(_cardNum, (1 << (_axis - 1)), (Convert.ToInt32(false) << (_axis - 1)));return;}//轴号_axis = short.Parse(this.textBox1.Text);//脉冲速度_vel = double.Parse(this.textBox2.Text);//加速度_acc = double.Parse(this.textBox3.Text);//减速度_dec = double.Parse(this.textBox4.Text);//平滑系数_smooth = double.Parse(this.comboBox1.Text);if (text == "后退"){_vel = -_vel;}Jog(_axis, _vel, _acc, _dec, _smooth);}//jog运动public void Jog(short _axis, double _vel, double _acc, double _dec, double _smooth) {//实际速度与脉冲转换//_vel = VelToPulse(_vel);//_acc = AccToPulse(_acc);//_dec = AccToPulse(_dec);//清除伺服状态GTS.GT_ClrSts(1, _axis, _axis);//打开使能GTS.GT_AxisOn(_cardNum, _axis);Thread.Sleep(50);//需要延时等待伺服使能完成//位置归零GTS.GT_ZeroPos(_cardNum, _axis, _axis);//设置为jog模式GTS.GT_PrfJog(_cardNum, _axis);//声明参数参数GTS.TJogPrm _jogPrm;//获取参数GTS.GT_GetJogPrm(_cardNum, _axis, out _jogPrm);//设置参数_jogPrm.acc = _acc;_jogPrm.dec = _dec;_jogPrm.smooth = _smooth;//设置参数GTS.GT_SetJogPrm(_cardNum, _axis, ref _jogPrm);//设置目标速度,这个速度需要进行齿轮比换算的GTS.GT_SetVel(_cardNum, _axis, _vel);//开启运动GTS.GT_Update(_cardNum, (1 << (_axis - 1)));}public long MmToPulse(double mm){//距离转脉冲try{return Convert.ToInt64((mm * _Divide) / _Pitch);}catch (Exception ex){System.Diagnostics.Trace.WriteLine(ex.Message);return 0;}}public double VelToPulse(double vel){return MmToPulse(vel) * 0.001;    //mm/s 转换为pulse/ms }public double AccToPulse(double acc){return MmToPulse(acc) * 0.000001; //mm/s2 转换为 pulse/ms2}}

ps:运行所需环境参见:https://blog.csdn.net/weixin_44490080/article/details/101468746

固高运动卡的使用 3 运动之Jog运动相关推荐

  1. 固高控制卡学习(vs2010,c++)(之二)

    现在来学习固高控制卡之二:前面讲了固高控制卡和步进电机开环控制的连线方式,这节来学习固高控制卡的点位控制模式. 一.配置控制卡: 配置控制卡可以用mct软件进行配置也可以通过程序就行配置. 1.轴配置 ...

  2. 固高控制卡Home回零的使用

    固高的home回零函数不能直接使用,需要加电平判断后才能确认寻找home时的方向.用过home回零,在固定位置安装原点传感器,并装好挡片,恰好能将一个轴分成挡片挡住传感器和没挡住传感器两种状态,即高电 ...

  3. 固高控制卡相关要点分析2

    为了配合加工宏程序编译与执行,考虑以前的通讯方式,为了快速提高译码过程,将前期通过多媒体定时中断实现与控制卡通讯的方式改为多线程控制. 将绝大部分主要的IO采集,控制,回零功能,JOG功能,插补指令启 ...

  4. 固高控制卡学习5 --数字 IO

            调用 GT_GetDi 指令可以读取限位.驱动报警.原点.通用输入.手轮接口这些数字量输入接口的输入电平状态.其中,手轮接口为 5V 电平输入,其余 IO 为 24V 电平输入.调用 ...

  5. c#上位机 源码 控制固高,研华,雷赛这类的运动板卡。偏向 程序运动控制。winform+板卡+sqlite

    c#上位机 源码 控制固高,研华,雷赛这类的运动板卡.偏向 程序运动控制.winform+板卡+sqlite

  6. 固高jog运动和点位运动

     本文转载连接: http://buaagc.lofter.com/post/1cd54dda_b61e206 BOOL CDlgMove::PreTranslateMessage(MSG* pM ...

  7. C# 固高Jog运动

    #region JOG运动/// <summary>/// JOG运动/// </summary>/// <param name="axis"> ...

  8. 固高GTS控制卡功能介绍1:SmartHome回零功能

    一.回零控制原理: 1.回零信号 回零信号可采用限位传感器.home原点传感器.编码器或光栅尺Z(C)相信号. 限位传感器(Limit±输入):普通IO方式 home传感器(Home输入):home捕 ...

  9. 运动控制卡课程:固高,凌华,雷赛,(单一款学习时间45天,要求有C语言基础)凭良学校

    一.雷赛运动控制卡(雷赛dmc5480.smc6480)(可单独学习,要求有C#语言基础) 简介: DMC5480是一款基于PCI总线的高档脉冲式运动控制卡,配置了512段缓冲,使得实时处理能力更强: ...

  10. C# GTS四轴运动控制器实例(固高科技步进电机不带编码器) -V1

    注:由于电机不带编码器,无法做home和当前位置信息读取! 功能: 三个轴的点位运动:前进+后退,并分别显示每个轴的移动脉冲数(可以换算为距离)! 开发环境:VS2017 硬件设备:固高科技三维移动平 ...

最新文章

  1. Ti公司DSP的DSK、EVM、DDK的区别
  2. java 32个Java面试必考点
  3. typedef和函数指针定义
  4. Java知识整理——线程
  5. shell脚本启动kafka集群的多台节点
  6. 160 - 4 ajj.1
  7. 笔记:Microservices for Java Developers
  8. SOCKET入门最简单的程序啊
  9. 当systeminfo不能显示系统启动时间了--用命令行修复一下
  10. 一步步构建大型网站架构(转载)
  11. 虚拟机android原生系统下载地址,Android x86开源项目最新版虚拟机镜像下载VM/Vbox...
  12. java上下载不了jdk_新手想学java,到哪里下载jdk?我在甲骨文官网下载jdk下载不了。...
  13. 网络安全学习路线是怎样的?
  14. Jmeter - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)
  15. 比特大陆裁员潮据称已波及整个BCH开发团队
  16. [20160213]关于ansi语法.txt
  17. Linux下载hfs文件,linux读写mac HFS+
  18. ARM9基础实例-GPIO
  19. 报错 SparkContext is null but app is still running!
  20. 用户直接关闭浏览器如何自动退出

热门文章

  1. sqlserver数据库替换字段的部分字符串
  2. 文件格式、后缀名、图片格式详解
  3. 基于SSM的图书馆管理系统,高质量毕业论文范例(可直接使用),项目导入视频,附送源码和数据库脚本,论文撰写教程
  4. Unity中的几个”近义词”
  5. 智能卡破解入门二三事(转载)
  6. 采用分治法求一个整数序列中的最大和最小元素
  7. ITIL4 服务管理的四个维度
  8. 项目管理第十一章项目风险管理
  9. url伪静态、url重写
  10. DevExpress中使用ChartControl绘制折线图和导出图表为Excel文件