易购彩

  • <tr id='OzPAnP'><strong id='OzPAnP'></strong><small id='OzPAnP'></small><button id='OzPAnP'></button><li id='OzPAnP'><noscript id='OzPAnP'><big id='OzPAnP'></big><dt id='OzPAnP'></dt></noscript></li></tr><ol id='OzPAnP'><option id='OzPAnP'><table id='OzPAnP'><blockquote id='OzPAnP'><tbody id='OzPAnP'></tbody></blockquote></table></option></ol><u id='OzPAnP'></u><kbd id='OzPAnP'><kbd id='OzPAnP'></kbd></kbd>

    <code id='OzPAnP'><strong id='OzPAnP'></strong></code>

    <fieldset id='OzPAnP'></fieldset>
          <span id='OzPAnP'></span>

              <ins id='OzPAnP'></ins>
              <acronym id='OzPAnP'><em id='OzPAnP'></em><td id='OzPAnP'><div id='OzPAnP'></div></td></acronym><address id='OzPAnP'><big id='OzPAnP'><big id='OzPAnP'></big><legend id='OzPAnP'></legend></big></address>

              <i id='OzPAnP'><div id='OzPAnP'><ins id='OzPAnP'></ins></div></i>
              <i id='OzPAnP'></i>
            1. <dl id='OzPAnP'></dl>
              1. <blockquote id='OzPAnP'><q id='OzPAnP'><noscript id='OzPAnP'></noscript><dt id='OzPAnP'></dt></q></blockquote><noframes id='OzPAnP'><i id='OzPAnP'></i>

                技术支持Technical

                如何设计基于ARM的旋转编码器采集模块

                时间:2016-12-02     作者:


                随着工业生产自动化水平的提高,各种传感器的应√用也越来越多。旋转编码器作为速度♀和位移反馈的传感器,主要应用于数控机床、高精度的闭环调速系统、伺服电动机、异步电动机、步进¤电动机、电梯曳引机、电梯门机乃至机械轴等需要对运动速度和■位移信息反馈的自动化控制场合,以保证机械的高精度稳定√运转,进而提高生产效率和保障安全运营。 本文针对旋转编码器在工业现场中的应用,基于LPCI768硬件平台,设计出一种旋转编码器采集模块,该模块内部具有高精度≡分析、整形、解码电路,可同时对2路编码器输入信号进行▓分析、解码。

                 

                经过处理的旋转信号通过高性能处理器进行采集及数字滤波。旋转编码器同时△还对2路编码器信号▼进行角速度计算,最终模块通过CAN总线将采集到的旋转位置值以及角速度值发送到DPU(分散处理单元),以供工业⊙现场使用。

                 

                1 旋转编码器

                旋转编码器是一种测量转动部件运动情@况的传感器,是将】旋转的机械位移量转换为电气信号,对该信号进行处理后检测位置、速度等的传感器。所谓编码,其实就是将旋转角度的信息转换为单片机★可读的电信号的过程。旋转ξ 编码器根据工作原理可以分为接触式、光⊙电式和电磁式三种}根据输出信号的形式又可以分为增量式和绝对值两种,其中增量式编码器是工∩业中最常用的编码器。

                 

                增量编码器包括码盘、发光元件、接收元件和信号处理部分。当轴旋转时带动码盘旋转,这样刻线处透光,问隔处不透光,透过的光被接★收元件接收并输入到信号处理部分,产生脉冲信号输出,输出信》号一般包括A、B两相(相位差90°),有些编码器◣每转一圈还会输出一个零位脉冲Z,作为机械参考零位。当主轴以顺时针方向旋转时,A通道信号位于ㄨB通道之前;当主轴▃逆时针旋转时,A通道信号则位于 B通道之后,从而可以由此判断主轴是正转还是反转。

                 

                2 CAN总线

                CAN总线(Controller Area Network),即控制器局域网,是国际上应用最广泛的现场总线╱之一。CAN总线最初是德△国Bosch公司于1983年为汽车应用而开发的,它是一种能有效支持分布式控制和实时控制的串行通讯网络,属于现场●总线(Field Bus)的范畴n]。随着CAN总线的不断完善●和发展,它目前已被国际化标准组织采纳为国际标准。

                 

                CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有『较高的位速率和高@抗干扰性,而且能够检测出产生的任何错误。信号传输距离达到10 km时,仍然可提供高达5kb/s的数♀据传输速率。CAN协议经lSO标准︽化后有IS011898标准和IS011519标准两种。它们两者ξ 的区别在于对物理层的定义不同。ISOll898是通信速度♀为125 kb/s---1 Mb/s的CAN高速通信标准,而ISOll519是通信速度为125 kb/s以下的CAN低速通信标准。

                 

                3 硬件设计

                根据系统功能需求,本文选用NXP公司生产▲的LPCI768处理器,该处理器是一款基于ARMCortex--M3内核的32位处理器,它具有3流水线和哈佛结◣构,带独立的本地指令和数据总线↘以及用于外设的稍微低性能的第三条总线,同时还包含一个支持随机跣转的内部预取指单╲元,工作频率可达100MHz。LPCI768处理器的外设组件包含高达512 kB的Flash存储器、64 kB的数据存储器、4个通用〒定时器、8通道的12位ADC、10位DAC、电机控制PWM、4个UART、2条CAN通道、带独№立电池供电的超低功耗 RTC和多达70个的通用I/0管脚.图1为旋转编码器采▅集模块总体框图。

                 

                3.1 CPU部分

                由芯片手册可知,LPCI768可以选择内部RC振荡器卐或者主振荡器作为系统时钟源,而╱由于内部RC振荡器精度无法满足CAN总线通讯的要求,而◆主振荡器可以工作的频率范围为1 MHz~25 MHz,故选取12 MHz的晶振加♂上22 pF的↙电容构成Pierce振荡器,作为→主振荡器的时钟源。由于本系统未使用芯片的A/D模块,故VDDA可以跟VDD一起连接到3.3V,每对VDD、 GND引脚间需连接』一个0.1uF的去耦电容。同时JTAG及通讯引脚均通过10k的上拉电Ψ 阻连接到VDD,以提高信号〓传输的稳定性。  

                8bafb6413b7be6bfd53c3d82f70da477.jpg  

                3.2 旋转编码器采集部分

                旋转编码器应用︽于角度定位或测量时,由于旋转轴的晃动可能引起编码器输出波形的抖动,从而引发↓误计数现象,在这种情况下∏就不能对波形进行正确计数,本系统通过一个单稳态触发器来消除旋转编码器输出脉冲信号的抖动。图2为∞旋转编码器采集电路中的一路。

                 

                29799ba1aa75a5e172448f216fc7677d.jpg

                 

                3.3 CAN总线通①讯部分

                LPC1768处理器支持CAN 2.0B规范,兼容IS011898-1标准,基于此,本文选取飞利浦半导体公司生产的PCA82C250芯片作为CAN总线收发器,通讯匹配电阻选取120 ,i1,CAN收发器电路见图╲4。

                e1447877e99ee16b143191b37c59208a.jpg

                 

                3.4 电源部分

                LPC1768工作电压为3. 3 V,而CAN收发器及旋转编码器采集电路部分电压为5 V,所以先◇使用MC33063将输人电压〓降到5V,供相关电路№使用,然后再通过LM1117-3.3V将5V电压降到3.3V,作为处理器工作电压。电源电路▆见图5。

                3387a4e4d1fbc130b18420741f8f95cc.jpg

                 

                4 软件设计

                系统采用RealView MDK-ARM V4.10为开发平台,以C语言为主要开发语言,程序主要分三个部分:旋转编码器采集部分采用中断方式,通过LPC1768的定时捕◇获单元来完成对输人脉冲信号的计数工作;CAN通讯部分也采用中断方式监听来自DPU或者其他控制主机传来的命令,然后执行相应的数据传送任务;而主程序则通过一定的时间调度⌒算法,完成旋转编码器转动方向的判断、角速度的计算以及设置相应的指示灯状态、处理CAN通讯过程中出现的异常ζ状况、喂狗等操Ψ 作。主程序流程图见〖图6。

                eb043abc1f073c862507dceacb98321f.jpg

                 

                5 结论

                本文设计完成的旋转编码器采集模块,适用于各类工业控制现场,具有较广的应用前景。经实验室初步验证并应用于某♀工业现场测试,该模块对旋转编码器输人信号处理结果满足用户要求,并且能够可靠地与现场控制系统进行通讯,工作∞性能稳定,具有很强的抗千扰ぷ能力和很高的安全性。