• 脉冲的三种形式


    脉冲信号可以分为AB相脉冲,脉冲+方向,CW/CCW脉冲。

    这三种信号格式,在十几年前或者还有明显的相对优缺点和适用场合,现在就已经无所谓了,即使在使用上还是有所区分,也基本上是由于历史习惯。

    1、A/B信号:

      位置传感器最喜欢的格式。因为,早期的编码器直接就是用两个传感器输出两路信号的。靠传感器安装的相对位置确保两个信号的相对相位关系。在传感器后面直接加上两个电压比较器,就直接得到了A/B的方波信号输出。如果要让编码器输出两位两种信号,都还需要特定的信号转换。

    现在,高分辨率的编码器/光栅尺/磁栅尺……,虽然内部传感器上产生的还是相位差1/4周期的两路信号,但在输出时都要经过细分处理,而细分以后输出什么形式的脉冲信号,其实在技术上没有什么区别。还采用A/B信号的形式,基本上是由于传统。因为这样可以匹配各种现成的接收器。

    对于A/B信号的所谓“四倍频”,是对信号的解读方式,所以不存在“输出本身就被4倍频”这种概念。所谓四倍频,是指接受信号的计数器,不是每个脉冲周期计数一次,而是A/B的每个上升沿/下降沿都各计数一次,一个完整的信号周期会计数四次。

    对于编码器类的产品本身标称的分辨率是只一个完整信号周期对应的长度/角度,还是1/4信号周期对应的长度/角度,在习惯上各有不同。一般来说,旋转编码器说XXX线/转的时候,是指完整的信号周期。直线的光栅磁栅在说分辨率的时候,是指1/4周期。但是也不敢保证所有产品都是这样标称,具体产品,还是问清楚厂家或商家比较有谱。不过,国内有些商家,由于行业竞争激烈,养不起技术服务人员,甚至有些厂家也养不起做服务的技术人员。客户能接触到的人,也不一定真的清楚细节吧。

    比如下面这个周期

    A 1 0 0 1

    B 1 1 0 0

    假设静止在 A0B1这个位置,A被干扰多了1个高电平脉冲,变成A1B1了,当干扰过去之后,就会恢复A0B1。而其它2种,多一个脉冲就真的多一个脉冲了。并且在高速运动中,因为必然是向一个方向走,比如上面这个例子,所有数字量逻辑都必须符合从左到右这个规律。任何反方向的移动都可以认为是干扰排除。还是在A0B1这个位置,下一个位置必须是A0B0,如果是A1B1,就认为A被干扰了。

    脉冲+方向,CW/CCW脉冲这2种,相对而言我认为CW/CCW相对好一点,因为脉冲+方向必须是方向正确后的脉冲才有正确的方向。如果切方向切在脉冲输入后,那么切方向前的脉冲就反了。

    2、脉冲/方向信号

      控制器最喜欢的信号格式,因为只要一个高速脉冲输出口就可以实现一个电机的控制。现在,对于各种控制核心(MCU、FPGA、DSP等等)来说,高速脉冲输出口已经不算是什么宝贵资源了。而且不同形式的脉冲格式转换也很简单,但是这个传统依然还在。而且一些完整的控制产品,比如PLC上,高速脉冲输出口也还是一种有限的资源。

    3、CW/CCW脉冲

      驱动器最喜欢的格式,因为这种格式解读起来最简单。A/B格式,要识别每个上升沿和下降沿,CW和CCW只要识别各自的一个边沿就可以了。脉冲/方向信号虽然也很简单,但是存在一个匹配的问题,当匹配不好的时候,在特定情况下会出现解读错误,造成可累计的误差。

    综上所述,

    A/B脉冲:有一点绝对值的味道,可以纠错。

    CW/CCW脉冲:对电磁干扰无法免疫,但是2个输出独立。

    脉冲+方向:对电磁干扰无法免疫,2个输出相互影响必须同时作用。

    摘自:工控网评论,http://bbs.gongkong.com/D/201709/730508_1.shtml

  • 相关阅读:
    ALV实时刷新功能的实现
    sap中批量导入Excel表格中的数据
    从se11新建的表维护中,给维护的数据做限制处理,例如,只允许输入vp开头的数据
    abap之ranges使用
    Abap中LOOP循环时使用AT FIRST. 传数过程中出现一串 ******** ------解决办法
    Django项目-创建第一个页面
    Python3创建django项目
    Python3安装Pyyaml
    Appium命令行环境搭建及参数使用
    c# ABP 中开启新的事务
  • 原文地址:https://www.cnblogs.com/jndx-ShawnXie/p/10018644.html
Copyright © 2020-2023  润新知