光电式绝对值编码器的使用与故障处理方法详解
创作时间:
作者:
@小白创作中心
光电式绝对值编码器的使用与故障处理方法详解
引用
网易
1.
https://m.163.com/dy/article/JE26F24E05569TMB.html
光电式绝对值编码器是一种高精度测量设备,广泛应用于机械位置、角度等参数的测量与控制。本文将系统讲解光电式绝对值编码器的使用方法以及乱码故障的处理方法。
安装
机械安装
机械安装方法比较简单,只需让编码器的轴与相应机构的主转动轴实现同步动作即可,但是编码器属于贵重物品,安装不当可能损坏或数据混乱,所以应请专业的机械安装人员按以下几点要求安装。
- 必须确保编码器的转动轴不来回扭动,如果拧着劲转会损坏编码器,所以要仔细调整同轴度,同时确保机械本身转轴的安装精度。
- 对于只在固定小区域动作的机构(如俯仰、回转机构),编码器最好先于一个减速器连接,减速器须算好速比,确保编码器做单圈运动,可以为编写程序提供好处(后面还会讲到这点)。
- 与编码器轴连接不要采用柔性较大的轴。柔性轴可以保护编码器,但会引起数据丢失。
- 必须保证所有连接紧固牢靠。装好后要将各个螺栓检查一遍,确认无松动。(编码器常见的几种安装形式见下图)
与可编程控制器(PLC)模块的线路连接
比较知名的可编程控制器如ROCKWELL、欧姆龙、安川等都有可与编码器连接的模块,并提供连接线路图。编码器本身也有详细的接线说明书。需要说明的是,编码器与控制器模块的位数应该匹配,编码器有10位的,计数范围0~1023.12位的计数范围0~4095.如选用12位的编码器,而只用了10位就会造成浪费(也可以使用)。
程序编写
因各种控制器所用语言不同,所以首先叙说一下编程思路。
- 定义编码器输入变量,设为ctrl。
- 0位校正,根据工作需要将机构动作至0位,如果要求严格,采用精位仪、水平仪精确定位,然后读出ctrl值,记为a。
- 求中间变量ctr2=ctrl+n*b-a
其中n-编码器转的圈数(后面将详细说明)。
b-编码器单圈计数量,若10位b=1024.
12位b=4096 - 求n值,这是关键一步,以10位编码器为例,方法如下:首先在机构上装—0位校正开关,将开关信号送给PLC,开关接通后(机构在0位),n=0;让机构动作,编码器读数到1023或0时会跳到0或1023.现在我们需一种算法检测到这种数值跳跃,跳一次让n=n+1或n-1.我们可以利用PLC控制器扫描程序段时的前后时间差来检测。
先借助一变量ctr3,ctr1→变量ctr3;
ctrl-ctr3>1000时,n=n-1;
ctrl-ctr3<1000时,n=n+1;
说明:将ctrl传给ctr3.ctr3在时间上比ctrl滞后,所以ctrl始终不等于ctr3.当ctr1从1023跳到0时,ctr3=1023.此时ctrl-ctr3<1000.n=n+1.式子中1000理论上只要是小于1023的数即可,但如取得偏大(如1022),就可能因外部机械上的原因,使检测失灵。
上面曾提到算好减速器的速比有利于编程。因为对于一些只在固定区域段动作的机构(如俯仰、回转等),让编码器只做单圈动作,n始终为0.使程序简化,也降低了乱码故障的发生。 - 根据实际情况在程序中确定输出值,设为outpt=ctr2c
系数c根据实际测量值确定。例如回转机构转到0度时,ctr2=a,将回转机构转到90度,(用精位仪测量),读出ctr2的值,设为d,c=90/(d-a),多测量几组角度,取平均值,这样结果更准确。
(安川公司的可编程控制器编制的编码器程序如下):
程序说明:DW00001=00435为0位时编码器读数,MW05064相当于ctrl,DF00010相当于ctr2.-9.160310E-002=-0.09160310为科学计数法,相当于系数c,DW00015相当于ctr3.DW00016=DW000021024.而DW00002就是n,IBl20A6为0位校正开关送给PLC的信号。MF01310为输出值output。DB000005为脉冲信号,表示DB000000接通一次,DW00002+1.
乱码故障的排除
编码器最常见的故障就是乱码,遇到这种情况应从以下几方面进行分析。
- 机械结构是否连接紧固,尤其注意许多编码器本身自带一套调节速比的齿轮,打开编码器箱体,将这些齿轮紧固好,注意要保持同轴度,以免损坏编码器,紧固完毕后重新进行0位校正。
- 如问题仍存在,打开编码器接线盒,观察数据线对应的信号灯是否有常亮或常灭的,若有这种情况,检查接线并校对,若仍不能解决问题,说明编码器本身有故障,联系厂家修理。
- 检查PLC编码器输入模块是否完好,可以换一块好的试试。
- 程序中n值检测不灵敏,如ctrl-ctr3>1020.式子中1020偏大,不易被检测出来,不妨改为1000试试。但如果取得过小,如200.就可能在任何点都有机会符合条件,造成n连续增加,从而造成乱码。如果ctrl→ctr3语句放在ctrl-ctr3语句的后面,检测就更加灵敏,原因是程序循环逐行扫描方式延长了两条语句间的扫描时差。
- 如果0位校正开关误动作,就会使n值变0.检查机构动作区域内有无引起校正开关误动作的东西,将其去除。
- 机械本身转轴缺润滑油或轴安装精度有问题,导致轴转动不连续,编码器数据出现跳跃,如果正好跳过换圈点,n值本应+1或-1.但实际没有变化,导致出现乱码。
- n值算法有问题。笔者遇到过一种因程序算法问题引起的乱码故障,算法如下:1021=ctrl=1023.if正转,n=n+1;0=ctrl=2.if反转,n=n -1.这种算法似乎想靠机械本身的惯性冲过1021~1023与0~2这段区域,因为ctrl=1022时,如果n=n+1.就会造成瞬列数据突然加大,冲过这段区域后又恢复正常。这种算法还存在一个更大的问题:在1021~1023区域段内,如果程序扫描不止一次,n就不会只加1了。
热门推荐
为何在三体中无法改变时间?揭秘宇宙中不可逾越的规则
罗文《黄昏》:一首歌里的“人生之道”
为宝宝选择DHA营养补充品的最佳时机与注意事项解析
如何运用有效的沟通技巧,以提升感情关系的稳定性和满意度
北京大学韩梦迪Science Advances:小型化的无线植入式传感系统
火箭军某部多措并举做好心理服务工作,助力官兵健康成长
使用桶装水注意事项
恒星的形成与演化:从星际介质到璀璨星辰的神奇之旅
余电快速泄放电路详解:两种方案对比分析
氟胶密封圈的性能与应用:应对极端环境的高效密封解决方案
购销合同定金条款是怎样
爱情中的争吵与矛盾:如何化解与重建和谐?
[完整指南] 如何从变砖的手机中恢复数据?
产后骨盆如何矫正
海南大小洞天旅游景点门票价格及交通指南
成人胸外心脏按压:关键要点与正确操作方法
【React】深入理解 JSX语法
三轮车上路,这6点一定要注意
三杨内阁:明代政治的巅峰与智慧的象征
大明权臣高拱:毁誉沉浮中的时代烙印与个人理想
如何评价历史上的高拱:政治改革家与争议人物的双重身份
年柱庚金坐辰土:庚辰干支的命理解析与影响
香港银行账户助力跨境电商破解回款难题
病理科手卫生PDCA案例
症瘕是什么病?中医详解其病因、症状与治疗
VR技术在博物馆展览中如何提升互动体验
澳大利亚行医执照:探索当地医学专业与许可要求
神奇草药组合揭秘:西洋参、三七、丹参颗粒如何激活长寿基因,逆转小鼠老化!
探索中国56个民族的独特风俗与文化习惯
百白破疫苗接种后会出现哪些反应