怎样通过硬件电路实现增量式光电编码器辨向电路的计数鉴向?电路图怎么画?

基于 FPGA 的光电编码器快速运算电路设计 刘燕 (西北工业大学明德学院) 摘要:随着光电编码器的不断发展和其应用的广泛,它的位置检测系统的动态性能指标也越来越高,这就要求良好的实现光电编码器的快速运算。本系统的目 的是基于 FPGA 设计一个实现六十进制压缩 BCD 码加减运算的电路应用到光电编 码器中,从而实现光电编码器的快速运算,提升位置检测系统的动态性能指标。 光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉 冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光 电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。 由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发 光二极管等电子元件组成的检测装置检测输出若干脉冲信号,其原理示意图如 图 2-1 所示;通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的 转速。此外,为判断旋转方向,码盘还可提供相位相差 90?的两路脉冲信号。根 据检测原理,编码器可分为光学式、磁式、感应式和电容式。根据其刻度方法 及信号输出形式,可分为增量式、绝对式以及混合式三种。 同时,随着电子设计技术的飞速发展,现场可编程逻辑门阵列(FPGA)的复杂 程度越来越高,其所具备的功能也越来越多,芯片也向小型化发展,逐步成为 复杂数字硬件电路设计的首选。FPGA/CPLD 既继承了 ASIC 的大规模、高集成度、 高可靠性的优点、又克服了普通 ASIC 设计周期长、投资大、灵活性差的缺点。 FPGA 的集成度很高,可完成极其复杂的时序和组合逻辑电路功能。系统就是基 于 FPGAD 芯片实现六十进制压缩 BCD 码加减运算功能。 1 软件设计 1.1 计算原理 系统主要实现六十进制压缩 BCD 码的加减运算的算法,即:根据一个度数 A 的变化量来对另一个度数 B 实现同样的变化,并输出 B 变化后的值,从而实现 光电编码器的快速运算,提升位置检测系统的动态性能指标。具体如图 1 所示, 即 B 随 A 变化而变化,当 A 变化到 A’时,B 变化到 B’ ,A 与 B 的变化量相等, 即 A 与 B 相差的度数始终相等。1 本程序采用分别对度、分、秒分别进行运算的办法,流程如图 2 所示。 第一步:实现对输入数据的转换,即从压缩 BCD 码转化为二进制码。 第二步:计算部分。本程序采用对度、分、秒分别进行运算的办法,三者 之间存在进位、借位信号 c2、c3、c4、c5,其中 c2、c3 分别为 A、B 初始值做 差时 A 度分秒各部分间的进位、借位信号,c4、c5 分别为 B 变化后的值 C 的各 部分间的进位、借位信号。 第三步:实现把运算结果从二进制码转化为压缩 BCD 码。1.2 算法实现算法流程图如图 3: 第一步:当时钟 clk 为上升沿时,把输入的压缩 BCD 码转换为二进制码; 第二步:当 reset 有效时,置入 A 与 B 的初始值; 第三步:当 load 有效时,开始计算变化量; 第四步:把变化后的 B 变为压缩 BCD 码 C; 第五步:由于本电路时钟频率为 5MHz,输入数据的频率约为 200us。为减 小毛刺设计一个 300 的计数器与一个锁存器,使输出效果更佳。具体为每当计 完 300 个数时,输出一次程序的运算结果。2 第六步:设计锁存器,当计数器计完 300 后输出 C。 1.3 压缩 BCD 码向二进制的转换 以度部分为例: 算法思路:个位+十位*10+百位*100 主要程序实现如下: Q00:=&00&&(Q(9 downto 8)*&1100100&+Q(7 downto 4)*&1010&+Q(3 downto 0)); 1.4 计算 B 变化后的值 C 以分部分为例: 算法思路: 第一步:计算初始值 A00、B00 的差量 e,e=A00-B00-c2,其中 c2 为 A 的 秒部分的进位或借位信号,若 e 为负则自加 60,并输出借位给 A 的度部分; 第二步:计算变化后的 B 值 C,C=A0+e+c4,其中 A0 为变化后的 A 值,c4 为 C 秒部分的进位或借位信号; 第三步:判断输出 C 是否大于 60,若大于活等于 60 就输出进位给 C 的度部 分,并自减 60 输出结果 C。1.5 二进制向压缩 BCD 码的转换这一部分采用循环减的办法,以 C 的度部分为例: 第一步:判断 C 是否小于 10,若小于则对 C 循环减 10,直到 C 小于 10 为 止,C 减完后的值为个位数; 第二步:对第一步中减的次数 n2 再进行循环减 10,n2 减完后的值为十位 数; 第三步:第二步中减的次数 n1 为百位数。2 结果分析3 2.1 软件仿真结果图 5-1 BCD 码仿真波形5-2 压缩 BCD 码仿真结果 图 5-1、5-2 为当 A 初值为 0,B 为 359°59′57″时,A 逐次增加 1″,输 出结果 C 的变化过程。为方便检查和观看,如图 5-1 中为 A、B、C 为未压缩 BCD4 码的仿真结果。如图 5-2 中为 A、B、C 为未压缩 BCD 码的仿真结果。 由图 5-1、5-2 可以看出,当 A 初值为 0,B 为 359°59′57″时,A 逐次增 加 1″,输出结果 C 的变化过程为由初值 0 变为 359°59′58″,以后顺次变为 359°59′59″、0、1″…,由结果可验证程序的正确性。2.2 硬件调试与结果验证硬件验证就是将编译、综合生成的下载文件下载到指定的 CPLD 芯片上, 然后进行硬件验证。 本项目通过一个转盘改变原始输入数据 A, 并用数码管显示 出数据 A,各输入数据、时钟、功能信号都由插头输入,输出数据 C 也由插头 输出,并用数码管显示出数据 C。 当数据 A 输入为 0°,B 为 359°59′59″,reset 为高电平,load 为高电平 时,输出显示保持上一数据;当 A 变为 1″,reset 变为低电平,输出显示 0°; 当 load 变为低电平,输出显示 A 的值 1″。 根据实验数据,验证了该电路功能的正确性与可靠性,达到了预期项目要 求,实现了基于 CPLD 实现六十进制压缩 BCD 码加减运算功能。3 不足之处与改进本电路的时钟频率为 5MHz,时钟频率约为数据 A 更新频率的 1000 倍,当数 据 A 的更新频率与时钟频率较接近时,会出现进位滞后的情况,如图 5-2 所示: 由图 5-3 可知,当 A 初值为 0,B 为 359°59′57″时,A 逐次增加 1″,输 出结果 C 的变化过程为由初值 0 变为 359°59′58″,以后顺次变为 359°59′ 59″、359°59′00″、359°00′01″、2″、3″…,可见从 3595959 不能直 接变到 0000000,直到 0000002 才恢复正确值,在 3595959 与 0000002 之间应该 存在的两个数为 00001 实际为 90001,这里可以看出 359°59′59″到 0°中间存在两次进位,每次进位滞后一个时钟周期引起的, 根本原因是由于,数据更新相对较快,接近时钟 clk 的频率,在一个时钟周期 内计算不完全,从而导致了进位滞后的现象。5 图 5-3 进位滞后波形 可用分频的方法实现进位的同步,比如:秒、分、度分别采用时钟频率的 二分频、四分频、八分频。 也可使用秒、分、度各自的计算部分占不同时钟段的方法解决,比如:秒 部分从时钟上升沿开始计算,分部分从时钟三分之一周期处开始计算,度部分 从时钟三分之二处开始计算。参考文献[1]王诚.Altera FPGA/CPLD 设计[M]. 北京:人民邮电出版社,2005.[2] 吴凡.高精度绝对式光电轴角编码器高质量光电信号的提取方法:[硕士学位论文]. 成 都:电子科技大学 2001 [3] 方艳辉.增量式编码器全数字量相加技术的研究:[硕士学位论文].长春:中国科学院 长春光学精密机械与物理研究所 2005 [4] 周志炜.基于 FPGA 的多路光电编码器数据采集系统:[硕士学位论文].哈尔滨:哈尔滨 工业大学 2006 [5] 俞芳.基于 CPLDFPGA 的 IP 核设计:[硕士学位论文].苏州: 苏州大学 2005 [6] 王蕾.基于 FPGA 的数据传输系统基带处理单元的设计:[硕士学位论文]. 哈尔滨:哈6 尔滨工业大学 2006 [7 李宗伯,王蓉晖,王蕾.VHDL 设计表示和综合「M].北京:机械工业出版社,] Victor P.Nelson, H.TroyNagle, Bill D.Carroll, J.David Irwin. DIGITAL LOGIC CIRCUIT ANALYSIS&DESIGN[M].北京:清华大学出版社,] John F. Wakerly. DIGIT-Principles and Practices[M].北京:高等教育出版社,2001文章标题 作者单位 毕业院校 作者姓名 性别 出生年 E-mail 邮 编 刘燕 女 1983基于 FPGA 的光电编码器快速运算电路设计 西北工业大学明德学院 中国科学院西安光学精密机械研究所 研究方向 职称 学历 联系电话 手 机 光电信号处理 助教 硕士 029-ly_ 710124通信地址西安市长安区西工大明德学院7
赞助商链接豆丁微信公众号
君,已阅读到文档的结尾了呢~~
基于单片机的增量式光电编码器接口的设计,增量式光电编码器,增量式光电编码器原理,增量式光电旋转编码器,单片机编码器,旋转编码器 单片机,旋转编码器与单片机,光电编码器,增量式编码器,增量编码器
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于单片机的增量式光电编码器接口的设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口基于FPGA增量式编码器的接口设计与实现
> 基于FPGA增量式编码器的接口设计与实现
基于FPGA增量式编码器的接口设计与实现
摘要 光电,又称光电角位置传感器,是电气传动系统中用来测量电动机转速和转子位置的核心部件。分析了光电编码器4倍频原理,提出了一种基于可缟程逻辑器件对光电输出信号4倍频、鉴相、计数的具体方法,它对提高编码器分辨率与实现高精度、高稳定性的信号检测及位置伺服控制具有一定的现实意义。经实际项目论证,该方案在保证测量精度的前提下,可以有效滤除噪声干扰和消除抖动,增强了系统的干扰抑制和容错能力,可移植性强,便于系统升级。关键词 ;增量式光电编码器;4倍频;鉴相 光电编码器在现代电机控制系统中常用以检测转子的位置与速度,是通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的高精度角位置测量传感器。由于其具有分辨率高、响应速度快、体积小、输出稳定等特点,被广泛应用于电机伺服控制系统中。 编码器按信号输出形式分为绝对式编码器和。绝对式光电编码器具有输出数字量可与PC机、ARM或等器件直接接口,无累积误差等优点,但价格高、制造工艺复杂,不宜实现小型化。增量式光电编码器不具有计数和接口电路,一般输出A、B、Z脉冲信号,价格较低,在实际工程中比较常用。 文中设计了一个基于FPGA的简单且精度高的接口电路,其结构简单、性能可靠。具有滤波、硬件辨向、4倍频计数和数据锁存等功能。计数结果以并口输出,可与PC机、ARM或FPGA等部件进行并行通信。同时在并口之前,用锁存电路来消除硬件电路延时所可能引起韵计数错误,减轻了后续微机的负担,可提高被控对象的测量和控制精度。1 4倍频电路设计原理 增量式光电编码器实际是一种旋转式角位移检测装置,它根据轴所转过的角度,输出一系列脉冲,能将机械转角变换成电脉冲,输出信号如图1所示。A、B两相信号是相位相差90&的正交方波脉冲串,每个脉冲代表被测对象旋转了一定的角度,A、B之间的相位关系则反映了被测对象的旋转方向,即当A相超前B相,转动方向为正转;当B相超前A相,转动方向为反转。Z信号是一个代表零位的脉冲信号,可用于调零、对位和重置计数器。本文引用地址: 对于每个确定的编码器,每转过固定角位移&,就对应一个脉冲信号,故其量化误差为&/2。若将A或B信号4倍频,则在此&角位移内,就会产生4个脉冲信号,其量化误差下降为0/8,光电编码器的角位移测量精度提高4倍。由于伺服系统中编码器的转速具有不可预见性,造成脉冲周期r具有不确定的特点,从而无法使用锁相环等常用倍频方案。由图1可知,在脉冲周期内,A、B两相信号共产生4次变化,尽管T不确定,但由于A、B两相方波信号之间相位关系确定,使这4次变化在相位上平均分布。如果利用这4次变化产生4倍频信号,则可以实现光电编码器测量精度的提高。 分析发现,4倍频设计的关键在于鉴别出A、B信号的上升沿和下降沿。输入信号与其延时信号异或后,就可得到倍频信号。2 接口电路的FPGA总体方案及设计实现 光电编码器的可靠性与精度直接决定了控制系统的可靠性与控制精度。控制系统精度不会高于检测元件的精度,也就是说检测元件的误差是决定控制系统稳态误差的关键,这种误差也是控制系统无法克服的。因此,选择和设计高精度的光电编码器固然重要,但后续电路对光电编码器输出脉冲的处理精度也不容忽视。因此,一方面要选择精度高的光电编码器;另一方面要重视对光电编码器输出脉冲的处理,传统的处理方法有3种:(1)通过74LS193、74LS171、RC等搭建一个硬件电路实现脉冲的倍频和鉴相的判断。(2)直接将光电编码器的A、B信号送至微处理器,进行纯软件的倍频和鉴相的判别。(3)通过硬件电路和软件结合的方法进行光电编码器脉冲的处理,一般是指上述两种方法的结合。
脉冲点火器相关文章:
分享给小伙伴们:
我来说两句……
微信公众号二
微信公众号一增量式编码器,方向判断的相位如何来用硬件电路检测?
[问题点数:100分,无满意结帖,结帖人dwyaneyywade]
增量式编码器,方向判断的相位如何来用硬件电路检测?
[问题点数:100分,无满意结帖,结帖人dwyaneyywade]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2015年9月 VC/MFC大版内专家分月排行榜第二2015年7月 硬件/嵌入开发大版内专家分月排行榜第二2014年5月 VC/MFC大版内专家分月排行榜第二2014年3月 VC/MFC大版内专家分月排行榜第二2013年10月 VB大版内专家分月排行榜第二2013年7月 VB大版内专家分月排行榜第二2012年5月 VB大版内专家分月排行榜第二2012年4月 VB大版内专家分月排行榜第二2012年2月 VB大版内专家分月排行榜第二2011年11月 VB大版内专家分月排行榜第二
2015年11月 VC/MFC大版内专家分月排行榜第三2015年6月 VC/MFC大版内专家分月排行榜第三2015年2月 VC/MFC大版内专家分月排行榜第三2014年1月 VC/MFC大版内专家分月排行榜第三2012年3月 VB大版内专家分月排行榜第三2011年12月 VB大版内专家分月排行榜第三2011年10月 VB大版内专家分月排行榜第三
2015年9月 VC/MFC大版内专家分月排行榜第二2015年7月 硬件/嵌入开发大版内专家分月排行榜第二2014年5月 VC/MFC大版内专家分月排行榜第二2014年3月 VC/MFC大版内专家分月排行榜第二2013年10月 VB大版内专家分月排行榜第二2013年7月 VB大版内专家分月排行榜第二2012年5月 VB大版内专家分月排行榜第二2012年4月 VB大版内专家分月排行榜第二2012年2月 VB大版内专家分月排行榜第二2011年11月 VB大版内专家分月排行榜第二
2015年11月 VC/MFC大版内专家分月排行榜第三2015年6月 VC/MFC大版内专家分月排行榜第三2015年2月 VC/MFC大版内专家分月排行榜第三2014年1月 VC/MFC大版内专家分月排行榜第三2012年3月 VB大版内专家分月排行榜第三2011年12月 VB大版内专家分月排行榜第三2011年10月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|

我要回帖

更多关于 光电编码器电路 的文章

 

随机推荐