在电机控制领域,我们经常需要得到电机的转速,位置来执行算法,那么想知道转速是如何获得的吗?看过来,猿来你在这里O(∩_∩)O~

正交编码器简介

飞思卡尔增强型正交编码器模块为多种电机控制的应用提供转速和位置型号的感应。正交编码器也叫增量式编码器或者光电编码器,大量应用于检测旋转运动系统的位置和转速,像电机控制,智能小车等。典型的增量式编码器 包括一个放置在电机传动轴上的开槽的轮子和一个用于检测该轮上槽口的发射器/检测器模块,飞思卡尔的正交编码器模块(ENC)提供与正交编码器的接口,为电机控制的应用提供了很大的方便,有五个输入信号,分别为PHASEA,PHASEB,INDEX, TRIGGER,HOME. ENC模块可以用来解码传动旋转轴的位置转速信息,供控制算法使用,像倍加福,国产的长春禹衡等都有大量应用。

系统框图

简单了解正交编码器后,那么在MCU系统上正交编码器模块的构成是什么呢,下面框图带你轻松理解

大体分为三个部分,输入信号经过XBAR,解码器模块,以及计数模块。

正交编/解码器框图

了解了片上系统的框图之后,通过下图可以清楚的看出正交解码器的构成

输入信号经过滤波,进入检测,再触发计数比较,得出位置信息,需要注意一点的是有一个看门口定时器,确保算法的正确的表明轴的运动,两次连续的计数会清掉复位看门口定时器,定时器的定时溢出值是可以编程的,定时溢出的产生会引发中断。

PHASEA 的输入即是正交编码器的输出,PHASEA和PHASEB联合计算方向,在正向旋转的时候,PHASEA是主导相,PHASEB是尾随相,当反方向的时候,PHASEB是主导相,PHASEA是尾随相。也可以应用在单相的输入情况下,当编码器是作为单相脉冲累加器的时候。

通常情况下,INDEX信号会连接到编码器脉冲索引输出口。HOME输入信号,可以用来初始化位置寄存器的上下限。TRIGGER信号输入可以用来清除位置计数器的上下限值,这个信号还会经常连接到定时脉冲发生器,或者定时器表明一个时间周期已消逝。

其他信号的详细信息以及寄存器的详细信息请参阅飞思卡尔官方参考手册。与ENC相关的期存器大概有二十来个,不算多,仔细阅读手册应该很快会掌握驱动操作原理。

中断源

飞思卡尔ENC模块有五个中断源如下表所示:

基本时序图

下图可以看出增量型编码器的基本时序图,关于工业上的应用,推荐大家下载正式的编码器的数据手册仔细研读。

软件解决方案

自己可以根据数据参考手册的描述一步步开发完成编码器的驱动程序,也可以快速参考甚至直接使用飞思卡尔SDK里面的对ENC模块的驱动,推荐大家使用SDK,可以快速评估你的方案,也可以快速上手学习ENC的驱动开发。在SDK1.2版本里面有专门针对ENC的例程。如果是默认路径则打开

C:\Freescale\KSDK_1.2.0\examples\twrkv46f150m\demo_apps\enc_demo\iar

工程如下图所示,使用我们前面反复提到的批处理编译整个工程样例,对照手册学习,甚至可以用示波器抓几个波形跟编码器手册对比,这样你会印象更加深刻。

如果你喜欢嵌入式程序猿,欢迎推荐身边更多猿友加入。

嵌入式

程序猿

微信号:InterruptISR

嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。

【电机控制不得不学习的干货:】 飞思卡尔MCU正交编/解码器模块相关推荐

  1. 电机控制需要学习哪些课程

    电机控制需要学习以下课程: 1.电动机原理:了解电动机的工作原理,如动力学和电磁学原理. 2.电动机控制:学习如何控制电动机的转速,扭矩,方向等. 3.信号处理:了解如何处理和分析电动机的信号,如电压 ...

  2. 飞思卡尔(一)电源模块

    Ps:开始了几个月飞思卡尔的基础知识学习储备时间,基本硬件已经搭好,下面开始怒攻软件算法了~ 首先吐槽一会儿自己的心情,就我本人来说一直不把比赛当做比赛来看,不会给自己太大的压力,而是当做一次开心的经 ...

  3. 飞思卡尔单片机PLL时钟总线模块

    要设定PWM模块首先要确定片内总线时钟,MC9S12XS系列单片机增加了时钟产生器模块,锁定内部频率更高的压控振荡器VCO频率,作为系统时钟,单片机的内部时钟可达80MHz,片内总线时钟可达40MHz ...

  4. 飞思卡尔Kinetis芯片中NVIC模块的中断寄存器的介绍及其应用举例

    NVIC模块的中断寄存器简介 嵌套式向量中断控制器(NVIC)是Cortex内核不可分割的一部分,它与CPU紧密结合,可对系统异常和外设中断进行控制.如图1所示,NVIC右端连接到各个外围模块,负责对 ...

  5. 恩智浦+飞思卡尔后你需要知道的十件事

    这两年,半导体行业似乎进入了多事之秋,收购战此起彼伏.就在今年短短的3个月里,半导体行业并/收购案有:Avago Technologies 以 6 亿美金价格收购无线网络公司 Emulex Corp ...

  6. 闲聊飞思卡尔ADC模块

     因为 ADC 模块是各种控制比较重要的功能模块,基本的保护算法都要考 ADC 的采样数据来执行,所以 ADC 模块还是要熟练掌握,今天我们就来学习下飞思卡尔的ADC模块,如果有猿友使用过m ...

  7. 飞思卡尔MC9S12X PIT模块

    今天带着大家学习了解下飞思卡尔MC9S12XS PID模块. PIT模块概述 周期性中断定时器(Periodic Interrupt Timer,PIT)模块是一组24位的定时器,由8位微定时器和16 ...

  8. matlab计算abc三相短路电流_手把手教你做FOC电机控制MATLAB仿真

    一.整体结构及功能介绍用MATLAB2013以上版本打开文件,看到如图所示界面:可以看到仿真最外层由四个模块组成,电源模块(红色方框),电机与控制模块(蓝色方框),控制信号给定模块(黄色方框),信号分 ...

  9. 飞思卡尔智能车 电机PID

    提到小车的控制必然想到的PID控制,这也是各技术报告都不会漏掉的名词,在飞思卡尔XS128系列(二)PWM模块中已经提到了一些电机控制方面的东西,主要讲了用PID和BANG-BANG控制相结合的方式来 ...

最新文章

  1. 如何利用数据仓库优化数据分析?
  2. 使用Python和OpenCV检测图片上的条形码
  3. static在内存层面的作用_static的作用和内存划分?
  4. 2015.7.11js-10(无缝滚动)
  5. 系统I/O小程序-文件拷贝
  6. 5.Underfitting and Overfitting
  7. ffmpeg使用(多个帧合成视频)
  8. 3行Python代码采集B站(弹幕、评论、用户)数据
  9. VC编译器中混有.c文件时出现fatal error C1853错误(转)
  10. mongodb数据结构学习1--增删改查
  11. 1004 字符三角形
  12. Java——数据结构与算法
  13. CAD(2007)学习笔记
  14. 2021年北京高校数学建模校际联赛题目出版社图书印制策略解题论文及程序
  15. TF卡文件系统变RAW怎样解决
  16. 京东 京麦,京东商家后台自动登录,滑块验证selenium进入到from表单
  17. 在电脑中怎样画思维导图
  18. PageHelper 分页插件只用Page、不用PageInfo 的写法
  19. Matlab根据实验照片制作视频
  20. 大数据专业就业前景及就业方向

热门文章

  1. Halcon3D学习笔记
  2. vue基础v-moder修饰符( number, trim, lazy )
  3. 台式计算机按电源开关无法开机,台式电脑没法启动,按下开机键电源灯闪一下就什么反应都没...
  4. C++第3次实验(基础班)—选择结构程序设计(参考答案)-项目1:个人所得税计算器
  5. 一键重装微软官方系统
  6. 鸿蒙系统小米miui12,MIUI12系统
  7. 计算机组成原理中的单位uansuan,理想中的中式键盘与美式键盘的区别。
  8. La Salle-Pui Ching Programming Challenge 2017 Gym - 101522A,B,C,D,H,I,K
  9. ocz固态硬盘开卡工具_将我的Lenovo W500升级到OCZ Vertex 250GB SATA II固态磁盘(SSD)...
  10. 用Tkinter打造自己的Python IDE开发工具(7)变量数据共享机制及小白量化策略编写