光电编码器范文

时间:2023-03-07 20:55:10

光电编码器

光电编码器范文第1篇

关键词:光电编码器;原理;小车速度

中图分类号:TB 文献标识码:A 文章编号:1672-3198(2011)04-0281-01

1、光电编码器的分类概述

光电编码器分为增量式和绝对式两种类别。其中,增量式光电编码器具有体积小、结构简单、精度高、价格低、性能稳定、影响速度快等优点,因此,相比于绝对式光电编码器具有更为广泛的应用。在大量程角速度、大量程角位移和高分辨率的系统当中,增量式光电编码器的优势得到了更为充分的体现。这样的装置成本高、结构复杂。

2、光电编码器的工作原理分析

2.1增量式光电编码器工作原理分析

增量式光电编码器是由主码盘、光学系统、鉴向盘和光电变换器构成的,在主码盘的周边刻有相等节距的辐射状窄缝,形成分布均匀的不透明区和透明区。当工作时,鉴向盘保持静止,转轴和主码盘一同转动,这时光源发出的光就投射于鉴向盘和主码盘上,通过光敏原件的作用,将这种光信号转变成为脉冲信号,通过对脉冲信号的处理,向数控系统输出另一种脉冲信号,进而在数码管上直接显示出所测的位移量。

2.2绝对式光电编码器工作原理分析

绝对式光电编码器是将被测角度通过对编码盘上图案信息的读取,直接转化成为相应的代码检测元件。绝对式光电编码器的编码盘有接触式、光电式和电磁式三种。光电元件通过接收不同码盘位置所产生的光信号,将其转化为相应的电信号,后经过整形放大,最终形成相应的数码电信号。

3、光电编码器测量小车速度

3.1光电编码器测量小车速度的原理

光电编码器是由一个红外发射接受装置和一个码盘构成。当红外光由发射器射出,射于黑色条纹上时,将被间断地反射于接收器上,在接收器的输入端会受到通轮子转速为正比关系的光脉冲信号,进而在接收器的输出端形成具有一定频率的电信号。再利用微处理器对电脉冲进行计算,就可以得到小车的移动速度。其中小车行驶距离L的表达式为:L=πD/n*nx公式中n为码盘上黑白条纹的个数;D为驱动轮的外径,nx为实际测量中电脉冲政府跳变的次数。小车的行驶速度V的计算表达式为V=L/t,公式中,t表示时间。

3.2光电编码器测量小车速度的操作

本案例中采用绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码道,每条道上由透光和不透光的扇形区相问组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数,在码盘的一侧是光源,另一侧对应每一码道有一光敏元件;当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。这种编码器的特点是不要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码。显然,码道越多,分辨率就越高,对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。

首先,选用专门用于用于控制轮式机器人的Handy-board主板和内置光敏集成电路和红外线发射管的P8557红外传感器。在驱动轮上贴32道黑白条纹的圆形码盘,驱动轮轴和码盘的圆心重合,在码盘表面的2mm处进行红外传感器的固定,从而构成反射式增量编码器;其次,执行四次LCD中断程序和一次检测程序。当心中断的程序进行调入时,将TOC4圆心的矢量中断入口地址转嫁于新终端程序。在执行程序时,先执行中断程序,后执行编码器原中断程序;最后,驱动程序采用中断的插入方式,使用中断始终TOC4执行计数。在中断程序调入之后,先进行中断程序的初始化,随即插入编码器相位的中断程序。在执行主中断程序时,先调试编码器状态,然后对编码器进行取样,将取样的编码器状态存入于寄存器当中,再将寄存器调试到上一次的编码器相位取样状态。最后,执行累加操作。对操作中的数据进行统计,将数据带人小车行驶路程L的公式当中,求出L,后根据时间,直接带人到小车行驶的速度V公式当中,进而用光电编码器对小车速度的测量。

4、结 语

光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。用光电编码器对小车的速度进行测量虽然能够实现,但是受限于传感器精度和小车自身的机械精度等因素的影响,测量结果存在一些误差。因此,在进行小车速度的测量时,为减小误差,应进行多次测量,取平均值,使得最后的结果更加趋近于正确值。

参考文献:

[1]姜义,光电编码器的原理与应用,机床电器,2010,(2)

[2]王俭,轮式智能小车行驶距离和速度的检测[J],计算与预测,2005,(7)

光电编码器范文第2篇

关键词:增量光电编码器;车速检测;速度控制器;ATmegA128

中图分类号:TN98 文献标识码:A 文章编号:2095-1302(2013)04-0016-04

0 引 言

在智能小车运动控制中,车速是电机控制中的一个重要物理量,车速检测装置是系统的重要组成部分。目前,国内外常用的测量车速的方法有离心式转速表测速法、微电机测速法、光电码盘测速法以及霍尔元件测速法。离心式转速表和微电机测速都要与电机同轴连接,增加了电机机组安装难度,消耗了电机的功率。霍尔元件和增量式光电码盘的测速方法基本类似,都是在转轴上安装一个很轻巧的传感器,将电机的转动信号通过霍尔元件或光电码盘转换为电脉冲,从而通过计算电脉冲的个数来测速。其中,霍尔元件测量精度相对较低,因此高效率车速传感器都采用编码器,有分辨率高、结构简单、体积小、响应速度快、耐恶劣环境、工作可靠、易于维护、性价比高等优点。

1 增量式光电编码器的测速原理

1.1 增量式光电编码器的构成及工作原理[1,2]

增量式光电编码器(以下简称光电码盘)由光源、光栅码盘和光电检测变换装置组成,光电码盘可随主轴转动。在一定大小的圆盘上等分地开通若干个长方形透光孔就形成光栅码盘,当主轴旋转时,光源照射码盘,透过光孔的光经光电管等电子元件组成的检测变换装置检测输出电脉冲,这样光电码盘就随位置的变化输出一系列的电脉冲信号,然后根据转动变化的方向用计数器对信号进行加/减计数,以此达到位置检测的目的,通过采样固定时间内的脉冲数,经过转换计算得到速度。光电码盘构。

式中,为第k次采样时刻的输出增量值。

从式(4)和式(2)比较可以看出,增量式PI算法只与最近两次采样值有关,不需要进行大量的数据累加和存储,不易引起误差积累饱和,易于数字化,计算量少,实时性好。

为了控制智能车在启动、行进、倒车、转弯、刹车等动作时快速响应且超调量小,运行平稳,快速有效躲避障碍物等问题,必须设计好控制策略。数字PI调节器算法有增量式和位置式两种方式。从式(4)分析可知,增量式与位置式相比的优点是积分饱和的情况得到改善, 减少系统的超调量,过渡时间短,提高系统的动态特性。本设计中不允许有大的超调量,所以采用了增量式PI算法。

2.3 软件流程

该系统的软件部分主要由中断服务程序和主程序组成。图6给出了控制器的主程序流程图,主程序主要包括上电自检和对单片机进行初始化、PWM输出模块的初始化、启动定时器 、开中断、进入循环体等,周期为5 ms。图7所示是其中断服务程序,该程序主要完成当前速度信息的获取和处理速度大小和方向,中断周期为1 ms。

3 实验结果

按本文原理设计的一套试验电路及测试波形如图8所示,图中包含电机驱动模块、四倍频电路、各种电源变换模块和四倍频后的波形。

4 结 语

本设计利用单片机和集成电机驱动器等硬件,同时采用基于增量光电编码器和四倍频电路,提高了电机速度的可控性能。而使用速度控制增量PI算法,则可实现小汽车速度的快速、准确、稳定控制。

参 考 文 献

[1] 陈志军,梁岚珍,南新元.光电编码器在控制系统中的应用[J].自动化仪表,2003,24(6):61-62.

[2] 王兴,贾晓虎,郝春丽.基于增量式光电编码器位移传感器研究[J].电子设计工程,2012,3(4):155-156.

[3] 金锋,卢杨,王文松,等.光栅四倍频细分电路模块的分析与设计[J].北京理工大学学报,2006,26(12):1073-1076.

[4] 武崴,邢庆敏,邵丽颖,等.基于FPGA的增量式编码器接口电路设计在ARM上的应用[J].工程与试验,2012(3):48-49.

[5] 李拥军,杨文淑.光电编码器测速算法的IP 核设计[J].长春理工大学学报:自然科学版,2008(9):35-36.

[6] 黄晓冬,邱建琪,金孟加,等.基于FPGA的无刷直流电动机速度闭环系统设计与实现[J].微电机,2009(7):45-46.

[7] 毕恩兴.基于单片机控制的智能车测速算法研究[J].电子设计工程,2011,8 (15):118-119.

光电编码器范文第3篇

1检测原理及装置

编码器检测方法

1.1检测原理

光学多面体检测法是将多面体与被检编码器进行同轴联接,光电编码器与光学多面体同轴旋转,采用自准直仪瞄准光学多面体测量误差,实现对光电编码器的转角精度误差进行检测。如图1所示:工作原理是:激光自准直平行光管发出的光束投射到被检多面体,多面体将检测光束反射回准直目镜的光电探测器。在被检物体不发生偏转的情况,多面体中被检面的法线相量与光轴应重合,激光自准直平行光管中发出的光束投射到光电探测器件的光敏面的中点,以此点定位基准零位。当多面体的被检面偏转微小角度,光电探测器光敏面上的激光光斑则显示偏离基准零位。由反射光偏离基准零位的距离与多面镜偏转角度之间的几何关系,可以计算出被检测编码器的偏转角度,达到检测转角精度的目的。

1.2检测装置

检测装置由可替换多面体标准器、激光自准直平行光管、检测工装(针对不同型号的编码器配有不同的工装)、标准检测平台、遮光罩、计算机数据采集系统、步进电机及其相关控制系统等组成,如图2所示。检测中利用激光自准直平行光管对准选用的标准器(标准多面体),被检的光电轴角编码器和标准器随步进电机转动,计算机采集检测数据并进行分析,将结果呈现于显示屏幕。在本检查装置中,平行光管选用了LD波长670nm、分辨率为1的AC453型号激光自准直平行光管。在实际检测过程中,标准器可根据不同检测精度的要求选用十二面体、二十四面体或者非整数度的多面体等标准器。本装置在此次检测中采用十二面体为标准器进行检测实验及数据采集。检测所用的标准器选用了精度为±2的英国制造的光学十二面体。

2检测实验

开始此次光电轴角编码器转角误差检测前,在检测平台上,先用绕性联接轴和顶丝把检测主轴与待检编码器固定相联。然后,在正式检测前进行预转动,以便使检测数据稳定可靠。这样还可以防止出现如顶丝没有顶牢固而造成的待检编码器与检测主轴间的不同步转动,降低检测过程中人为安装失误而引入的粗大误差。对J型编码器进行检测,得到部分的原始记录,如表1所示(往返360°)。通过将分析计算公式编入计算机,在数据采集后直接显示出最后的检测结果。检测人员可根据结果判定编码器是否为合格品。

3实验分析

实际检测时发现以下问题:首先由于待测编码器需要通过联轴节将自有轴系与检测装置相联,会引入回转轴误差,对测角精度造成影响。经实验得到,提高轴系回转精度须研磨零件的配合表面以减小形状误差。其次,由于本次检测的J型号编码器需经过多次破坏性实验后再检测,在再检测时得到准确度是±60的J型号编码器的极限误差已达93。所以在再次检测时须精细研光主轴及检测工装配套的联轴节,顶丝位置可根据实际情况调整。通过以上步骤检测后,降低了极限误差和回程误差。修复前后的曲线如图3、图4所对比调整及修复的前后,可以看出图4(b)图中的极限偏差比图4(a)图有明显减小。

4结语

通过实验室对J型编码器的检测可以得出这样的结论:在整个检测的过程中,光电轴角编码器检测装置可实时显示采集的数据和检测结果。通过自动化检测以降低人为操作引入的误差,节时省力,提高检测效率六倍以上。本检测装置可对不同型号以及不同精度等级的光电编码器进行检测,便于安装和操作,并能直观的显示检测结果,并可监测调整精度,优于常用的检测方法,达到检测装置的编码器设计要求。由于对检测环境要求并不苛刻,可广泛应用于编码器的出厂流水检测,减少人力,提高检测效率。针对本文测试的J型号的高精度编码器,应采用多圈或多次错位测试。此外,若轴系存在双周晃动,可以利用计算机控制程序的改变,调整检测周数或结果分析的计算公式,反映双周晃动的数值。

光电编码器范文第4篇

关键词 传感器 光电编码器 脉冲波形

引 言

光电编码器是集光、机、电技术一体的数字化传感器,能有效地测量仪器的机械运动状态,是现代工业中应用最多的编码器[1],在各类医疗仪器中也得到大量采用,如:CT机架旋转角度、速度测量,麻醉机活塞行程长度的转换测量,机械部件的位置测量以及运动方向的测量等等。其输出脉冲往往与控制电路形成一个闭环控制,精确有效地控制着仪器运动。因为光电编码器输出是具有一定相位的脉冲波形,容易受环境影响[2],在分析测量光电编码器的工作状态和影响因素时,有一定难度。所以了解光电编码器的原理结构和特性,有助于工程师对机械运动控制系统的故障做出准确判断。

1 光电编码器的工作原理和结构

光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器(见图1)。光电编码器由光电检测装置和光栅盘组成[3]。光电检测装置是由发光二极管、光敏管等电子元件组成;光栅盘的形状是一个等分、开通若干个长方形孔的圆板(光电码盘),与电动机同轴。当电动机旋转时,光栅盘与电动机同步旋转,发光二极管的光束被光栅盘调制,通过光敏管接收产生若干脉冲信号(见图2)。通过计算单位时间内光电编码器输出脉冲的个数就能反映当前电动机的转速或距离;为判断旋转方向,光电码盘还可提供相位相差90°的2路脉冲信号[4]。

光电编码器与传统机械测量位移装置相比,具有精度高、抗干扰能力强、易维护、性价比高的优势[5],但是它的结构也决定自身的局限性。光电编码器是通过在码盘上刻线来计算精度,所以精度越高,码盘越大,编码器体积越大,工艺和成本就越高;并且精度也不是连续的。此外,在恶劣环境下,如振动、污染、温度变化大的条件下,性能不够稳定。

医疗仪器是仪器设备中一个较为高端的领域,光电编码器有着大量应用,其中进口元器件占有相当大比例,价值昂贵,了解光电编码器的原理结构和特性,可以提高维护效率,降低成本。

2 案例分析

2.1 故障1

为保证扫描图像质量及设备安全,螺旋CT扫描对机架旋转部分的要求是:测量范围内保持恒定速度、旋转机架位置的检测。

2.1.1 故障现象 西门子AR-STAR螺旋CT控制台作warm up及calibration等与机架旋转相关的程序都失败;且每次机架刚启动,电机保护性停止,能清楚地听到继电器跳开的声音。

2.1.2 故障分析和处理 该型螺旋CT的旋转机架检测单元是个典型的光电编码器结构。该型CT在扫描机架孔的一圈安装一个圆环状的光阑系统,圆环上有2047个割槽以及外端一个割槽[6],如同一个巨大的光电码盘。在机架孔内侧的D33光电检测板上安装光偶GP1A30R。当机架旋转时候,光阑使得光敏管接收光线间断,产生反映机架旋转状态的脉冲AP(Angular pulse)[7],传送至计算机控制板master板,控制电机驱动单元。

检查errorlog中错误代码,发现ER07b多次随故障现象出现。ER07b是提示机架AP信号异常。因为螺旋CT机架经常工作在高速旋转的状态,空气流动较快,细小灰尘很容易污染光电电路。所以根据故障现象和编码器结构原理,重点怀疑D33光电部分出现故障。在机架断电状态下,确认D33板上电路无损坏后,清洁光阑和光电管。然后机架上电,作reset通过,与机架旋转相关的执行程序皆正常通过。

光电编码器的结构导致其易受环境的振动影响,机架高速旋转中,特别是在启动和停止时刻,有机械位置振动等微小变化,随着位移量的积累,需及时校正光电编码器至与旋转部件同步位置。所以该型CT维护程序之一是要作光电编码器的位置校正。

2.2 故障2

柯达900及850系列CR通过激光扫描装置对IP板进行逐行扫描来获取原始影像。为保证图像质量的一致性和预置位置点的机械配合,系统要求IP板扫描电机匀速并精确可控。CR900设计SLOW SCAN扫描装置,由电机连接丝杆带动IP板在扫描区域匀速运动。在SLOW SCAN电机最下端,使用光电编码器联动来测量电机转速、行程及方向等变量,并传输给控制板A6来控制电机运动[8]。

2.2.1 故障现象 柯达900CR扫描图像有横向水平伪影。

2.2.2 故障分析和处理 进入维修模式做SLOW SCAN的测试程序,发现电机驱动电流及速度幅值图与标准图形明显不同,可确定是SLOW SCAN电机或伺服控制系统故障。该电机伺服系统的主要元件——光电编码器在机器的最下面水平放置,容易受到湿气、灰尘污染,恶劣的工作环境导致光电编码器输出异常,直接影响到电机控制。

把SLOW SCAN电机连同丝杆、编码器拆下,发现丝杆油泥较厚,电机运动部分行程有一定阻尼;继续拆开编码器,发现码盘及光电发送接收部分都很脏,已经严重影响光电脉冲的正常输出。

对编码器码盘和发光二极管、光敏管进行清洁,保证脉冲正常输出,并清除电机丝杆油泥,再作SLOW SCAN的电流及速度测试,幅值图符合标准,作正常扫描,图像伪影消失。

2.3 故障3

Draeger公司Fabius CE型麻醉机的呼吸机马达控制采用光电编码器(Incremental encoder)检测活塞行程和运动[9]。

2.3.1 故障现象 开机后,活塞一直冲顶到螺杆机械位置的顶端。

2.3.2 故障分析和处理 首先,从POWER板测量呼吸机马达电源为正常的27V,排除马达驱动电源问题。马达的起步位置设计一个光耦开关来确定行程初始位;马达运行中,通过光电编码器来测量行程位置和长度。

从故障现象初步判断控制系统失控。从马达底部拆下光电编码器,在通电情况下,观察其结构由发光二级管、光敏管和很小的码盘组成;是通过脉冲计数来测量电机运动状态,但是始终无法看到发光管的红光。因此判断光电编码器损坏,更换同型号编码器后,马达不再冲顶,顺应性测试也顺利通过,仪器恢复正常。

3 小结

光电编码器多为进口元器件,当其发生故障时,国外公司多以更换整个控制单元来维修,价格昂贵(约几万到十几万元)且修复周期长。如果工程师能在掌握其特性基础上,采用合适方法,即可提高维护效率又可为医院节省大量经费,对保障医疗设备正常运行起到事半功倍的效果。

目前,光电编码器以其诸多的优点在医疗仪器领域中发挥着重要作用,未来也会向着更高精度、小型化和提高恶劣环境下可靠性等方面不断发展[10],这就要求维护人员不断充实自己,总结出规律,并结合仪器的工作状态,灵活运用各种方法,提高对该类元器件的维护能力。

参考文献

[1] 李红果. 一种光电编码器位置检测系统研究与应用[J]. 微计算机信息, 2008, 24(2):88-89, 211.

[2] 吕恒毅, 刘扬 陈兴林. 光电编码器的高可靠性数字译码方案研究[J].自动化技术与应用, 2009, 28(12):47-49, 53.

[3] 皮光宇. 浅谈光电编码器在提升机电控系统中的应用[J]. 矿山机械, 2009, (5):102-103.

[4] 郑建华. 光电编码器在矿井提升电控系统中的应用[J].新疆有色金属, 2010, (2):64,66.

[5] 翟世宽. Z脉冲信号在光电编码器位移校正中的研究和应用[J]. 自动化应用, 2002, (4):81-84.

[6] 李自强. SOMATOM AR CT故障维修2例[J].医疗设备信息, 2005, 20(10):86.

[7] 杨兴民, 姜小平, 祝莉. 旋转编码器的原理及调整[J].医疗设备信息, 2002, (9):16, 28.

[8] 周军. CR950 ERROR 14008的维修[J]. 临床放射学杂志, 2009, 28(8):11-12.

[9] 王海鹰. Draeger麻醉机常见故障解析[J].医疗装备, 2010, 23(9):20.

光电编码器范文第5篇

关键词:广电编码;速度;反馈;控制;技术

中图分类号: TU71 文献标识码: A 文章编号:

一、前言

目前,广电编码器在国内的应用虽然很广泛,但是在速度反馈与控制技术仍然存在一定的开发和研究的潜力,因此,我们要对基于光电编码器的速度反馈与控制技术进行研究。

二、光电编码器概念阐述

手轮全称手动脉冲发生器,又称光电编码器。主要用于数控机床:立式加工中心、卧式加工中心、龙门加工中心等数控设备,如造型新颖,移动方便,抗干扰,带载能力强;全塑料外壳,绝缘强度高,防油污密封设计;具备X1,X10,X100三档倍率,可实现4轴倍率切换;具备控制开关、急停开关可选,人性设计,便于操作。

三、模拟与数字速度反馈方式的分析对比

输出模拟量反馈参数的常用器件有:测速发电机、测角模块、速率陀螺等。测速电机在早期的应用十分普遍,他具有测速精度较高、输出信号稳定等特点。但他体积一般较大,应用场合受到限制;长期工作会造成温度升高,引起输出信号的漂移,并且炭刷磨下来的炭粉积存在换向片之间的槽内,容易造成测速发电机片间短路。测角模块输出的速度信号在低速时精度较差、并且杂波多、信噪比低,较少应用。速率陀螺由于自身的结构特点而对震动敏感,受震时反馈信号出现波动,会引起电机的振动,因此应用上有一定的局限性。

模拟量的速度反馈一般以两种方式实现:在以电路闭环直接完成速度反馈的方式中,控制数据经D/A转换产生的模拟量作为给定信号,反馈信号与给定信号一起送至比较器电路形成反馈。在另一方式中,控制计算机通过A/D转换器对模拟速度反馈信号进行数据采集,并与代表给定速度的数据进行比较运算,输出合适的控制信号。而数字式速度反馈与控制是通过对光电编码器输出脉冲进行计数,将所得数据直接送给计算机,无需A/D转换等环节,并通过数字I/O口直接输出PWM控制脉冲。光电编码器的输出同时也提供了位置环的信息,通过相应的程序解算,也可以完成位置环的控制。

四、光电编码器的测速原理及应用

1、光电编码器的测速原理

采用光电编码器完成反馈控制的原理如图1所示。光电编码器与电动机主轴直接联接,从而使编码器转速与电机完全一致。其工作原理是:光电编码器随电机旋转,产生与转速成正比的两相(A相、B相)相差90°相位角的正交编码脉冲。如果A相脉冲比B相脉冲超前则光电编码器为正转,否则为反转。A线用来测量脉冲个数,B线与A线配合可测量出转动方向。由此可测出电机转速与转向。光电编码器在低速时输出脉冲数较少,按一般的方法应用很难保证精确性。为了提高测量精度和分辨率,除选用高分辨的光电编码器外,还可以将编码器的输出脉冲进行多倍频细分,再由计数器对产生的多倍频脉冲信号进行计数。通过测量时间T和在时间T内计数器对被测脉冲信号的计数值Md,计算后就可以确定电机的转速。速度给定数据由主控计算机送来,与实测的转速数据相比较,控制系统根据比较结果输出控制参数,完成速度反馈的闭环控制。

2、常用的测速方法介绍

常用的测速方法有3种:分别为T法、M法和M/T法。T法是通过计量编码器两个相邻脉冲的时间间隔来确定转速,该方法在转速高时准确性较差,一般适用于速度比较低的场合;M法是通过测量一段固定时间内编码器的脉冲数来确定转速,适合于高速场合;而M/T法则是前两种方法的结合,在整个速度范围内都有较好的准确性。但在低速时为保证结果的准确性,该方法需要较长的检测时间,这样就无法满足转速检测系统的快速动态响应指标,因而又出现了变M/T测速法。变M/T测速法原理如图2所示。

所谓变M/T法,是指测速过程中,既检测光电编码器计数脉冲Md,还同时检测高频时钟脉冲Mt,检测时间T始终等于Md个脉冲信号周期之和。Md个数可预置,但显然检测时间T不是固定的,T随着转速的升高而减少。变M/T法测量原理如图1所示。其中测量时间T由高频时钟脉冲计取,即T=Mt×To,Mt为高频时钟脉冲计数值,To为高频时钟周期。

3、ADUC824在数字反馈中的应用

由分立器件构成的变M/T法测量电路存在着电路结构复杂的缺点,除电阻、电容外,还需要多片门电路、触发器、芯片等,器件多功耗大。易受外界噪声的干扰,可靠性较差。ADUC824是AD公司新推出的8051内核高性能系统型单片机,内部集成了A/D,D/A,FLASH,WDT,μP监控电路、温度传感器、SPI和I2C总线接口等丰富资源,体积小、功耗低、非常适合用于各类智能变送器、智能传感器等领域。可在线调试,并具备工业级的温度范围。用ADUC824为核心完成光电编码器速度反馈系统的设计,简化了电路的设计。ADUC824原理框图如图3所示。

ADUC824内含3个16b定时/计数器;1个时间间隔计数器。力矩电机一般工作在低速状态,测速时脉冲计时时间较长,标准的8051定时/计数器难以胜任,利用ADUC824特有的时间间隔计数器,以机器周期时钟作为高频计时脉冲,可以轻易做到这一点。利用ADUC824的定时/计数器T0来测量光电编码器的脉冲个数,T0置于计数器状态,工作于16b方式,将需测量的光电编码器脉冲数Md装入寄存器,在计数器的中断程序中,ADUC824获取时间计数器的高频时钟脉冲计数值,根据公式(1)计算电机转速,这样可实现准确测速。T1置于16b的定时器方

式,控制P2.7口高低电平的保持时间,输出所需占空比的PWM脉冲。片外倍频器输出光电编码器脉冲的倍频信号用于计数并产生电机转动的方向信号。片内主A/D对I/O口输出的PWM脉冲进行数据采集,监测控制信号的输出。设备的整个控制系统分上位机和下位机两部分。上位机主要完成系统的设置监测、指令的下达以及系统的其他任务。ADUC824作为下位机主要完成以下工作:

(1)通过串口完成与上位机的通信,接受设备随动控制指令,发送采集的数据和工作状态。

(2)根据光电编码器输出的信息,实现变M/T法测速;利用I/O口通过编程直接输出PWM信号至功放电路,控制电机运行。完成速度环和位置环的闭环控制。

(3)上位机送来速度环或位置环的参数,由ADUC824自动完成随动系统的伺服控制工作,无需上位机的干预,节省了主控计算机的资源,提高了工作效率。

(4)ADUC824根据需要可以测试、显示或输出系统的工作状态。

四、基于锁相环的测速系统数学模型

为了用软件模拟光码盘的输出,首先必须向单片机或数字信号处理器(DSP)提供电机转子位置和速度信息。以一台永磁同步电动机为例,根据锁相环的测频原理,利用永磁同步电动机Ld=Lq的特性,通过检测电机相电流和相电压,实时计算出电机的转子信息。锁相环的测频原理如图3所示,压控振荡器的输出信号反馈至相位比较器,与相位比较器的外部输入信号Ui作比较,产生的误差信号Ue经低通滤波器后得到控制信号Ud,Ud作用于压控振荡器,使输出信号和输入信号的频率相等,相位差恒定。

五、光电编码器在测量小车速度中的应用实例分析

1、光电编码器测量小车速度的原理

光电编码器是由一个红外发射接受装置和一个码盘构成。当红外光由发射器射出,射于黑色条纹上时,将被间断地反射于接收器上,在接收器的输入端会受到通轮子转速为正比关系的光脉冲信号,进而在接收器的输出端形成具有一定频率的电信号。再利用微处理器对电脉冲进行计算,就可以得到小车的移动速度。其中小车行驶距离L的表达式为:L=πD/n*nx公式中n为码盘上黑白条纹的个数;D为驱动轮的外径,nx为实际测量中电脉冲政府跳变的次数。小车的行驶速度V的计算表达式为V=L/t,公式中,t表示时间。

2、光电编码器测量小车速度的操作

本案例中采用绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码道,每条道上由透光和不透光的扇形区相问组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数,在码盘的一侧是光源,另一侧对应每一码道有一光敏元件;当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。这种编码器的特点是不要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码。显然,码道越多,分辨率就越高,对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。

首先,选用专门用于用于控制轮式机器人的Handy-board主板和内置光敏集成电路和红外线发射管的P8557红外传感器。在驱动轮上贴32道黑白条纹的圆形码盘,驱动轮轴和码盘的圆心重合,在码盘表面的2mm处进行红外传感器的固定,从而构成反射式增量编码器;其次,执行四次LCD中断程序和一次检测程序。当心中断的程序进行调入时,将TOC4圆心的矢量中断入口地址转嫁于新终端程序。在执行程序时,先执行中断程序,后执行编码器原中断程序;最后,驱动程序采用中断的插入方式,使用中断始终TOC4执行计数。在中断程序调入之后,先进行中断程序的初始化,随即插入编码器相位的中断程序。在执行主中断程序时,先调试编码器状态,然后对编码器进行取样,将取样的编码器状态存入于寄存器当中,再将寄存器调试到上一次的编码器相位取样状态。最后,执行累加操作。对操作中的数据进行统计,将数据带人小车行驶路程L的公式当中,求出L,后根据时间,直接带人到小车行驶的速度V公式当中,进而用光电编码器对小车速度的测量

六、光电编码器的发展趋势

纵观国内外光电轴角编码器的现状,其发展趋势是高精度、高分辨率、高频响、小型化、智能化。下面就某些关键技术和其今后发展状况的介绍。

1、进一步提高光电轴角编码器的性能

2、编码器的体积向小型化发展

3、产品制造向系列化方向发展

4、适用于恶劣的工作环境

5、提高检测设备的精度

总之,DSP用于电机转速测量是一个较新的问题,还有许多内容需要研究,而且如何将实验研究应用于生产实践中还存在一系列问题有待更深一步的研究。

六、结束语

在今后光电编码器的研究中,要重点扩展其在速度反馈方面的应用,研究其科学的速度控制技术,由此来不断的提高光电编码器的应用范围。

参考文献

[1]汪涛、黄声华、万山明,一种基于DSP的伺服电动机转速检测方法[J].微电机,2006(3):86~88.

光电编码器范文第6篇

【关键词】光电编码器;MCP2510;CAN总线;TJA1050

0.引言

本文采用三星公司提供的S3C2410处理器为CPU的嵌入式系统开发板为平台,在其外部总线上扩展CAN总线接口芯片-MCP2510。详细阐述了光电编码器嵌入式通讯系统在嵌入式ARM920T硬件平台体系下CAN总线的接口设计及嵌入式Linux操作系统下CAN总线的驱动程序设计。

1.光电编码器嵌入式通讯系统设计

光电编码器的信号经过一系列的组件处理后,转换成数字角度信号,通过嵌入式处理器S3C2410控制MCP2510CAN总线控制器通过TJA1050CAN总线收发器将光电编码器的数字角度信号传输到控制台中。这款通讯系统设计中,我的主要研究任务是实现该系统中MCP2510控制器与S3C2410处理器的接口设计及实现MCP2510驱动程序设计。

2.S3C2410扩展CAN总线接口

大多数嵌入式处理器都有SPI总线控制器,所以MCP2510可直接与SPI总线控制器相连,光电编码器的串行通讯系统中,S3C2410处理器下的开发板中MCP2510组成的CAN节点接口硬件电路原理图中,MCP2510使用3.3V电压供电,它可以直接与S3C2410通过SPI总线(在S3C2410的 datasheet中把这个接口叫做SIO,同步串口)连接。相关的资源如下:使用一个扩展的I/O口作为片选信号,低电平有效;使用S3C2410的外部中断6(EXINT6)作为中断引脚,低电平有效;16MHz晶体作为输入时钟,MCP2510内部有振荡电路,用晶体可直接起振;使用TJA1050作为CAN总线收发器。

3.CAN节点的软件设计

光电编码器的串行通信系统中,MCP2510CAN节点的软件设计主要包括两部分:Linux内核向ARM体系平台的移植;CAN总线驱动程序设计:MCP2510的初始化;MCP2510发送和接受数据。

CAN总线驱动程序设计。

系统中CAN总线的数据接收和发送时两个不同的线程。在驱动程序中建立数据发送和数据接收缓冲区。中断处理程序只负责填充缓冲区的数据,然后唤醒等待接受数据的任务。操作系统的中断响应时间决定了CAN总线数据的收发速度。

3.1 MCP2510的初始化

初始化MCP2510相关参数。

在Linux驱动动态加载的时候要调用初始化函数,完成以下任务:首先是软件复位,进入配置模式;设置CAN总线波特率;关闭中断,设置ID过滤器;切换MCP2510到正常状态;清空接受和发送缓冲区;开启接受缓冲区,开启中断。

3.2 MCP2510发送数据

这里的CAN总线发送格式有两种:当发送的数据缓冲区大小等于结构体CanData时,发送整个CAN总线帧的数据;当发送数据缓冲区小于8字节时,作为CAN总线数据发送,驱动程序会自动为此帧数据添加默认ID,这个ID事先通过ioctl设置好。MCP2510发送数据的程序片段如下:

3.3 MCP2510接收数据

CAN总线设备的数据接收过程中,当缓冲区中有数据时,直接读取缓冲区中的数据。对于非阻塞的情况,直接返回-EAGAIN;对于阻塞情况,通过等待队列mcp2510dev.wq等待系统接收到CAN总线数据,程序片段如下:

4.总结

本文设计的光电编码器的嵌入式通讯系统,主要针对该通讯系统的总线控制进行硬件接口设计与CAN总线处理器MCP2510的软件驱动程序设计和Linux内核移植。。实验证明,该款设计减低了系统功耗和成本、系统结构简单、提高了系统的可靠性、并且更具有实时性。这款CAN总线接口设计也可以应用到其它控制系统的CAN总线接口设计当中。

【参考文献】

[1]邹定海,叶声华,王春和.用于在线测量的视觉检测系统[J].仪器仪表学报,1995,16(4):337-340.

ZOUDH,YESHH,WANG CH H.A visual inspection system for on-line measurement[J].Chinese Journal of Scientific Instrument,1995,16(4):337-340.(in Chinese).

[2]周亘.微机在工件不圆度自动测量中的应用[J].基础自动,2001,8(6):50-53.

ZHOUG.The application of computer in automatic measure of the non-round degree of the parts[J].Basic Automation,2001,8(6):50-53.(in Chinese).

[3]郭强生,靳卫国,周庆亚.集成电路粘片机视觉检测技术研究[J].电子工业专用设备,2005,34(7):34-40.

GUOQSH,JINWG,ZHOUQY.Vision inspection technology of IC die bonder[J].Equipment for Electronic Products manufacturing,2005,34(7):34-40.(in Chinese).

[4]WEIZHZH,ZHANG G J,LI X.The application of machine vision in inspecting position-control accuracy of motor control systems[C].Proceedingsofthe Fifth International Conference on Electrical Machines and Systems,Shenyang, P.R. China: ICEMS,2001:1031-1038.

光电编码器范文第7篇

关键词:绝对式光电编码器;格雷码;二进制码;Labview

中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)31-

Angle Measurement of Absolute Optical Encoder Based on Virtual Instruments

ZHANG Hui, LIU Jing, QIU chang-li

(Department of Electrician and Electron, Aviation University of Air Force, Changchun 130022, China)

Abstract: Angle measurement of Absolute optical encoder base on Virtual Instruments, the Gray code of absolute optical encoder is sent to single-chip and is convered to binary code, using Labview for data analysis and processing, whose man-machine interface design is beautiful and convenient, it can easily overcome the difficulties of single-chip division calculation.

Key words: absolute optical encoder; gray Code;bBinary code; Labview

1 引言

编码器是一种特殊形式的光电耦合器件,根据编码器刻度方法及信号输出形式,可分为增量式、绝对式两种。

增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。它的优点是原理构造简单,机械平均寿命可在几万小时以上,抗干扰能力强,可靠性高,适合于长距离传输。其缺点是无法输出轴转动的绝对位置信息。

绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关,它的特点是可以直接读出角度坐标的绝对值;没有累积误差;电源切除后位置信息不会丢失。但是分辨率是由二进制的位数来决定的,也就是说精度取决于位数,目前有10位、14位等多种。

在编码器的应用中,由于绝对编码器在定位方面明显地优于增量式编码器,已经越来越多地应用于工控定位中。

2 设计原理

本系统由绝对式编码器,数据处理模块,AVR单片机及Labview虚拟仪器平台组成。系统工作过程如下:编码器通过数据处理模块完成相应的电平转换,并将格雷码送至单片机相应的I/O端口。单片机读入码值进行码值转换,并通过SPI接口将结果显示到液晶屏,同时通过USART接口将结果送至上位机,用Labview进行后级数据分析处理及相应人机交互界面的设计。

图1 硬件原理示意框图

3 系统实现

1) 数据处理模块:主要实现的是+12V电平到+5V电平的转化。因为编码器所提供的并行码的电平是+12V的,而ATmega16的电平为+5V。在模块中采用了光耦作为电平转化器件,输入的编码器的并行码进行电平转换后,经过74LS14反向器输出给ATmega16。

2) ATmega16:主要实现的是对采集到的编码器的输出码进行从格雷码到二进制的转换,同时并把转换后的二进制码通过串口发送给虚拟仪器。为了实现对编码器的旋转角度的准确描述和显示,我们采用对编码器进行三次采样,它们分别是:编码器从静止到转动的初试状态,编码器转动过程中的中间状态和编码器从转动到静止的终止状态。

格雷码到二进制码的转换规律:

格雷码的最高位与0相异或作为二进制码的最高位,格雷码的次高位与二进制码的最高位相异或作为二进制码的次高位,格雷码的第三位与二进制码的次高位相异或作为二进制码的第三位,依次进行下去就得到了转换后的二进制码。

3) 虚拟仪器:

由于单片机对于数学的除法计算不易实现,所以采用了用虚拟仪器对采集到的数据进行处理并显示。Labview接收到来自单片机的三组数,它们是:编码器从静止到转动的初试状态A[0],编码器转动过程中的中间状态A[1]和编码器从转动到静止的终止状态A[2]。在Labview的后面板中具体的数据处理是通过A[0]与A[1]的比较可以得出转动方向,A[2]与A[0]的差值经过角度变换便可以得出旋转的角度,同时在前面板中进行显示。实验结果如图2所示。

图2 实验结果

程序框图如图3所示。

图3 程序框图

4 结论

该系统实现了基于绝对式编码器的角度测量,利用虚拟仪器,克服了单片机对数学的除法计算的困难。可以实现对旋转角度的精确测量。

参考文献:

[1] 刘丰文,邓文和.25位绝对式编码器[J].光电工程,2007,27(6):66-68.

[2]邓方,陈杰,陈文颉,等.一种高精度的光电编码器检测方法及其装置[J].北京理工大学学报,2007,27(11):977-980,1008.

收稿日期:2011-10-18

光电编码器范文第8篇

关键词:光电编码器; 二倍频; 抗抖动; FPGA

中图分类号:TN15 文献标识码:A

文章编号:1004-373X(2010)09-0157-03

Anti-jitter Frequency Second Harmonic Circuit of

Increment Type Photoelectric Encoder Based on FPGA

WANG Jun-shan, CHENG Ming, BAI Xiao-ying

(Information Engineering College, Zhengzhou University, Zhengzhou 450001, China)

Abstract: According to the characteristics of the increment type photoelectric encoder′s construction,the reasons of the error encoder pulse caused by jitter in the output signals are analyzed, a high-precision anti-jitter second harmonic circuit was designed according to the characteristics that the two output signals(A-phase, B phase) of the encoder can not change at the same time. In this way, the interference pulse signal can be filtered out effectively.

Keywords: photoelectric encoder; second harmonic; anti-jitter; FPGA

在某些工业自动控制领域、某些装备应用上,经常会遇到各种需要测量长度的场合,目前通常采用的是光电编码器。光电编码器根据其刻度方法及信号输出形式,可分为增量式、绝对式、混合式三种。它是一种集光、机、电为一体的传感器,具有精度高、响应快、性能稳定可靠等显著的优点,能够精确地检测角度、转速、位移等参数。它可以将位移等物理量转变为数字脉冲信号,通过计算脉冲的个数,实现精确的位移测量[1]。然而由于工作环境等因素影响,增量型光电编码器输出信号中含有较多的抖动误码脉冲,将会引起误计数。本文分析误码脉冲产生的原因,设计一种有效的滤波电路。

1 增量型编码器的工作原理

增量型编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,它由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔,见┩1[2]。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,编码盘上涂有两道相差90°黑自相同的栅栏,分别称之为A道和B道。其输出脉冲也是相差90°。当编码器正向旋转时,A相比B相超前90°,当编码器反向旋转时,A相比B相滞后[3]90°。正常情况下编码器的输出波形如图1所示[4-5]。

图1 光电编码器的输出

2 误码脉冲产生的原因及其滤除方法

2.1 误码脉冲产生的原因

为了说明误码脉冲的存在性,将编码器码盘局部放大。图1中点O是编码器旋转轴的中心,圆角矩形代表码盘上A列和B列透光狭缝[2]。假定编码器一相信号处于某种状态,而另一相信号处于高低电平跳变的交界状态,则编码器的误码脉冲如图2(a),图2(b)所示[6]。由于电机的旋转或机械设备的振动,会使编码器输出脉冲抖动,从而引起误计数。它一方面表现为在透光窗口附近的抖动,引起的干扰脉冲,如图2(a)给出了A相脉冲信号在上升沿和下降沿发生抖动输出的时序波形,图2(b)给出了B相脉冲信号在上升沿和下降沿发生抖动输出的时序波形;另一方面表现为在编码器的某点附近前后振动,引起干扰脉冲。如图2(c),图2(d)给出了信号在编码器b点前后抖动的时序波形。编码器从a点正转到b点,然后编码器反转到a点,又正转到b点,两个b点之间的脉冲数为干扰脉冲。

图2 光电编码器抖动波形输出

2.2 误码脉冲的滤除

2.2.1 滤除编码器抖动的原理

采用二倍频技术滤除抖动脉冲。所谓二倍频技术即对A相或者B相每个脉冲的上升沿和下降沿分别计数。光电编码器经过二倍频后正常输出波形如┩3所示[7],A相脉冲01跳变时,B为0,则编码器正转;B为1,则编码器反转。A相脉冲10跳变时,B为1,则编码器正转;B为0,则编码器反转。编码器正常输出波形时,A、B两相交替跳变,如果A相发生跳变后,B相没有发生跳变A相又发生跳变,此时认为是干扰脉冲,反之同样视为干扰脉冲。

图3 编码器输出波形分析

分析图4,对A相的跳变沿进行二倍频计数,B相的高低电平用来判断编码器的正反转。B相边沿的抖动脉冲对二倍频计数没有影响,如┩4(b)所示。分析图4(a),A相边缘的抖动认为是干扰脉冲被滤除掉。图4(c),图4(d)中的a,b标记的位置是编码器物理地址,如图4(d)标记的a,b表示编码器在此处反复振动。图4(c)、图4(d)(1)、(2)标记处跳变沿视为抖动脉冲,应滤除,A相的正转脉冲数据数和反转脉冲数据数相减后就是A相实际二倍频后的脉冲数据。

2.2.2 FPGA滤除编码器抖动及仿真结果

根据以上分析,本文采用FPGA滤除增量型光电编码器输出抖动脉冲。编译环境采用 Quartus Ⅱ 8.0。在FPGA中使用图形和语言结合的方法设计逻辑模块。内部的逻辑子模块采用Verilog语言来实现[8-9]。顶层模块的结构图如图5所示。 A和B输入引脚连接增量型编码器A相和B相信号。Acount为16位的数据寄存器,输出当前编码器的位置。顶层设计中包含两个模块,一个是根据编码器的B相跳变沿记录来滤除编码器A相抖动脉冲的BlockA模块,该模块根据滤除后的A相脉冲数据个数并记录脉冲数据。Verilog的主要程序如下:

另一个模块BlockB主要完成的功能是滤除编码器B相的抖动脉冲。根据分析滤除编码器抖动的原理,ENA引脚为BlockA模块的输出引脚,当A相输入引脚有跳变时ENA为1,A相引脚有连续的跳变或者接下来B相有跳变时ENA为0。ENB为编码器B相跳变使能引脚,当ENA为1时如果B相有跳变ENB┪1,当ENA为1时如果B相有连续跳变ENB为0。主要程序如下:

always @(B)

begin

if(ENA) ENB

else if(ENB) ENB

else

ENB

end

以图4(a)的编码器抖动输出仿真为例,仿真效果如图6所示。从图中分析,A相输出7个脉冲,应该输出3个脉冲,二倍频后是14个脉冲,应该输出6个脉冲,经过滤除后脉冲计数器数为6个。A相的抖动脉冲得到有效的滤除。

图6 编码器抖动输出仿真图

3 结 语

现场调试结果证明,该算法可以消除工业现场出现的干扰和抖动现象,能够准确地记录脉冲数据。此滤波

方法可以采用软件滤波,但是软件滤波需要的引脚较

多,采用两个中断引脚响应A相的上升沿和下降沿,浪费CPU资源[10]。采用FPGA实现编码器的滤波,设计方便,改动灵活。

参考文献

[1]许永华,李钢.数控机床中光电编码器计数电路设计[J].制造技术与机床,2000(1):14-15.

[2]吕国芳,孙超.利用中断技术防止编码器抖动计数的方法[EB/OL].[2009-2-12]. ,2009.

[3]向艳稳,修吉平.光电编码器信号抗干扰算法[J].计算机测量与控制,2003(8):66-68.

[4]付小宁,程为彬.快速高精度光电测速算法[J].光电工程,2006(1):137-140.

[5]费伟中,沈建新,周勇.增量式光电编码器计数与接口电路的设计[J].微特电机,2007,35(1):137-140.

[6]蒋晶,蒋东方,高航.高可靠性增量式光电编码器接口电路设计[J].测控技术,2009,28(2):1-4.

[7]陈以,于新业,黄云鹏.基于FPGA的旋转编码器抗抖动┧谋镀档缏飞杓[J].计算机工程与科学,2009,31(7):92-94.

[8]张延伟,杨金岩,葛爱学.VerilogHDL程序设计实例详解[M].北京:人民邮电出版社,2008.

[9]华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2008.

光电编码器范文第9篇

关键词:FPGA;光电编码器;开关;软核;PID

中图分类号:TP3 文献标识码:A 文章编号:1674-7712 (2013) 10-0234-01

一、应用背景

在机电设备中运行的电机,如果需要知道电机旋转运行时的绝对角度,一般在电机转轴上面安装一个光电编码器,编码器输出A/B/Z三路脉冲信号。360线的正交编码器,CPU或FPGA芯片处理,用可以4倍频到每圈1440个脉冲分辨率。

而Z脉冲用于零度位置校准。

现有8个电磁阀,分别需要控制他们按照既定的电机旋转角度来开和关(0表示打开,1表示关闭)。具体控制时序要求如下表:

本设计采用altera公司cycloneII系列FPGA完成相关的功能,同时利用内部的NIOSII软核结合PID算法实现了电机的运行调速。

具体实现功能:

1.FPGA芯片实现正交编码器的解码以及控制8路输出信号的开/闭。

2.电机运行中FPGA的串口可以接收新的运行控制参数。

3.FPGA来控制电机的运行调速。

二、系统设计

整个系统分为正交编码器的解码模块、输出信号的控制模块、串口通信模块和电机控制模块。

(一)正交编码器的解码模块

端口A、B、Z分别为正交编码器输出的A、B、Z三相脉冲、端口angle[8:0]为经正交解码后计算出电机旋转的角度。A、B输入FPGA解码模块后使用D触发器进行滤波。通过检测脉冲跳变沿的方法,对输入信号进行4倍频以提高测量精度。计数模块为了排除电机旋转过程中的抖动采取可逆计数的方法。根据计数结果计算出相应的旋转角度。

(二)输出信号的控制模块

端口valve1_on[15:0]、valve1_off[15:0]、……、valve1_on[15:0]、valve1_off[15:0]为8路阀门的控制参数输入端、angle[8:0]为正交编码器解码输出结果。模块内部进行逻辑比较,当旋转到一定角度时控制相应阀门开关。

(三)串口通信模块

端口rs232_rx为串口接收数据端、端口valve1_on[15:0]、valve1_off[15:0]、……、valve1_on[15:0]、valve1_off[15:0]为接收数据经处理后的8路阀门的控制参数。该模块根据串口通信协议,当检测到起始位时,进行波特率计数开始接收数据,并将接收的数据存入一个移位寄存器中,同时模块内部建立了一个数据缓冲区对移位寄存器中数据进行解析和串并然后输出,当没有接收到数据时输出为默认控制参数。串口通信模块波特率设置为9600bps、1个起始位、8个数据位、1个停止位。

(四)电机控制模块

对于电机的运行调速,我们用FPGA内部的NIOS2软核做控制单元,专门设计了电机驱动模块,编写了相应的PID控制程序。电机驱动部分是采用MOS管搭建的双H桥驱动,控制信号为两路,一路为PWM控制电机的速度,一路为DIR,控制电机的转动方向,然后通过逻辑电路将PWM和DIR转换成相应的四个桥臂的控制信号。数字电路和模拟电路采用的光耦隔离;同时MOS每个桥并联2个,增加其带负载能力;在变向瞬间,由于MOS存在导通和关断延时时间会引起MOS管发烫甚至烧毁,增加了RC延时(如果不加,在变向瞬间,由于MOS管关闭的延时存在,会使GND和VCC接通,流过大电流将MOS管烧毁);控制端均接上拉电阻,防止在开机时发生电机飞跑。

电机的控制算法用带棒棒的PID调速算法。在电机开始运行以后,通过键盘给定目标速度值,然后通过PID调速,使之达到目标速度值,代码运行在FPGA内嵌的软核中。速度采样和速度控制周期均为10ms.

三、系统测试与分析

光电编码器范文第10篇

关键词: Arduino; 光电编码器; 触摸显示器; 脉冲计数

中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2014)02?0124?03

0 引 言

Arduino是一款基于单片机系统的电子产品开发平台,它的软硬件系统都具有高度的模块化,而且软件系统是完全开源的。其硬件系统也是高度模块化的,在核心控制板的有开关量输入/输出模块、各种模拟量传感器输入模块、总线类传感器的输入模块,还有网络通信模块[1?2]。Arduino有自己特有的编程语言。其语法规则类似C/C++语言,IDE环境和语言把单片机与硬件相关的一些参数都参数化并进行了很好的封装,把端口都打包,寄存器、地址指针之类的基本不用管,大大降低了软件开发难度。因此不用开发者去了解其硬件结构即可对其编程,实现设计者的设计意图和创意[3]。

本文提出了一种基于Arduino开发环境的光电编码器检测仪设计方案,能够对光电编码器的好坏进行判断,实现光电编码器正转与反转时的脉冲计数。

1 整体设计

该检测仪主要由调理电路、Arduino控制板、液晶显示电路等组成,如图1所示。

CLKA和CLKB为光电编码器输出的两路相位相差90°的编码信号。调理电路用来对这两路信号进行整形滤波等信号处理,最后送至Arduino控制板。Arduino控制板用来实现光编码器脉冲个数的计数,正转、反转两种脉冲信号的判别。液晶显示电路用来显示检测的参数,同时对不同型号光电编码器进行选择控制。

2 硬件部分设计

2.1 调理电路

信号调理电路用于检测信号的调理,主要是把待测交流信号,经过滤波、放大、选通、有效值转换、限幅等处理,送到微控制器进行测量。

图2为调理电路框图,光电编码器输出的两路相位相差90°的正弦波信号A、B,经施密特触发器变为a、b两组方波信号。A分为两组:一路经微分电路,在方波的上升沿形成脉冲信号d,再由门电路输出,形成正转脉冲,另一路经反相器,形成反相方波c,再经微分电路形成脉冲信号e,由门电路输出反相脉冲g。b组方波直接连到两个门电路的控制端,作为两个门电路的选通信号。

光电编码器正转时,b组信号超前90°,它的方波正半波对应不经反相器a组方波的上升沿,正半波又使门电路选通,d组脉冲通过门电路形成正转脉冲;而c组方波的上升沿对应b组方波负半波,此时虽然微分电路输出e脉冲,但门电路关闭,不能输出反相脉冲g。当编码器反转时,情况正好相反。最终输出的脉冲分别送入控制检测电路进行计数。

2.2 Arduino控制板

本检测仪采用了意大利最新开发的Arduino Due微控制器。Arduino Due是一块基于 Atmel SAM3X8E CPU的微控制器板。它是第一块基于32位ARM核心的Arduino,使用32位ARM核心的Due相较于以往的使用8位AVR核心的其他Arduino更强大:32位核心在一个时钟能处理32位的数据。控制板包括54个数字I/O引脚 (其中12路PWM输出),12个模拟输入通道,2个模拟输出通道 (DAC),I/O口总输出电流为130 mA。3.3 V端口输出能力为800 mA,5 V端口输出能力为800 mA,FLASH 512 KB (所有空间都可以储存用户程序),SRAM 96 KB (两个部分:64 KB and 32 KB),时钟速率[4?5]为 84 MHz。

由于Arduino due的工作电压为3.3 V,I/O口可承载电压也为3.3 V,所以经过调理电路产生的5 V脉冲不能直接处理。本检测仪通过SN74lVC4245芯片把5 V的脉冲整形为3.3 V的脉冲。

2.3 液晶显示电路

本设计中采用了国产开发的可编程智能LCD(即Programmable Smart LCD,简称PS?LCD)。PS?LCD是一种包含LCD显示屏、LCD控制器、触摸屏、人机界面处理系统和通信接口于一体的智能显示模组,通过可选的通信接口与外部控制单元(如:51单片机、ARM、DSP、PC、PLC、总线设备等)连接,实现系统的人机交互界面。

新建Designer工程,定义界面分辨率、界面切换效果和主界面等;设置背景、加入/设置控件、定义事件动作等;PS?LCD的采用Java Script的脚本语言,Java Script是因特网上最流行的脚本语言,它存在于全世界所有 Web 浏览器中,能够增强用户与 Web 站点和 Web 应用程序之间的交互。本液晶显示屏通过脚本编写实时地显示微控制器采集送过来的脉冲个数,并进行判断。

用LCD模拟器验证界面效果和通信过程,重复前面步骤直到满意为止。

PS?LCD作为先进的智能人机界面产品,能通过通信接口轻松灵活地与外部控制单元实现数据交互。目前,PS?LCD支持两种通信协议:CTP(Cooky Talking Protocol)协议和用户自定义(UserDefine)协议。本检测仪采用的是CTP协议。

在CTP通信模式下,PS?LCD在收到通信命令后,会立刻执行,结束后会向主控制器返回结果。由于PS?LCD的串口通信协议跟微控制器Arduino Due的通信协议不一致,在通信过程中要进行转换和控制。为了取消PS?LCD命令执行结果的自动回复消息,在CTP通信模式下,通过调用ctpSet(“reply”, 0)函数取消PS?LCD的自动回复。PS?LCD同时通过通信协议产生的串口信号来控制微控制器的工作,真正实现人机互动的效果[6]。

生成界面输出文件spf,然后将spf文件通过PS?LCD专用软件工具Flex下载到PS?LCD验证最终界面效果。

本检测仪PS?LCD最终的检测界面如图3所示。

图3 检测界面

3 软件部分设计

3.1 脉冲计数子程序

为了能更加准确地对脉冲进行测试,采用外部中断进行计数,Arduino due 控制板的54个数字I/O引脚,均可以作为中断端口。编写的主要计数程序如下[7?10]:

void setup()

{

Serial.begin(115200);

pinMode(APin, INPUT);

pinMode(BPin,INPUT);

attachInterrupt(APin, blinkA,RISING); //上升沿中断模式//

attachInterrupt(BPin, blinkB,RISING);

T=millis();

}

void loop()

{

if(Serial.available() > 0) //判断显示器是否发送信号//

{

str1 = Serial.read();

if( str1==′A′)

//根据显示器送来的信号判断光电编码器型号//

{

count=0;

num=0; //清零//

}

}

while(num!=count)

{

num=count;

sprintf(str,"pulse.text=%d;",num);

Serial.println(str);

}

}

void blinkA()

{

if((millis()?T)>0.5) //防抖动设计//

{

count++;

T=millis();

}

}

void blinkB()

{

if((millis()?T)>0.5) //防抖动设计//

{

count??;

T=millis();

}

}

3.2 液晶显示程序

根据所要测试的光电编码器,选择不同的型号,不同型号的光电编码器定义不同的发送信号,以LBJ?001?2048型光电编码器为例,选择按钮的脚本编写子程序如下:

pulse.text=""; //脉冲显示个数清零//

result.text=""; //脉冲判断结果清零//

du.text=""; //角速度显示结果清零//

if (xinghao.currentIndex=1) //选择第一种型号//

sysCom0.write(0x41); //向单片机发出A控制字符//

else if (xinghao.currentIndex=2) //选择第二种型号//

sysCom0.write(0x42); //向单片机发出B控制字符//

其中sysCom0.write(0x41)为写入串口发送缓冲区,串口向外部发送1字节数据 0x41,即是字符‘A’。当Arduino微控板接收到串口送过来的‘A’字符时,即可判断出待测试的光电编码器型号为LBJ?001?2048,启动相对应的程序进行测试。同理当选择第二种型号测试时,Arduino微控板将接收到串口送过来的‘B’字符时,即可判断出待测试的光电编码器型号为SE0932II?5400P/r,启动相对应的程序进行测试。

4 结 语

本文着重介绍了基于Arduino开发环境的光电编码器检测仪的设计,并实现Arduino微控板与PS?LCD的通信控制问题。由于Arduino是一个开放的单片机开发人机互动产品的软硬件平台,对于基于Arduino开发环境的电子制作竞赛、电子艺术品创意开发、电子检测产品等方面具有较好的参考价值。

参考文献

[1] 蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,20(16):155?157.

[2] 李德骏,马孝辉.基于Arduino平台的家用安防监控系统设计[J].科技与生活,2011(1):114?115.

[3] 王汀.微处理机原理与接口技术[M].杭州:浙江大学出版社,2008.

[4] 杨继志,杨宇环.基于Arduino的网络互动产品创新设计[J].机电产品开发与创新,2012,25(1):99?101.

[5] 纪欣然.基于Arduino开发环境的智能寻光小车设计[J].现代电子技术,2012,35(15):161?163.

[6] 纪松波,侯婷.智能液晶触摸显示终端与单片机接口的设计[J].现代电子技术,2010,33(12):16?18.

[7] 崔才豪,张玉华,杨树财.利用Arduino控制板的光引导运动小车设计[J].自动化仪表,2011,32(9):5?7.

[8] BENDER P, KUSSMANN K. Arduino based projects in the computer science capstone course [J].Journal of Computing Sciences in Colleges, 2012, 27(5): 152?157.

[9] 邹建梅,王亚格.利用Arduino增强FLASH互动性的研究[J].中国教育技术装备,2010(36):107?109.

上一篇:光电探测器范文 下一篇:光电信息工程范文