旋转编码器应用于角度定位或测量时,通常有A、B、Z三相输出。A相和B相输出占空比为50%的方波。编码器每转一周,A相和B相输出固定数目的脉冲。当编码器正向旋转时,A相比B相超前四分之一个周期;当编码器反向旋转时,B相比A相超前四分之一个周期。A相和B相输出方波的相位差为90°。编码器每转一周,Z相输出一个脉冲。由于编码器每转一周,A相和B相输出固定数目的脉冲,则A相或B相每输出一个脉冲,表示编码器旋转了一个固定的角度。当Z相输出一个脉冲时,表示编码器旋转了一周。因此旋转编码器可以测量角位移及位移方向。本文引用地址:http://www.eepw.com.cn/article/201807/384413.htm

我们通常用的是增量型编码器,可将旋转编码器的输出脉冲信号直接输入给PLC,利用PLC的高速计数器对其脉冲信号进行计数,以获得测量结果。不同型号的旋转编码器,其输出脉冲的相数也不同,有的旋转编码器输出A、B、Z三相脉冲,有的只有A、B相两相,最简单的只有A相。

编码器有5条引线,其中3条是脉冲输出线,1条是COM端线,1条是电源线(OC门输出型)。编码器的电源可以是外接电源,也可直接使用PLC的DC24V电源。电源“-”端要与编码器的COM端连接,“+ ”与编码器的电源端连接。编码器的COM端与PLC输入COM端连接,A、B、Z两相脉冲输出线直接与PLC的输入端连接,A、B为相差90度的脉冲,Z相信号在编码器旋转一圈只有一个脉冲,通常用来做零点的依据,连接时要注意PLC输入的响应时间。旋转编码器还有一条屏蔽线,使用时要将屏蔽线接地,提高抗干扰性。

编码器-----------PLC

A,B,Z 分别接入PLC的输入点(按速计数器HSC的规定)

+24V------------+24V

COM------------- -24V-----------COM

旋转编码器的应用电路为:

其中100pF的电容为去抖动的作用,但是软件处理的时候最好还是加上软件去抖动,以防止误判。软件去抖动最常用的就是延时和连续采样多次,在此不再详述。

A和B输出波形为

通过输出波形图可知每个运动周期的时序为

静止状态为11或00,A异或B的结果为0(注1)

单片机可利用定时器中断来检测A和B的状态,中断时间在5~20ms之间均可。

当检测到A^B= 0时,表示为静止状态,记下A和B的状态。

当检测到A^B= 1时,表示有转动,读取AB的状态,如果AB是从11到01或者是

从00到10则为正转,反之如果AB是从11到10或者是从00到01则为反转。

此方法比较简单可靠,可以检测转动一格又可以检测快速转动。

注1:异或运算

异或的运算方法是一个二进制运算,C语言中用A^B表示A异或B:

1^1=0

0^0=0

1^0=1

0^1=1

两者相等为0,不等为1.

编码器c语言斌编程,旋转编码器的编程思路相关推荐

  1. ec11编码器c语言程序,EC11旋转编码器电路和程序

    现在手里的项目使用到了旋转编码器,目前只使用了旋转功能,按钮功能没用到,电路图如下: 说一下为什么这么画,原因很简单,旋钮并不需要供电,它做的工作是把原来的高电平拉低,或者不改变高电平状态,这就是为什 ...

  2. 增量式编码器c语言,关于增量式编码器编程指导及使用方法的介绍

    关于增量式编码器编程指导及使用方法的介绍 文章来源:http://www.kindele.com/  发布时间:2016/05/13    点击数: 在目前的编码器市场,增量式编码器主要被分为三种类型 ...

  3. 旋钮编码器c代码_求旋转编码器c程序

    编码器涵盖很多种类,不知你具体要求的哪种?我也曾折腾过一段时间EC11型的,给你个从网上找来的,参考吧(在我板上能运行) //通过编码开关(旋转编码器)控制数码管的加减一 #include #defi ...

  4. ec11编码器c语言程序,旋转编码器 关于EC11计数的程序 - 下载 - 搜珍网

    压缩包 : e09f3b72b0b3edc883d8ce7c7fbba.rar 列表 旋转编码器check/Doc/readme.txt 旋转编码器check/keilkill.bat 旋转编码器ch ...

  5. STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)

    本篇文章包含的内容 一.中断系统 1.1 中断的定义 1.2 中断优先级 1.3 中断的嵌套 1.4 STM32中的中断系统 1.4.1 STM32的中断资源 1.4.2 嵌套中断向量控制器 NVIC ...

  6. 使用Arduino 连接旋转编码器

    文章目录 1. 所需的材料 2. 连接导线旋转编码器是如何工作的? 3. 旋转编码器的类型 4. KY-040旋转编码器引脚和说明 5. Arduino与旋转编码器的连接电路图 6. 编写用于旋转编码 ...

  7. 【嵌入式】旋转编码器原理

    参考文章:https://en.wikipedia.org/wiki/Rotary_encoder 旋转编码器有两种:增量式编码器和绝对值编码器. 1.增量式编码器 所谓增量式,就是指编码器输出的信号 ...

  8. 使用Arduino开发板连接ec11旋转编码器

    使用Arduino开发板连接ec11旋转编码器 因为最近要用到旋转编码器,从网上花了好长时间找了好多关于arduino使用旋转编码器的资料,总是找不到合适的,最后总结了一下(部分内容有借鉴,仅作分享, ...

  9. 【Arduino使用旋转编码器模块】

    Arduino使用旋转编码器模块 前言 旋转编码器模块引脚 旋转编码器模块如何工作? 旋转编码器模块电路图 Arduino旋转编码器模块电路连接图 代码说明 完整代码 前言 旋转编码器是一种机电位置传 ...

最新文章

  1. spring mvc-REST
  2. JAVA继承心得体会及建议_Java继承总结
  3. controll层跳转页面_SpringMVC controller控制页面跳转 | 学步园
  4. 基于opencv的BackgroundSubtractorMOG2目标追踪
  5. weex前端式写法解决方案---eros
  6. 服务器安全:浏览器同源策略与跨域请求、XSS攻击原理及防御策略、如何防御CSRF攻击
  7. 关于如何将sublime的主题应用到webstorm上
  8. 法学学士学位的完整形式是什么?
  9. 帝国cms 未审核 showinfo.php,帝国CMS批量修改文章未审核状态及批量修改上线时间...
  10. 行人重识别的挑战与最新进展(35页PPT整理)
  11. mysql signal函数_MySQL:简单记录信号处理
  12. 快手视频批量下载,一个脚本就够了,手把手教你批量下载快手高清视频。
  13. java程序加密_对Java代码加密的两种方式,防止反编译
  14. 【LeetCode】求中位数(数据流、滑动窗口、两个正序数组)
  15. 墨尔本大学计算机科学要求,墨尔本大学计算机科学
  16. KMP算法—终于全部弄懂了
  17. SSD固态硬盘:掉盘的四大类原因
  18. 六种找客户的方法销售人员需掌握
  19. oracle调用web severs,Oracle调用C#开发web services
  20. 四川省中小学计算机免试,四川省教育厅关于转发教育部关于进一步做好小学升入初中免试就近入学工作的实施意见的通知...

热门文章

  1. 关于人工智能的法律思考
  2. 【哈士奇赠书活动 - 24期】-〖前端工程化:基于Vue.js 3.0的设计与实践〗
  3. 迁移学习(自我归纳总结)
  4. * Notepad++ 最舒适界面及字体
  5. android方法不混淆,android app进行代码混淆实例详解
  6. 又收到一只瑞星寄来的卡卡狮……汗!
  7. ifix与mysql_ifix5.5 如何做历史数据库?
  8. Linux的lcd的mipi接口,LCD MIPI DSI简析系列之二【转】
  9. ENVI时间序列趋势分析之一元线性回归分析
  10. “不患寡而患不均”是孔子的名言