产品选型

单片机 编码器 测速 常用的编码器测速方法

小编 2024-10-25 产品选型 23 0

常用的编码器测速方法

常用的编码器测速方法有三种:M法、T法和MT法。

M法:又叫做频率测量法。这种方法是在一个固定的计时周期内,统计这段时间的编码器脉冲数,从而计算速度值。设编码器单圈总脉冲数为C,在时间T0内,统计到的编码器脉冲数为M0,则转速n的计算公式为:n = M0/(C*T0)。

M法是通过测量固定时间内的脉冲数来求出速度的。

假设编码器转过一圈需要100个脉冲(C=100),在100毫秒内测得产生了20个脉冲,则说明在1秒内将产生200个脉冲,对应的圈数就是200/100=2圈,也就是说转速为2圈/秒。通过公式计算n = 20/(100*0.1)=2。与前边分析的结果一致。

也可以这样理解,转过了M0/C=20/100=0.2圈,用时0.1秒,那么1秒将转0.2*10=2圈。

M法在高速测量时可以获得较好的测量精度和平稳性。但是如果转速很低,低到每个T0内只有少数几个脉冲,则此时计算出的速度误差就比较大,且很不稳定(因为开始测量和结束测量的时刻最多会引入2个脉冲的误差)。

使用编码器倍频技术,可以改善M法在低速测量时的准确性。

增大计数周期,即增大T0,也可以改善M法在低速测量时的准确性。

以上两种方法本质都是增大一个计数周期内的脉冲数,从而减小2个脉冲误差的占比。

T法:又叫做周期测量法。这种方法是建立一个已知频率的高频脉冲并对其计数,计数时间由捕获到的编码器相邻两个脉冲的时间间隔Te决定,计数值为M1。设编码器单圈总脉冲数为C,高频脉冲的频率为F0,则转速n的计算公式为:n = 1/(C*Te) = F0/(C*M1)。Te = M1/F0。

T法是利用一个已知脉冲来测量编码器两个脉冲之间的时间来计算出速度的。

假设编码器转过一圈需要100个脉冲(C=100),则1个脉冲间隔为1/100圈,用时为Te(假设为20毫秒),那么1圈用时就是100*20/1000=2秒,也就是说转速为0.5圈/秒。而这20毫秒(Te)间隔,正好对应M1/F0。

在电机高转速的时候,编码器脉冲间隔时间Te很小,使得测量周期内的高频脉冲计数值M1也变得很少,导致测量误差变大,而在低转速时,Te足够大,测量周期内的M1也足够度多,所以T法和M法刚好相反,更适合测量低速(同样存在开始测量和结束测量时刻的最多2个脉冲的误差)。

M/T法:综合了M法和T法各自的优势,既测量编码器脉冲数,又测量一定时间内的高频脉冲数。在一个相对固定的时间内,计算编码器脉冲数M0,并计数一个已知频率F0的高频脉冲,计数值为M1,计算速度值。设编码器单圈总脉冲数为C,则转速n的计算公式为:n = F0*M0 / (C*M1)。

由于编码器单圈总脉冲数C与高频脉冲频率F0为固定值(常数),因此转速n就只受M0和M1的影响。电机高转速时,M0增大,M1减小,相当于M法;电机低转速时,M1增大,M0减小,相当于T法。

————————————————

版权声明:本文为CSDN博主「蓝天居士」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/phmatthaus/article/details/121235828

PLC电气工程师们,西门子1200 PLC怎样实现编码器测速?

【导读】

PLC电气工程师们,西门子1200 PLC怎样实现编码器测速?如果你还不知道答案,请接着往下看,由小编来给你进行介绍。

西门子S7-1200 PLC能够通过连接编码器来测量电机的转速,测速的方法主要有两种。一种是利用高速计数器直接读取编码器的频率,另一种是使用循环中断在固定时间间隔内计算脉冲数量。下面将详细阐述如何通过这两种方法实现西门子S7-1200 PLC的编码器测速功能:

1、使用高速计数器测量编码器转速

1)硬件接线:需要将编码器的A相接入I0.3,B相接入I0.4,Z相接入I0.5。

2)调整输入滤波时间:在PLC的“属性”>“常规”>“DI14/DQ10”>“数字量输入”页面,要调整I0.3和I0.4的滤波时间。滤波时间的调整需要根据实际测量时的转速范围进行匹配。如果滤波时间过长,在转速很快的情况下可能会出现丢失脉冲的情况。默认滤波时间为6.4millisec,根据需要可以将这个数值减小。

3)组态高速计数器HSC1:在博图软件中对高速计数器HSC1进行组态,计数类型选择“计数”,工作模式选择“A/B计数器”,初始计数方向选择“加计数”。时钟发生器A的输入选择“I0.3”,时钟发生器B的输入选择“I0.4”。

4)创建变量并编写程序:在OB1中调用CTRL_HSC_EXT指令,并创建循环中断。循环时间设置为200ms。在循环中断内,每隔200ms读取一次HSC1的计数值,并将其赋值给MD200,然后将高速计数器清零。接着,将MD200的值除以循环间隔0.2s得到频率(脉冲/秒),再除以500脉冲得到转速(转/秒)。最后,将转速乘以60得到转速(转/分钟)。

2、利用循环中断测量编码器转速

1)创建数据块:新建一个DB块,在其中定义一个HSC_Count类型的变量。这个变量将用来存储高速计数器的当前计数值。

2)编写程序:在OB1中调用CTRL_HSC_EXT指令。在循环中断中,每隔一个固定的时间(例如:200ms)读取一次HSC1的计数值,并将其存储在定义的变量中。然后,将这个值清零,并开始下一个循环。

此外,在了解上述两种方法后,还需注意以下几点:

1)确保编码器的输出信号与PLC的输入信号相匹配,以避免信号丢失或误读。

2)正确设置滤波时间,以保证在高转速下也能准确读取脉冲信号。

3)使用高速计数器时,要注意其工作模式和计数类型的配置。

4)当使用循环中断进行测速时,中断时间的设置将直接影响到测速的精度和反应速度。

总的来说,通过上述两种方法,可以实现西门子S7-1200 PLC的编码器测速功能。这些方法不仅适用于简单的转速监测,也可以集成到更复杂的运动控制系统中,为实现精准的速度控制提供重要数据。在实施过程中,应确保硬件接线正确无误,软件配置合理,以便得到稳定可靠的测速结果。

【备注:】

今天的解说就到这里了,如果你对PLC编程有兴趣,可以+V:(18058717751) 欢迎与小编进行技术交流、学习,记得点赞、留言,转发,让更多的朋友们看到。

相关问答

编码器测速 算法?

常用的编码器测速方法有三种:M法、T法和MT法。1.M法:又叫做频率测量法。这种方法是在一个固定的计时周期内,统计这段时间的编码器脉冲数,从而计算速度值。设...

急求:用PLC200的高速计数器,和 编码器测速 ?

用高速记数来记编码器的信号!信号转换成速度!编码器没用过!啊哈哈!高速计数器编程200是用向导来产生子程序哈!就是这样子的哟!用高速记数来记编码器的信号!...

码表传感器怎么测量?

码表传感器是一种用于测量旋转角度或线性位移的传感器。常见的码表传感器有旋转编码器和线性编码器两种。以下是测量码表传感器的方法:1.旋转编码器的测量方...

示波器测量 编码器 好坏?

编码器是输出高频的脉冲信号的,所以是可以使用示波器来进行测量。将编码器的输出A相或者B相信号接到示波器中,然后旋转编码器轴,如果此时在示波器上观察到高...

速度 编码器 用万用表怎么测量好坏?

速度编码器是一种常见的工业控制元件,用于测量电机旋转的速度和方向,并将数据传输给控制系统。如果速度编码器发生故障,可能会导致电机无法正常运转,影响生产...

伺服电机 编码器 如何量?

目前国内小经济型数控设备(如CAK6236,VMC850等)主轴输出脉冲都是1024,移动轴都是2500,但系统内部还有一个脉冲细分的问题(意思是把编码器反馈的每个脉冲分...

海湾 编码器 怎么测试遮线?

海湾编码器测试遮线的方法是通过使用遮光器进行测试。因为海湾编码器的原理是通过旋转轴上的光源和光栅来传递位置信息,因此在遮挡光线时,编码器将停止传递位...

皮带 测速 仪是怎么 测速 的?

皮带测速传感器可以用编码器,也可以用精度高一点的接近开关加上自己制作一个码盘。连接于皮带从动滚筒,或做成小车式拖行在皮带下半周表面,原理是随皮带的转动...

怎么测试 编码器 好坏呀,网上买的,台达plc型号是60ES, 编码器 A相接X0,B相接X1,Z相没有接,电源接的24V?

编码器有5条引线,其中3条是脉冲输出线,1条是COM端线,1条是电源线(OC门输出型)。编码器的电源可以是外接电源,也可直接使用PLC的DC24V电源。电源“-”端要与...

咨询一下 步进电机测试?

[回答]机拖动给...通过控制脉冲频率,可以改变步进电机的转速。步进电机的加减速定位控制就是控制步进电机拖动给定的负载,经过加速、恒定、高速及减速过...

猜你喜欢