
旋转编码器编程原理实例.doc
22页如何使用旋转编码器、编码开关,旋转编码开关、编码器的原理 在电子产品设计中,经常会用到旋转编码开关,也就是所说的旋转编码器、数码电位器、Rotary Encoder 它具有左转,右转功能,有的旋转编码开关还有按下功能为了使刚接触这种开关的朋友了解旋转开关的编程,我来介绍下它的原理和使用方法: 以我厂生产的EC11型编码开关为例:如图1: 三只脚:1 2 3脚一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋转时,在1、3脚就有脉冲信号输出了 两只脚:为按压开关,按下时导通,回复时断开 在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时两个输出脚的信号有个相位差,如图2 由此可见,如果输出1为高电平时,输出2出现一个高电平,这时开关就是向顺时针旋转;当输出1 为高电平,输出2出现一个低电平,这时就一定是逆时针方向旋转所以,在单片机编程时只需要判断当输出1为高电平时,输出2当时的状态就可以判断出是左旋转或是右旋转了 旋转编码开关(Rotary Encoder switch) 我前面介绍的2篇文章:“自己动手做收音机(LC72131) ”和“电脑USB接口LCD液晶显示板(LCD Smartie)”都使用了这种旋转编码开关(Rotary Encoder switch),一个使用3脚的,后面一个使用5脚的,大家可能对这种玩意都不是很了解,但涉及到有调整的地方,这个玩意使用真是很爽,我弄了2个,研究了一下,供大家参考~5脚的ALPS: <-- ALPS Incremental Encoder (EC11 series)具有左转,右转,按下三个功能。
4、5脚是中间按下去的开关接线 1 2 3脚 一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋纽时,在1、3脚就有脉冲信号输出了这是标准资料:在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时两个输出脚的信号有个相位差,见下图:由此可见,如果输出1为高电平时,输出2出现一个高电平,这时开关就是向顺时针旋转; 当输出1 为高电平,输出2出现一个低电平,这时就一定是逆时针方向旋转.所以,在单片机编程时只需要判断当输出1为高电平时,输出2当时的状态就可以判断出是左旋转或是右旋转了还有另外一种3脚的,除了不带按钮开关外,和上面是一样的使用 我是分隔线 ---------------------- 编码器总结(类似音响上的音量调节旋钮) 1.要求旋转速度快,调节就快,速度慢,,调节就慢2.机械的编码器要24脉冲/每转,勉强可以分辨3到4种速度(每隔100ms计算一次速度),,机械的缺点是有毛刺,,寿命短,,通常在1万转左右,,不过bounce的号称20万转3.希望编码器每转的脉冲愈多愈好,霍尔的编码器和光电的编码器脉冲都很多,,但是价格都很高,,唉4.cui的编码器最好了,啥都有,按钮功能也有,,配套的旋钮也有,,完美,,可是国内没有卖的 ---------------------- 我是分隔线 ---------------------- 旋转编码器检测转动方向的电路 ---------------------- 我是分隔线 ---------------------- 旋转编码器的抗抖动计数电路 摘要:旋转编码器应用于角度定位或测量时,由于旋转轴的晃动可能引起编码器输出波形的,从而引发误计数现象。
介绍了一个抗抖动计数电路,滤除了旋转编码器因抖动而造成的误计数 关键词:旋转编码器 抗抖动电路 数字电路 旋转编码器应用于角度定位或测量时,通常有A、B、Z三相输出旋转编码器的输出波形见图1A相和B相输出占空比为50%的方波编码器每转一周,A相和B相输出固定数目的脉冲(如100个脉冲)当编码器正向旋转时,A相比B相超前四分之一个周期;当编码器反向旋转时,B相比A相超前四分之一个周期A相和B相输出方波的相位差为90°编码器每转一周,Z相输出一个脉冲由于编码器每转一周,A相和B相输出固定数目的脉冲,则A相或B相每输出一个脉冲,表示编码器旋转了一个固定的角度当Z相输出一个脉冲时,表示编码器旋转了一周因此旋转编码器可以测量角位移及位移方向 问题出在伺服系统停止工作时,若无锁定,则旋转轴受外力(如风力影响)可能自由晃动,因而引起编码器输出波形抖动,如图2所示,从而引起误计数在这种情况下,就不能对波形进行正确计数虽然可以通过软件设置标志状态,用记录历史状态的变化来滤除误计数,但是程序耗费颇大因此,本人设计了一个抗抖动计数电路它能够自动消除抖动造成的误计数 1 抗抖动计数电路原理图 图3是抗抖动计数电路原理图。
此电路滤除了旋转编码器输出波形的抖动现象该电路分为四个部分:译码电路U4A;互锁电路U5A、U5B;正旋计数链J1、J3、J5和反旋计数链J2、J4、J6U4A为二四译码器,U5A、U5B为与门,J1~J6为D触发器正旋计数链负责对编码器正向旋转的计数,反旋计数链负责对编码器反向旋转的计数 2 抗抖动计数电路工作分析 图4为二四译码器输出的波形译码器产生d、a、b、c四种不同的状态在图3中当B=0、A=0时,译码器Q0输出为d状态,d状态为高电平当B=0、A=1时,译码器Q1输入为a状态,a状态为高电平当B=1、A=1时,译码器Q2输出为b状态,b状态为高电平B状态不影响计数和方向确定,在图3电路中没有使用当B=1、A=0时,译码器Q3输出为c状态,c状态为高电平 当旋转编码器正向旋转时,译码器输出的状态顺序为d、a、b、c、d、a、b、c……如图4所示当B=0、A=0时,进入d状态,与门U5A的Pin2=a=0(Pin是管脚的意思),于是U5A的输出Pin3=0D触发器J1的R=d=1、S=0,因此J1被清0.与门U5B的Pin5=c=0,于是U5B的输出Pin4=0D触发器J2的R=d=1、S=0,因此J2也被清0。
这时J1、J2的Q端都为1,与门U5的Pin1=Pin6=1,U5A和U5B都处于等待开门状态当进入状态a时,Q1=a=1,U5A的Pin2=a=1由于c=0,所以J2的Q端仍为1,U5A的Pin1=1,U5A的输出Pin3=1.J1的R=d=0、S=1,因此J1被置1J1的Q=1,Q=0J1的Q=1,正旋标志送到了J3的D端时J1的Q端关闭了U5B在下一个d出现之前,所有的c脉冲都不会改变J2的状态这就说,J1、J3、J5组成的正旋计数链被打开,J2、J4、J6组成的反旋计数链被阻断U5A、U5B、J1、J2完成互锁的功能在进入状态a时,J3的R=a=1、S=0,J3被清0,J5的R=a=1、S=0,J5被清0.在进入状态c前,J3的R=a=0、S=0、D=1,J3处于待触发状态J3的CLK=c,当c脉冲上升沿过后,D=1被打入J3的Q端,正旋标志送到了J5的D端在进入状态d前,J5的R=a=0、S=0,J5处于待触发状态J5的CLK=d,当d脉冲上升沿过后,D=1被打入J5的Q端,正旋标志送到了正旋计数输出端正旋计数输出端由低电平变为高电平到此为止,完成了一次正旋计数当由状态d进入状态a时,J5的R=a=1、S=0,J5被清0,正旋计数输出端由高电平变为低电平。
由此可知,当旋转编码器正向旋转时,对应A相 B相的每一个完整周期,正旋计数输出端都会产生相应的一个脉冲 A的出现抢到了正旋计数权只有在d重新出现后,脉冲c才可能有机会抢到反旋计数权从而保证了一旦进入正旋计数状态,不全完成这一过程,就进入不了反旋计数状态运行时有可能从状态a返回状态d,结果这只不过释放正旋计数权因这时正旋标志还只在J3输入端上,a出现时已把J3清0D状态只会把0送给J5的Q端,因此不会产生误计数 当旋转编码器反向旋转时,译码器输出的状态顺序为d、c、b、a、d、c、b、a……这种情况的分析方法与正向旋转的分析方法相同,这里不再叙述 这就好比接力赛在一个只允许上一个人的封闭的环形跑道上依次均匀设d、a、b、c、四个站,立四个裁判员d点为起止点、出入口,持棒运动员沿环形跑道一站站往下跑D裁判长的职责是:运行员往a去(顺行),告示:“有人,正向”;往c去(逆行),告示:“有人,反相”其他裁判员的职责是给到达本站的运动员发签证(计数标志),往回跑,撤销签证d裁判长的计分规则是:凭其他裁判的签证齐全加牌示,正,加一分,反,减一分,然后撤销签证签证不齐到d,则不计分,撤销签证运行员在跑道内来回跑或坐时,d裁判视而不见。
例如在图2中,当从状态d进入状态a时,正旋标志送到J3的D端此后的a、b、a、b、a、b都不起作用,只是把J3和J5反复清0.当从状态c进入状态d时,正旋标志到正旋计数输出端,同时J1和J2被清零在从状态d进入状态c后,反旋标志送到J4的D端同时,D=0被打入J3的Q端,这时J5的D端为零在从状态c回到状态d后,反旋计数权被释放但是,由于J5的D端为零,虽然这里再次出现状态d,该d脉冲不会发生计数,这就是抗抖动 图5为抗抖动计数电路的输出波形此电路计数频率可达10MHzA相和B相输入前应予整形,必要时还要进行电隔离 本人把此电路用于对云台角度的定位与测量天线云台有两个旋转角度,俯仰角从0~90度,方位角从0~354度旋转编码器用的是OMROM公司的E6A2此编码器每转一周,A相或B相输出一百个脉冲由此可得,抗抖动计数电路每输出一个脉冲,编码器旋转的角度是3.6度如果加上变速齿轮将会提高角度测量精度把抗抖动电路的正旋计数输出和反旋计数输出接到单片机的中断管理上,其下降沿时给单片机发中断单片机把处理的角度信息送到显示屏上显示出来,从而完成了对天线云台角度的定位与测量这套天线角度显示系统在实际使用中运行一直很稳定,没有出现过误计数现象。
---------------------- 我是分隔线 ---------------------- 1mm Size Metal Shaft Encoder EC11 Series (Incremental Encoder) Detail Part number EC11E09204A4 Structure Vertical Actuator configuration Flat Actuator length 20mm Torque 10±7mN·m Number of detent 18 Number of pulse 9 Operating direction Vertical Push-on switch Without Operating life 15,000 cycles Minimum order unit (pcs.) 1,200 Operating temperature range -30℃ to +85℃ Maximum operating current (Resistive load) 10mA Electrical performance Ratings 10mA 5V DC Output signal Output of A and B signals, proportionate to phase difference Insulati。












