编码器(高速计数器)的使用方法

使用编码器(高速计数器)来记录步进电机所走的距离

文章目录

目录

文章目录

前言

一、编码器概述

二、编码器的接线

三.编码器的指令和使用 

1.指令 

 2.使用

3.内部方向控制 

4.外部方向控制 

5.具有两个时钟输入的双相计数器 

6.A/B相正交计数器 

四.记录电机所走的路程 

总结 


前言

这里讲述一下编码器的使用和在200PLC中如何使用。

这里以欧姆龙编码器为例: 

 大概是这样子!

一、编码器概述

 编码器是将信号或数据进行编制,转换为可以通讯,传输和存储的形式的设备。编码器将角位移或直线位移转换为电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两种;增量式编码器将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此他的示值只与测量的起始和终止的位置有关,而与测量的中间过程无关。

这里需要辨别NPN和PNP两种类型,以光电开关为例,NPN型PLC的1M要接24v;PNP型PLC的1M要接0v.

二、编码器的接线

编码器通常有四线制,五线制,六线制,八线制这几种。 

四线制:棕正,蓝负,黑A相,白B相(棕色和蓝色接电源,黑色白色接I点);

 五线制:棕正,蓝负,黑A相,白B相,橘Z相(橘色是Z相,复位)

六线制: 棕正,蓝负,A,A',B,B' (NPN型:A和B接I点,A'B'不接。PNP型:A'和B'接I点,AB不接。)

八线制:  棕正,蓝负,A,A',B,B',Z,Z'

以五线制为例:棕色接24伏,蓝色接0伏,黑色是A相,白色是B相,这两个控制脉冲和方向,橘色Z相,一圈一个脉冲,也称回零相。 

三.编码器的指令和使用 

1.指令 

 在S-7 200PLC中共有6个高速计数器,都是32位,HC0~HC5这6个。

HDEF是定义,有两个管脚HSC是高速计数器,MODE是模式的选择 

HSC是高速计数器,从0~5这六个里面选择。 

只有指令是万万不行的,我们还需要知道如何使用! 

 2.使用

编码器的使用也有一下几步:1.控制字节,2.设定初始值,3.设定预设值,4.定义高速计数器,5.触发HSC指令,就可以完成了,和步进电机有异曲同工之处,下面根据表格来看!

高速计数器主要分为4种:1.具有内部方向控制的单相计数器,2.具有外部方向控制的单相计数器,3.具有两个时钟脉冲输入的双相计数器,4.A/B相正交计数器

高速计数器
HSC说明输入
HSC0I0.0I0.1I0.2
HSC1I0.6I0.7I1.0I1.1
HSC2I1.2I1.3I1.4I1.5
HSC3I0.1
HSC4I0.3I0.4I0.5
HSC5I0.4
0时钟脉冲
1具有内部方向控制的单相计数器时钟脉冲复位
2时钟脉冲复位启动
3时钟脉冲方向
4具有外部方向控制的单相计数器时钟脉冲方向复位
5时钟脉冲方向复位启动
6增计数脉冲减计数脉冲
7具有两个时钟输入的双相计数器增计数脉冲减计数脉冲复位
8增计数脉冲减计数脉冲复位启动
9时钟脉冲A时钟脉冲B
10A/B相正交计数器时钟脉冲A时钟脉冲B复位
11时钟脉冲A时钟脉冲B复位启动
12

仅HSC0和HSC3支持模式

HSCO计数Q0.0所发脉冲数目

HSC3计数Q0.1所发脉冲数目

 高速计数器一共有6个,每一个都有不同的状态字节,控制字节,具体如下表:

高速计数器使用的特殊标志位存储器
高速计数器状态字节控制字节初始值预设值
HSC0SMB36SMB37SMD38SMD42
HSC1SMB46SMB47SMD48SMD52
HSC2SMB56SMB57SMD58SMD62
HSC3SMB136SMB137SMD138SMD142
HSC4SMB146SMB147SMD148SMD152
HSC5SMB156SMB157SMD152SMD162

 这里先以内部方向为例:0号计数器的0号模式,根据上表可知,0号计数器控制字节SMB37,0号模式只有一个I0.0输入。参见smb37的控制字节:

SMB37控制字节
控制位描述适用的计数器
SM37.0复位电平:0=高电平有效  1=低电平有效0.1.2.4
SM37.1启动电平:0=高电平有效  1=低电平有效1.2
SM37.2正交计数器速率选择:0=4倍率   1=1倍率0.1.2.4
SM37.3计数方向控制:0=减   1=增全部
SM37.4写计数方向允许:0=不更新   1=允许更新全部
SM37.5写预设值允许:0=不更新   1=允许更新全部
SM37.6写当前值允许:0=不更新   1=更新全部
SM37.7高速计数指令执行允许:0=禁止 1=允许全部

3.内部方向控制 

 根据字节选择相关的内容,37.0,37.1,37.2,与我们所选模式无关,默认为0。那么将2#11111000传送到控制字节就可以了!

初始值smd38(一般为0),预设值smd42(根据编码器每圈所转的数来设置),传入适当的数 

然后再触发HSC指令就行了! 

HDEF是选择几号计数器的几号模式,HSC是触发指令。  

 

 根据图表可知,此计数器只可计数,并没有复位功能,无法复位,那么脉冲数只能累计无法清零。这里可以使用0号计数器的0号模式就可以,只需要在PLC输入点接上I0.2就可以。

4.外部方向控制 

关于外部方向控制,这里我们使用1号计数器的5号模式,此模式有脉冲,方向,复位,启动全面的功能。 1号计数器操作模式如图:

 

 这里里的增和减由I0.7控制,=0是减计数,=1是增计数,因为计数器和计数器模式都改变了,那么控制字节也要重新选择,将2#11111110传入smb47中。其他根据上表做相应的修改。

5.具有两个时钟输入的双相计数器 

这里我们使用1号计数器的8号模式,由外部输入控制,I0.6是增计数脉冲,I0.7是减计数脉冲,I1.0复位 ,I1.1启动,这里两个脉冲一个A相一个B相,不可同时接,启动一般用低电平,复位一般用高电平。

6.A/B相正交计数器 

1号计数器的11号模式,也是外部输入控制,I0.6是A相脉冲,I0.7是B相脉冲,I1.0复位,I1.1启动 ,需要注意AB两相都需要接上否则无法运行。

SMB37控制字节
控制位描述适用的计数器
SM47.0复位电平:0=高电平有效  1=低电平有效0.1.2.4
SM47.1启动电平:0=高电平有效  1=低电平有效1.2
SM47.2正交计数器速率选择:0=4倍率   1=1倍率0.1.2.4
SM47.3计数方向控制:0=减   1=增全部
SM47.4写计数方向允许:0=不更新   1=允许更新全部
SM47.5写预设值允许:0=不更新   1=允许更新全部
SM47.6写当前值允许:0=不更新   1=更新全部
SM47.7高速计数指令执行允许:0=禁止 1=允许全部

 这里我们使用了正交计数器,那么会用到sm47.2正交计数器速率选择,4倍频和1倍频只针对正交计数器,二者的区别:

1倍频:只在A相上升沿计数,与B相无关;

4倍频:在A相和B相的上升沿,下降沿都计数,精度很高;

四.记录电机所走的路程 

这里需要将步进电机和编码器联合在一起,所以为12号模式,具体可看定义。

sm0.1上电初始化,sm0.5不断的触发。 

 

 

这里实时监控当前值。 

 

总结 

 这里介绍里编码器的作用,指令,用法以及和步进电机的使用,这里仅是一种方法。

 

  • 11
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STM32编码器是一种用于计数和测量转动或线性运动的设备。它可以通过硬件编码器接口连接到STM32微控制器上。编码器通过测量脉冲信号来计数运动的次数。根据引用中所提到的,STM32的硬件编码器具有智能的特性,它能够容许抖动并在连续产生脉冲时进行计数。通过选择不同的定时器接口,可以实现编码器的正向/反向计数。例如,定时器3可以通过PC6和PC7引脚连接编码器使用STM32编码器的基本步骤与开发其他STM32部件的操作相似。首先,需要打开时钟并配置输入滤波和边沿检测以生成相应的脉冲信号。然后,根据需要配置编码器的工作模式,如正向计数、反向计数等。如果要使用中断功能,还需要打开相应的中断。具体的代码示例可以参考引用中提供的STM32编码器的示例代码。 另外,引用提供了一些关于使用STM32编码器的注意事项。例如,编码器有一个转速上限,超过这个上限将无法正常工作。此外,编码器的输出一般是开漏的,因此需要在单片机的IO上拉输入状态。在初始化定时器后,CNT寄存器的值将是编码器的位置信息,正转时CNT会增加,反转时CNT会减少。如果需要多圈计数,可以使用溢出中断来实现。此外,可以通过软件设置滤波来优化输入脚的信号。如果没有绝对位置信号,可以使用码盘的零位置信号结合定时器捕获输入来找到初始位置。 总之,STM32编码器是一种用于计数和测量运动的设备,通过选择不同的定时器接口和配置编码器的工作模式,可以实现所需的计数方式。在使用编码器时,需要注意一些硬件的限制和配置方面的注意事项。根据具体的应用需求,可以灵活选择编码器的功能和算法来满足需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值