高创驱动器_高创驱动器说明 - CSDN
精华内容
参与话题
  • /// <summary> /// 控制卡轴相关操作接口 /// </summary> public interface IAxisOperate { /// <summary>... /// 控制轴限位信号有效/无效设置, 以及其有效时的电平设置 .../summar...

        /// <summary>
        /// 控制卡轴相关操作接口
        /// </summary>
        public interface IAxisOperate
        {
            /// <summary>
            /// 控制轴限位信号有效/无效设置, 以及其有效时的电平设置 
            /// </summary>
            Result LmtsOn(short axis, short limitType = -1, short cardNum = 0, short level = 0);
            Result LmtsOff(short axis, short limitType = -1, short cardNum = 0);
            /// <summary>
            /// 获取硬限位状态,0:未触发  1:触发
            /// </summary>
            Result GetLmtsSts(short axis, int number, out int status, short cardNum = 0);
            /// <summary>
            /// 设置控制轴的编码器当量变换值
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="axis">轴号</param>
            /// <param name="gear">齿轮比</param>
            Result SetScale(short axis, double gear, short cardNum = 0);
            /// <summary>
            /// 获取控制轴的电子齿轮比
            /// </summary>
            /// <param name="axis">轴号当前控制卡卡号</param>
            /// <param name="encoder">编码器每圈脉冲数</param>
            /// <param name="elec">编码器转动一圈控制卡须下发的脉冲数</param>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <returns></returns>
            Result GetGear(short axis, out int encoder, out int elec, short cardNum = 0);
            /// <summary>
            /// 修改编码器位置
            /// </summary>
            Result SetEncPos(short axis, int encPos, short cardNum = 0);
            /// <summary>
            /// 读取编码器位置
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="encoder">轴号</param>
            /// <param name="pValue">读取的编码器位置</param>
            Result GetEncPos(short axis, out double pValue, short cardNum = 0);
            /// <summary>
            /// 获取板卡编码器数值(位置比较时使用)
            /// </summary>
            Result GetBoardEncPos(short axis, out int encPos, short cardNum = 0);
            /// <summary>
            /// 设置板卡编码器数值(位置比较时使用)
            /// </summary>
            Result SetBoardEncPos(short axis, int encPos, short cardNum = 0);
            /// <summary>
            /// 设置板卡编码器计数方向(位置比较时使用)
            /// </summary>
            /// <param name="encd">编码器端口号,一般与轴号相同</param>
            /// <param name="dir">0:正向  1:反向</param>
            Result SetBoardMode(int encd, int dir, short cardNum = 0);
            /// <summary>
            /// 读取轴状态
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="axis">轴号</param>
            /// <param name="state">当前状态</param>
            Result GetSts(short axis, out int state, short cardNum = 0);
            /// <summary>
            /// 查询是否到位
            /// </summary>
            /// <param name="axis"></param>
            /// <param name="isStop"></param>
            /// <param name="cardNum"></param>
            /// <returns></returns>
            Result GetIsArrive(short axis, out bool isArrive, short cardNum = 0);
            /// <summary>
            /// 查询是否仍在运动
            /// </summary>
            /// <param name="axis"></param>
            /// <param name="isArrive"></param>
            /// <param name="cardNum"></param>
            /// <returns></returns>
            Result GetIsMove(short axis, out bool isMove, short cardNum = 0);
            /// <summary>
            /// 是否在回原点
            /// </summary>
            /// <param name="axis"></param>
            /// <param name="isMove"></param>
            /// <param name="cardNum"></param>
            /// <returns></returns>
            bool GetIsHoming(short axis, short cardNum);
            Result GetIsAlarm(short axis, out bool isAlarm, short cardNum = 0);
            /// <summary>
            /// 清除驱动器报警标志、跟随误差越限标志、限位触发标志
            /// 注意, 伺服报警清除后, 轴将处于未使能状态
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="axis">轴号</param>
            Result ClearAlarm(short axis, short cardNum = 0);
            /// <summary>
            /// 打开驱动器使能
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="axis">轴号</param>
            Result AxisOn(short axis, short cardNum = 0);
            /// <summary>
            /// 关闭驱动器使能
            /// </summary>
            /// <param name="axis">轴号</param>
            /// <param name="cardNum">卡号</param>
            Result AxisOff(short axis, short cardNum = 0);
            /// <summary>
            /// 停止轴的规划运动,停止坐标系运动
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="mask">轴号或坐标系号, [1,16][62,63]</param>
            /// <param name="option">停止模式,0-减速停止,1-急停</param>
            Result Stop(int mask, int option, short cardNum = 0);
            /// <summary>
            /// 停止轴回原点
            /// </summary>
            /// <param name="cardNum">停止模式,0-减速停止,1-急停</param>
            /// <returns></returns>
            Result StopGoHome(short axis, short cardNum = 0);
            /// <summary>
            /// 设置指定轴的规划位置
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="profile">轴号</param>
            /// <param name="prfPos">规划位置</param>
            Result SetPrfPos(short axis, int prfPos, short cardNum = 0);
            /// <summary>
            /// 读取指定轴的规划位置
            /// </summary>
            /// <param name="profile">轴号</param>
            /// <param name="pValue">位置</param>
            Result GetPrfPos(short axis, out double pValue, short cardNum = 0);
            /// <summary>
            /// 清零规划位置和实际位置,并进行零漂补偿
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="axis">轴号</param>
            /// <param name="count">备用参数</param>
            Result ZeroPos(short axis, short cardNum = 0);
            /// <summary>
            /// 清零板卡编码器数值
            /// </summary>
            Result ZeroBoardPos(short axis, short cardNum = 0);
            /// <summary>
            /// 设置轴正向软限位和负向软限位
            /// </summary>
            /// <param name="cardNum">当前控制卡卡号</param>
            /// <param name="axis">轴号</param>
            /// <param name="enable">使能标识, [0,1], 0: 不使能, 1: 使能</param>
            /// <param name="positive">软件正限位</param>
            /// <param name="negative">软件负限位</param>
            Result SetSoftLimit(short axis, int enable, int positive, int negative, short cardNum = 0);
            /// <summary>
            ///  读取轴正向软限位和负向软限位
            /// </summary>
            /// <param name="axis">轴号</param>
            /// <param name="pPositive">正向触发位置,单位mm</param>
            /// <param name="pNegative">负向触发位置,单位mm</param>
            Result GetSoftLimit(short axis, out int enable, out int pPositive, out int pNegative, out int admode, short cardNum = 0);
            /// <summary>
            /// 单轴相对运动,默认mm
            /// </summary>
            /// <param name="axis"></param>
            /// <param name="pos"></param>
            /// <param name="cardNum"></param>
            /// <returns></returns>
            Result RelMov(short axis, double pos, double acc, double dec, double vel,
                double startVel, double smooth, short cardNum = 0);
            /// <summary>
            /// 单轴绝对运动
            /// </summary>
            /// <param name="axis"></param>
            /// <param name="pos"></param>
            /// <param name="cardNum"></param>
            /// <returns></returns>
            Result AbsMov(short axis, double pos, double acc, double dec, double vel,
                double startVel, double smooth, short cardNum = 0);
            /// <summary>
            /// 单轴JOG
            /// </summary>
            /// <param name="axis">轴号</param>
            Result JogMov(short axis, bool isPos, double acc, double dec, double vel,
                double startVel, double smooth, short cardNum = 0);
            /// <summary>
            /// 获取轴的最终目标
            /// </summary>
            /// <param name="axis">轴号</param>
            Result GetTargetPos(short axis, out double pos, short cardNum = 0);
            /// <summary>
            ///  获取轴的使能状态
            /// </summary>
            Result GetIsServo(short axis, out bool IsServo, short cardNum = 0);
            /// <summary>
            /// 设置最大速度
            /// </summary>
            Result SetMaxVel(int axis, double vel, int cardNum = 0);
            /// <summary>
            /// 设置跟随主轴
            /// </summary>
            /// <param name="cardNum">卡号</param>
            /// <param name="followAxis">从轴号, [1,16]</param>
            /// <param name="masterAxis">主轴号, [0,16], 0表示取消跟随</param>
            Result SetFollowMaster(short followAxis, short masterAxis, short cardNum = 0);
            /// <summary>
            /// 回原点
            /// </summary>
            /// <param name="axis">轴号</param>
            /// <param name="mode">回零模式</param>
            /// <param name="vel">速度</param>
            /// <param name="acc">加速度</param>
            /// <param name="offset">偏移量</param>
            /// <param name="lvel">低速度找Z向</param>
            /// <param name="cardNo">卡号</param>
            /// <returns>返回是否成功</returns>
            Result GoHome(short axis, AxisHomeType mode, double vel, double acc, int offset, double lvel, short cardNum);
        }
        /// <summary>
        /// 轴回零模式
        /// </summary>
        public enum AxisHomeType
        {
            /// <summary>
            /// 负限位 + Z向
            /// 离开负限位后,第一个Index标记为零
            /// </summary>
            NegLimitIndex_1 = 1,
            /// <summary>
            /// 正限位+Z向
            /// 离开正限位后,第一个Index标记为零
            /// </summary>
            PosLimitIndex_2,
            /// <summary>
            /// 原点信号
            /// 离开原点开关后,第一个Index标记为零(正行程回零开关)
            /// </summary>
            HomeSignal_3,
            /// <summary>
            /// 原点 + Z向
            /// 接触零点开关后,第一个Index标记为零(正行程回零开关)
            /// </summary>
            HomeSignalPosIndex_4,
            /// <summary>
            /// 原点 + Z向
            /// 离开零点开关后,第一个Index标记为零(负行程回零开关)
            /// </summary>
            HomeSignalIndex_5,
            /// <summary>
            /// 原点 + Z向
            /// 接触零点开关后,第一个Index标记为零(负行程回零开关)
            /// </summary>
            HomeSignalNegIndex_6,
            /// <summary>
            /// 离开原点开关的负边沿后,第一个Index标记为零,初始正向移动
            /// </summary>
            HomeSignalNegIndex_7,
            /// <summary>
            /// 接触原点开关的负边沿后,第一个Index标记为零,初始正向移动
            /// </summary>
            HomeSignalNegIndex_8,
            /// <summary>
            /// 接触原点开关的正边沿后,第一个Index标记为零,初始正向移动
            /// </summary>
            HomeSignalPosIndex_9,
            /// <summary>
            /// 离开原点开关的正边沿后,第一个Index标记为零,初始正向移动
            /// </summary>
            HomeSignalPosIndex_10,
            /// <summary>
            /// 离开原点开关的正边沿后,第一个Index标记为零,初始负向移动
            /// </summary>
            HomeSignalNegIndex_11,
            /// <summary>
            /// 接触原点开关的正边沿后,第一个Index标记为零,初始负向移动
            /// </summary>
            HomeSignalNegIndex_12,
            /// <summary>
            /// 接触原点开关的负边沿后,第一个Index标记为零,初始负向移动
            /// </summary>
            HomeSignalNeg_13,
            /// <summary>
            /// 开海原点开关的负边沿后,第一个Index标记为零,初始负向移动
            /// </summary>
            NegLimitSignal_14,
            /// <summary>
            /// 负限位下降沿
            /// </summary>
            NegLimitSignal_17 = 17,
            /// 正限位下降沿
            /// </summary>
            PosLimitSignal_18,
            /// <summary>
            /// Z向信号
            /// 初始负方向行至Index信号点(偏移位置)
            /// </summary>
            Index, // = 33
            /// <summary>
            /// 初始正方向运行至Index信号点(偏移位置)
            /// </summary>
            高创回零,

        }

    展开全文
  • 高创伺服驱动器.pdf

    2020-08-01 16:18:02
    该手册为高创伺服用户手册里面详细介绍了高创伺服驱动器的接口定义,接口功能,参数设置,报警代码解释及处理方法。
  • servotronix高创CDHD伺服调试软件,可以在线监测和调试伺服参数,亲测可用。官网上下载可能比较慢,此版本为1.14.18.5,日期为2020.06.18
  • servotronix驱动器中文版说明书,内容齐全,翻译内容比较完整
  • 1. 摘要 速度模式(LED灯显示为0)时,电机不转,但是在位置模式(LED灯显示为8)却可以正常运转。 2. 设置 设置commode=1,fbitprd=1,fbitidx=-3,modmode=1,pnum=131072,pden=1; 不转的原因是需要设置位置环...

    1. 摘要

    速度模式(LED灯显示为0)时,电机不转,但是在位置模式(LED灯显示为8)却可以正常运转。

    2. 设置

    设置commode=1,fbitprd=1,fbitidx=-3,modmode=1,pnum=131072,pden=1;

    不转的原因是需要设置位置环Position Controller Mode:1-HD Controller;速度环Velocity Controller Mode:5-HD Velocity control with integrator;

    然后config,save。

    3. 总结

    无。

    转载于:https://www.cnblogs.com/zaishuiyifang006/p/5276465.html

    展开全文
  • 伺服驱动器-电流环设计

    千次阅读 2018-03-22 15:20:25
    一般伺服驱动器都具备位置、速度、和电流控制,框图如下图所示: 伺服驱动的电流环通常采用矢量控制方法,在很多电机控制书籍中都有很详细的介绍,本文结合具体实例,简单介绍其设计步骤。 一、电机状态方程 ...

    一般伺服驱动器都具备位置、速度、和电流控制,框图如下图所示:

    这里写图片描述

    伺服驱动的电流环通常采用矢量控制方法,在很多电机控制书籍中都有很详细的介绍,本文结合具体实例,简单介绍其设计步骤。

    一、电机状态方程

    以隐极永磁同步电机为例,其交直轴电感相等,其等效的状态方程为:
    这里写图片描述

    其中,
    这里写图片描述

    将右边第一个矩阵变换成对角矩阵:

    这里写图片描述

    定义中间控制变量:
    这里写图片描述
    则(1)式可重新写成如下的状态方程:
    这里写图片描述

    二、控制器设计

    从(4)可以看出,电压到电流的关系为典型的一阶惯性关节,采用PI控制器对其进行校正,如下图所示:
    这里写图片描述

    假设d轴和q轴采用相同的控制参数,电流环的开环传递函数为:
    这里写图片描述

    为使控制回路尽可能简单,我们采用零极点对消的方式选取电流环的积分时间常数:
    这里写图片描述

    则开环传递函数为:
    这里写图片描述

    闭环传递函数为:
    这里写图片描述
    从(8)式可以看出,电流环是一个简单的一阶惯性环节,其静态偏差为0,电流响应快慢可通过Ki调节。
    电流环的bode图如下:
    这里写图片描述

    其中,电流环的截止频率:
    这里写图片描述

    若截止频率选定,则可确定电流环的比例系数:
    这里写图片描述

    三、设计实例

    以西门子1FT6电机为例,从数据手册可以查询到定子电阻、电感和永磁磁链等相关数据:
    这里写图片描述

    已知La=4mH, Ra=7.2欧姆,根据(6)式可计算出电流环控制器的积分时间常数:
    这里写图片描述

    若选取电流环截止频率为500rad/s,则根据(10)式可计算出电流环控制器的比例系数为:
    这里写图片描述
    另外,可根据电压常量和式(3)设计出解耦控制器。

    当然,以上计算都是基于理论值,实际上电阻会随温度变化而变化,不同电流下的电感值也不一样,理论计算值需要根据实际情况进行动态调整。

    展开全文
  • 高创(servotronix) 深圳公司介绍 中文PPTpdf,高创(servotronix) 深圳公司介绍 中文PPT
  • 详细介绍了高创驱动器位置环HD环环路的PID调试步骤和过程,包括抓取曲线变量的参考等;
  • servotronix(高创)产品资料综合样本pdf,servotronix(高创)产品资料综合样本
  • 安装调试软件PANATERM 6.0,完成之后可以自动检测到连接的设备(如果软件是之前的版本,则可能无法准确识别A5B系列)  点击试运行,伺服关闭,然后会发现伺服开启按钮可用了  测试正反转没有问题 ...
    安装调试软件PANATERM 6.0,完成之后可以自动检测到连接的设备(如果软件是之前的版本,则可能无法准确识别A5B系列)
    

     

    点击试运行,伺服关闭,然后会发现伺服开启按钮可用了

     

    测试正反转没有问题

     

    进入其他-引脚定义设定

     

    把07,08,09号设置为无效(双击对应项目弹出窗口,然后鼠标点击三个无效,点击之后背景为蓝色的就是当前设置的状态)

     

    把26号口设置为无效

     

     

    更多教学视频和资料下载,欢迎关注以下信息:

    我的优酷空间:

    http://i.youku.com/acetaohai123

     

    我的在线论坛:

    http://csrobot.gz01.bdysite.com/

     

    问题交流:

    QQ:910358960

    邮箱:acetaohai123@163.com

     

    展开全文
  • CDHD调试软件

    2020-07-30 21:54:17
    调试软件CDHD直线电机DD马达日本高相电机安赫(深圳)有限公司
  • 机器人控制厂家列表

    千次阅读 2017-04-19 20:35:06
    编号 名称 地址 网站 代表产品 1 KEBA(科控) 奥地利 www.keba.com/cn CP265/X 2 B&R(贝加莱) 奥地利 www.br-automation.com Automation PC 2100 3 固高 深圳 www.googoltech.com.cn ... 深
  • Ethercat - 初始化过程中主站对从站到底做了什么“”不可描述”的事情  最近有人在群里问一些关于从站配置的问题,趁此机会简单总结下在从站启动过程中主站到底对从站做了哪些事情。要了解这些内容最近单最直接的...
  • 该手册为中文版高创伺服驱动器的使用手册,主要包含can/ethercat总线的说明和使用例程,已经所有的对象字典定义,报错处理等。
  • 本文档主要介绍了高创驱动器单端脉冲集电极开路控制如何进行接线,调试软件配值的过程;
  • 高创直线电机驱动器常用变量和指令以及故障代码,方便大家学习使用,中文版,内容详细,操作简单,适合初学者,欢迎大家下载使用。
  • 高版本新伺服软件用于调试高创最新版本的伺服驱动器,方便客户现场调试伺服,增加了更新的功能修复了已知的错误。是操作更加便捷
  • 嵌入式行业公司及所属产业

    千次阅读 2019-03-28 19:22:56
    手机供应链 1、手机主控芯片厂家: 高通,MTK,展讯,华为海思,苹果,三星,Intel,Marvell等等 2、OEM/ODM方案公司: A:阿龙 B:波导(MTK),比亚迪,邦华,邦旭,贝龙,博瑞世纪,倍易通(MTK),宝捷讯(MTK) ...
  • 消费类电子行业公司

    千次阅读 2019-05-08 14:39:43
    手机供应链 1、手机主控芯片厂家: 高通,MTK,展讯,华为海思,苹果,三星,Intel,Marvell等等 2、OEM/ODM方案公司: A:阿龙 B:波导(MTK),比亚迪,邦华,邦旭,贝龙,博瑞世纪,倍易通(MTK),宝捷讯(MTK) ...
  • 基于FPGA的Ethercat主栈协议 (最大可带32轴同步运行,同步抖动±75ns,控制精度125us) 各位老板: 我司有多年的FPGA研发经验; 基于FPGA的Ethercat定制栈更是达到行业领先水平 ...感谢抽空阅读,欢迎合作 ...
1 2
收藏数 33
精华内容 13
关键字:

高创驱动器