编码器四倍频电路的单片机高速算法设计
2007年第11期
文章编号:1001—2265(2007)11—0073—02
・控制与检测・
编码器四倍频电路的单片机高速算法设计
王子博
(大连理工大学电子信息工程学院。辽宁大连116023)
摘要:文章针对增量式光电编码器输出信号的倍频鉴向处理问题,介绍了一种用单片机设计的编码器四倍额电路。通过分析软件倍频鉴向的原理,详细介绍了一种新颖的高速处理算法。该设计不仅电路简单,响应速度也比一般单片机设计方案大为提高。关键词:编码器;四倍频;单片机;高速算法中图分类号:TP273
文献标识码:A
MCU
FourfoldFrequencyCircuitDesignofEncoderBased
Oil
witllSpeedyArithmetic
WANGZi—bo
(CotlegeofElectronicEngineering,DalianUniversityofTechnology,LiaoningDalianll6023,China)
desi粤Iforphotoelectricencoderbased
011
Abstract:Thepaperintroducesthefourfoldfrequencycircuit
MCU.Analyzestheprincipleofoperation,andcapLainsthespeedyarithmeticparticularly.Thedesignisvery
simpleandthespeedisspeedierthancotnfflondesignbasedKeywords:encoder;fourfold
on
MCU.
frequency;MCU;speedy
calculation
0引言
增量式光电编码器是一种高精度的角位置测量传
来讲,用数字电路方案的,速度高,但硬件复杂;用单片机方案的,硬件较简单,但响应速度较低。本文提出的四倍频单片机设计方案,采用了独特的高速算法,结合功能先进速度快的AVR系列的单片机,具有硬件电路简单,并且响应速度高的双重优点。
感器,具有体积小、精度高、响应速度快、性能稳定等优
点,被广泛应用于数控机床、工业机器人等伺服控制系统中。对编码器输出信号的处理,是测控系统要解决的常见问题。
编码器通常有A相、B相、z信号等三路输出信号。z信号是一个代表零位的脉冲信号,可用于调零、对位。一般不须作额外处理。A、B相信号则包含了被
测对象的旋转方向、旋转角度等信息,通常要经过倍频
鉴向处理之后再进行有效利用。
编码器的A、B相输出信号如图1所示。A、B相信号是相位相差90。的正交方波脉冲串,每个脉冲代表被测对象旋转了一定的角度,A、B之间的相位关系则反映了被测对象的旋转方向。当A相超前B相,转动方向为正转,当B相超前A相,则为反转。对A、B相信号典型的处理是:将信号四倍频,并分离出正转脉冲P+与反转脉冲P一,再进行计数,最后得到被测对象的位置。倍频鉴向有多种方法,并且各具特色。概括
图l
编码器的A、B相输出信号及倍频鉴向后的正、反转脉冲输出
1倍频与鉴向原理
如图l所示,编码器正转时。AB相电平状态的变
化顺序为:00一10—1l枷l—00…;编码器反转时,变
化顺序为:00—叭一11一10—00…。用单片机编程实
现倍频与鉴向时,一般算法是:设定一个寄存器存放上次电平状态,一个寄存器存放本次电平状态,将两个寄存器进行比较,即可判断是正转还是反转。正转时输出正向脉冲,或者进行加计数;反转时,输出反向脉冲,或者进行减计数。再将本次电平状态存到上次电平状
收稿日期:2007—10—16
作者简介:王子博(1986一)。男,珏宁大连人,大连理工大学电子信息工程学院学生,(E—nmil)dlwd弓@163.cmu。
万方数据
・控制与检测・
态寄存器中,为下次处理作准备。按此算法设计的程序,由于判断比较指令较多,运行时间较长,因而导致
总体的响应速度较低。为了克服这一缺点,这里采用
了利用先后两个电平状态组成一个地址向量,进行程序散转的方法。这就去掉了繁琐的判断与比较,使运行时间大大缩短,从而使响应速度得到了提高。
组成散转地址的方法是:将所有的前一个AB电平状态作为散转地址的高2位,所有后一个AB电平状态作为散转地址的低2位,合在一起共4位,排列组合共有16种状态,或者说有16个地址。每个地址都对
应一种输出处理操作,见表1。其中00一11,01—10,
10—'0l,11堋这4种状态属于异常状态,是不应该出
现的,程序处理时将其忽略。
表1
AB相电平状态组合表
前一个AB相后一个AB相组成散转电平状态电平状志地址向量处理内容
(记为^080)
(记为AlBl)
(二进翩)
oooo0000状态无变化,不处理ooOl0001输出反转脉冲P—oo10
0010
输出正转脉冲P+00
Il
00ll
异常状态,不处理0l
000100输出正转脉冲P+0l01010l状态无变化.不处理0l10
01lO
异常状态.不处理0l11
011l
输出反转脉冲P—10001000输出反转脉冲P一100l100l
异常状态.不处理1010
1010状态无变化,不处理10
ll
10ll
输出正转脉冲P+ll∞
1100异常状态.不处理11
Ol1101输出正转脉冲P+ll
101110输出反转脉冲P—lJ
ll
lJl】
状态无变化,不处理
除了要有好的算法之外,指令还要有一定技巧,才能使程序更精简。程序流程见图2。
图2中,16个散转目标地址的处理程序,都按表1进行。虽然限于篇幅仅画出了3个,但不影响理解。每个目标地址的处理内容虽然都要占用一段程序,指令的总数比较多,但程序执行速度却加快很多。这种算法,实际上是采用了用程序容量来换取执行速度的思路。用AVR系列单片机汇编语言。从头到尾任何一个流程(包括子程序返回指令)最长只需要12条汇编指令,执行时间不到2tLs,可见其处理速度是相当快的。
2典型设计方案
对于检测控制一体的应用场合,例如用ATmega32等单片机实现位置检测,并完成定位输出功能的,可以
・74.
万
方数据组合机床与自动化加工技术
图2高速算法子程序流程图
采用AVR系列8引脚的单片机的ATtinyl3.结合ATtinyl3:罐。薹陡
Vcc
反荽譬鞫器嚣耀瓣
1
L_——矗4l油6脯信号
图3
ATtlnyl3接线图
由于Auinyl3单片机仅用于倍频鉴向,没有别的本文提出的高速算法,对任何一款(下转第78页)
采用外部中断的方案。AB两相信号可分别接到单片
机的两个外部中断输入口INTO与INTl上。中断方式设置为电平变化触发中断。即只要AB相电平状态发
生变化,就会触发中断。在中断程序中,采用上述高速算法进行处理。与上述不同的是,最后不需要输出正反转脉冲,而是正转时位置量加I,反转时位置量减I。
上述高速算法,可构成硬件电路非常简单的独立四倍频鉴向电路,见图3。图中的CD40106为施密特触发器,对信号进行整形处理,使整个电路更可靠。如果省略,电路将更简单。
任务,因此可采用反复循环扫描AB相电平状态的方式。Atfinyl3的典型主频是9,6MHz,采用上述高速算法,利用汇编语言编程,完成一次AB相电平状态扫描处理,只需不到2斗s的时间,相当于500kHz的响应速度。而Attinyl3单片机的价格约为5元,可见这是一个电路简单、成本低廉设计方案。而Attinyl3本身是一款高性能、高可靠的单片机,并且内含看门狗电路。经实用验证,该电路工作可靠,性能优良,是一款不可多得的优秀设计。
3结束语
・工艺与装备・
组合机床与自动化加工技术
加工中一&-r步排序原则,把生成的NC代码排序,生成
数控程序。为了提高编程效率,程序前后格式以固定格
式在系统中规定好,结果如下:
00001;N010
G92XOY0Z35:
N020T01M06:
N030C90GSOCA3COOZIO:N040¥600M03;
N050G99G81X30Y50Z一5R3F120:
N060
GSOCOOZ100;
图5选择加工方式界面
射成NC代码的参数值做准备,如图6和图7所示。
N430T11M06:
N440Z10s260M03:N450G99G84X30Y50Z一31R3P100F260:N460
GS0G00Z100;
N470M30;
4结论
本文基于特征技术开发了液压集成块数控编程原型软件系统。采用面向制造的特征映射技术,实现液压集成块单个设计特征的加工映射和代码映射,然后进行单特征规划,实现工步重组及排序,自动生成程序
图6确定刀具及切削参数界面
代码,用于数控机床加工。应用实例表明了本系统可快速生成液压集成块的NC加工代码。并便于工艺设计人员对NC程序进行人机交互式的快速、便捷地编辑和修改,系统既可以实现液压集成块NC加工代码的快速生成,又具有良好的适应性和可编辑性。
[参考文献]
【1]熊壮,喻道远,段正澄.液压集成块CAD/CAM系统的设计
与研究[J].华中理工大学学报,1999,27(8):27—29.[2]牛文铁,刘玲,高卫国.基于特征的液压集成块CAPP系统
建模[J].天津大学学报,2007,40(5).
[3]陆兵.H型锶数控火焰切割机床数控编程系统的开发[J].
图7确定加工参数界面
机床与液压.2005(3):77—78.(4)NC代码的生成与排序:根据前面对特征的选[4]FeinetD,D嘲“P,C,endreau
M.Travelingsalesmanproblems
取,并设定加工方法以确定相应的G代码,以及设定相withprofits.TrarmportationScience[J].2005,39(2):188—
应代码的参数值后,映射成NC代码及参数值。根据
205.
(编辑赵蓉)
(上接第74页)单片机都是有效的。由于指令少速度计【J].机械与电子,2006(12):9—11.
快,即使对运行速较慢的51系列单片机,也可以取得[2】韩壮志,李伟,王田苗,等.光电码盘四倍频分析[J].电子
较好的效果。对采用单片机进行四倍频鉴向的设计,技术应用,2000(12):38一加.
具有很好的参考价值。
[3]王立锦,刘亚东.焦让,等,磁旋转编码器四倍频电路分析
与集成化设计[J】.电子器件,2005(6):358—360.[参考文献]
[4]AtmelCorporation.ATtinyl3数据手册[S】.1997.
[1]许理,赵英俊.基于单片机的增量式光电编码嚣接口的设
(编辑李秀敏)
・78・
万
方数据
编码器四倍频电路的单片机高速算法设计
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
王子博, WANG Zi-bo
大连理工大学,电子信息工程学院,辽宁,大连,116023
组合机床与自动化加工技术
MODULAR MACHINE TOOL & AUTOMATIC MANUFACTURING TECHNIQUE2007,(11)0次
参考文献(4条)
1. 许理. 赵英俊 基于单片机的增量式光电编码器接口的设计[期刊论文]-机械与电子 2006(12)2. 韩壮志. 李伟. 王田苗 光电码盘四倍频分析[期刊论文]-电子技术应用 2000(12)
3. 王立锦. 刘亚东. 焦让 磁旋转编码器四倍频电路分析与集成化设计[期刊论文]-电子器件 2005(06)4. Atmel Corporation ATtiny13数据手册 1997
相似文献(10条)
1.期刊论文 刘飞龙. 裴海龙 光电脉冲编码器四倍频电路的实现及其应用 -自动化仪表2000,21(9)
就光电编码器的实际应用问题及解决方法,提出并设计了一套适用于精度要求较高的位移检测方法及实现电路,文末以欠驱动机器臂的控制为例,介绍其具体应用.
2.会议论文 刘飞龙. 裴海龙 光电脉冲编码器四倍频电路的实现及其在欠驱动Pendubot机器臂中的应用 2000
该文主要研究光电编码器的实际中的应用问题及解决方法,提出并设计了一套适合于精度要求较高的应用环境的高精度位移检测方法及实现电路,此电路在实际应用中效果非常好。
3.期刊论文 马利. 马技. 牛斌. MA Li. MA Ji. NIU Bin 基于FPGA的光电编码器电路抗干扰设计 -辽宁大学学报(自然科学版)2010,37(3)
为了减少光电编码器在电磁干扰和机械振动的情况下容易出现的计数错误,提出了一种基于FPGA的光电编码器抗干扰电路设计.应用VHDL语言对光电编码器电路进行描述,加入分频模块、滤波模块提高电路抗干扰性能,并对四倍频电路和计数电路进行了改进,给出了时序仿真图和资源使用情况.应用结果表明系统的抗干扰设计效果良好,提高了系统可靠性.
4.期刊论文 段海滨. 王道波. 黄向华 光电轴角编码器在飞行仿真伺服系统中的应用 -传感器技术2004,23(5)
介绍了一种将光电轴角编码器用于飞行仿真伺服系统设计的新方案,并给出了系统的实现方法.阐述了光电轴角编码器的编码解算原理,研究设计了一种四倍频判向调理电路,飞行仿真伺服控制系统整体结构采用三闭环控制.实验测试结果表明:设计的光电轴角编码器及其四倍频判向调理方案的伺服系统具有控制精度高、稳定性好、鲁棒性强等优点.
5.期刊论文 张黎军. 王颖. 李烽 实用光栅编码器接口电路 -传感器世界2002,8(3)
本文介绍了一种实用的光栅编码器接口电路,对编码器给出的A、B双相脉冲进行四倍频电子细分,并产生出适合不同计数器使用的方向辨别逻辑信号.与传统方式相比,本电路有较好的抗干扰能力.
6.期刊论文 廖永忠. 廖亦凡. LIAO Yong-zhong. LiaoYi-fan 基于FPGA的编码器信号处理的电路设计与实现 -湖南第一师范学报2007,7(2)
一种基于FPGA的四轴伺服编码信号处理电路,采用FPGA来实现四轴伺服编码信号处理电路,完成位置伺服控制系统的位置的测量与反馈.实验结果表明,这种四轴编码信号处理电路具有结构简单、可靠性高、抗干扰能力强的优点.
7.期刊论文 刘玉凤. 刘学军. LIU Yu-feng. LIU Xue-jun 基于增量式光电编码器的电机测速研究 -机械与电子2010(10)
基于增量式光电编码器工作原理,提出变M/T法,实现对电机速度检测.仿真实验表明该方案简单,易于实现,且测量准确度高,实时性好.
8.期刊论文 庄肖波. 王歆. ZHUANG Xiao-bo. WANG Xin 基于FPGA的编码器倍频-鉴相电路 -微计算机信息2008,24(32)
光电轴角编码器,又称光电角位置传感器,是电气传动系统中用来测量电动机转速和转子位置的核心部件.文章分析光电编码器四倍频原理,提出了一种基于可编程逻辑器件FPGA对光电编码器输出信号倍频、鉴相、计数的具体方法,它对提高编码器分辨率与实现高精度、高稳定性的信号检测及位置伺服控制具有一定的现实意义.
9.期刊论文 韩党群. 肖军. HAN Dang-qun. XIAO Jun 基于状态机描述的光电编码器四倍频电路设计 -西安航空技术高等专科学校学报2008,26(5)
为了提高增量式正交光电编码器的检测精度,提出了基于状态机描述的增量式正交脉冲编码器输出信号四倍频电路的设计方法,给出相应的VHDL语言描述与仿真结果,并在实际的工程应用中验证了其正确性和有效性.
10.期刊论文 张宇. 闵子建. 陈庆永. 郑鹉. ZHANG Yu. MIN Zi-jian. CHEN Qing-yong. ZHENG wu 磁旋转编码器在汽车测速系统中的应用 -仪表技术与传感器2008(9)
简要论述了汽车电子系统对传感器的要求,并介绍了磁性编码器的工作原理和性能特点.设计出一种采用新的高电阻率NiFeCr作为缓冲层的坡莫合金薄膜,并将此磁薄膜作为汽车的测速传感器.系统具有结构简单、抗恶劣环境、高速响应、成本低和可靠性高的特点.保证汽车在行驶中准确、可靠地测速.
本文链接:http://d.g.wanfangdata.com.cn/Periodical_zhjc200711022.aspx
授权使用:菏泽学院图书馆(hzxytsg),授权号:f6e95ff0-c769-4dde-a4a0-9e8b00b99275
下载时间:2011年2月15日