CANopen--基于DS402协议的伺服电机原点回零模式实现
硬件:Copley 驱动器ACJ-055-18+Maxon DCX-35L电机
1、原点回零方式简介:
有几种原点回零方法,每种方法建立:原点参考(限位或原点开关转换或编码器索引脉冲)运动方向以及索引脉冲与限位器原点开关之间的关系。

图 1 回零过程图
原点回零模式用于寻找机械原点, 并定位机械原点与机械零点的位置关系。原点回零成后, 电机停止位置为机械原点(HomePosition), 通过设置 607Ch, 可以设定机械原点与机械零点(ZeroPosition)的关系:
机械原点 = 机械零点 + 0x607C( home_offset )

图 2 机械原点和机械零点的关系
有几个关键的CAN参数需要配置,分别是:
表格 1 相关参数
|
参数 |
字典索引 |
电机单位 |
|
Home Offest |
0x607C |
counts |
|
Homing Method |
0x6098 |
|
|
Homing Velocity(fast) |
0x6099-01 |
0.1counts/sec) |
|
Homing Velocity(slow) |
0x6099-02 |
0.1counts/sec) |
|
Homing Acceleration |
0x609A |
10counts/sec2 |
回零速度包括 2 个速度, 一是搜索减速点信号速度 6099-1h( 用户速度单位 ), 此速度可以设置为较高数值,防止回零时间过长, 发生回零超时故障; 二是搜索原点信号速度 6099-2h( 用户速度单位 ), 此速度可以应设置为较低速度, 防止伺服高速停车时产生过冲, 导致停止位置与设定机械原点有较大偏差。
回零加速度 609Ah 在加速段与减速段均使用, 回零模式下快速停机使能时, 减速度由 6085h 决定
2、回零配置过程

图 2 利用CANopen配置原点回零过程
原点回零模式下,上位机首先应选择原点回零方式(6098h),并设置回零速度(6099-1h 6099-2h)、回零加速度(609Ah)。给出原点回零触发信号后, 伺服将按照设定自动机械原点, 并完成机械原点与机械零点的相对位置关系设置。 伺服驱动器内部完成位置、速度与转矩控制。
举例,本次选择往负方向的限位开关机电机Z相脉冲作为矫正触发条件,如下图,其中0x6098选择为1。

图 3 所选择的原点回零方式0x6098=1
² 注意:Copley这款驱动器不能支持用户单位和电机单位之间的自动转换,只能是自己推算一下右实际用户需要的单位和电机单位之间的转换参数。
CANopen--基于DS402协议的伺服电机原点回零模式实现的更多相关文章
- 集成基于OAuth协议的单点登陆
在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...
- 集成基于CAS协议的单点登陆
相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...
- 基于Z-WAVE 协议的LED智能照明系统的研究笔记
LED调光基础: ☆:LED照明调光控制信号的方式有两种: 1. 通过PWM信号控制LED灯具开关电源的占空比从而实现调光: 2. 通过调光控制信号和交流电源供电线合用的两线式或三线式(例如LED相控 ...
- 基于UDP协议模拟的一个TCP协议传输系统
TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术.详细介绍如下: 1. TCP协议将需要发送的数据分割成数据块.数据块大小是通过MSS(maximum segment siz ...
- 性能测试总结工作总结-基于WebService协议脚本 内置函数手动编写
LoadRunner基于WebService协议脚本 WebService协议脚本有三种生成方式,一种是直接通过LoadRunner导入URL自动解析生成:一种是使用LoadRunner内置函数手动编 ...
- 网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程
Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求.如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服 ...
- 基于XMPP协议的Android即时通信系
以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务 ...
- 基于XMPP协议(openfire服务器)的消息推送实现
转自:http://blog.csdn.net/nomousewch/article/details/8088277 最近好像有不少朋友关注Android客户端消息推送的实现,我在之前的项目中用到过J ...
- 实战录 | 基于openflow协议的抓包分析
<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...
随机推荐
- python学习:调用其他函数
vim wc.py #!/usr/bin/python def wordCount(s): chars = len(s) words = len(s.split()) ...
- file_put_contents写入文字换行
file_put_contents写入文字换行 注意要使用双引号 "\r\n"
- egametang启动配置
egametang的启动配置文件可以在Unity的Tools->命令行配置中修改保存然后启动 如果需要添加自定义的启动配置项目,只需要修改客户端的 ServerCommandLineEditor ...
- TensorFlow实战之实现AlexNet经典卷积神经网络
本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.AlexNet模型及其基本原理阐述 1.关于AlexNet ...
- Shiro的原理及Web搭建
shiro(java安全框架) 以下都是综合之前的人加上自己的一些小总结 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的A ...
- Java经典编程题50道之三十八
编写一个函数:输入n为偶数时,调用函数求1/2+1/4+...+1/n:当输入n为奇数时,调用函数1/1+1/3+...+1/n. public class Example38 { public ...
- ubuntu17.10 python3.6 install plugins for AI
install order: tensorflow-gpu scikit-learn numpy scipy matplotlib tkinter tensorflow-gpu : pip insta ...
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
本节开始学习 Service.我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通 ...
- PHP 对象数组和一般的数组的相互转化
Yii2中的对象转数组: $video = Video::find()->asArray()->one(); 把数组转化成任何你想要的对象类型的数组: function array2obj ...
- PHP动态编译出现Cannot find autoconf的解决方法
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz tar -zvxf m4-.tar.gz cd m4-/ ./configure && m ...