绝对编码器(精选7篇)
绝对编码器 篇1
0 引 言
在跟踪控制系统中,控制精度总是受各方面因素的影响。控制系统功能和性能的实现受数据采集的影响,具体有传感器采集数据、数据传输的方式、算法处理及输出控制等4个基本环节,每个环节都有可能产生误差,环节之间也有误差传递,从而影响跟踪控制精度。在这些环节中,数据源是重要的一环,没有准确的数据来源会对相应的控制模式带来影响。
1 数据采集的编码实现
跟踪控制系统所需采集的数据为跟踪运行轨道上的平面坐标的变化速度,跟踪系统通过平面坐标的变化特征跟踪轨道,而跟踪轨道由两组电机进行控制,故对数据的采集也就变成了对两组电机转速的采集。
数据采集用的传感器,可以采用由旋转变压器构成的模拟编码器。旋转变压器产生的是模拟信号,通过对主副线圈产生的信号进行误差补偿最后形成所需信号,该信号还要经过A/D转换。很明显在高精度控制情况下,这种方式产生的误差大,误差补偿有限。也可以采用基于光电原理的数字式传感器,这类传感器进行数据采集时采用的是Eltra编码器,为了配合跟踪控制系统的需求选用了单转绝对编码器。单转绝对编码器的内部结构是一个具有编码的圆盘,通过光电转换,把光脉冲转换为电脉冲,再经过信号处理,形成数据信号的编码系列。对单转绝对编码器而言,它的编码位置是由输出代码的读数确定的。在一圈里,每个位置的输出代码是唯一的,这样的好处是:当电源断开时,绝对型编码器并不与实际位置分离;当电源再次接通时,编码器的读数仍然是当前的有效读数。编码器的输出代码用于确定具体的位置,编码采用二进制码便于对信号进行处理,从而得到实际位置的读数。从内部的光电转换结构看,二进制码是直接从圆形光盘的转动所产生的光电转换脉冲取得的,从一个编码变到另一个编码时,如果采用顺序二进制码,位置的同步和采集就变得非常困难。如4位二进制数由7(0111)变换到8(1000)时,顺序二进制码的每一位都改变了状态,要求同一瞬间同时改变状态是不可能的,这使得在改变状态的过渡时刻得到的编码读数有可能完全是错误的。为了克服这一问题,在数据采集的编码中采用格雷码,这样就解决了顺序二进制码存在的问题。
2 编码器的接口
跟踪控制系统的中控室与数据采集点的距离较远,为了保证数据在传输过程中不受外界电磁干扰的影响,选用了SSI(Synchronization Serial Interface,同步串行接口)绝对编码器,从数据采集点到中控室之间的数据传输采用RS 422标准。RS 422是全双工的传输方式(同一时间既可以发送,又可以接收),RS 422标准是双平衡信号方式,接口采用平衡驱动器和差分接收器的组合,在较远距离信号传输过程中,利用信号差分特点,消除在传输过程中外界电磁干扰的影响。但仍然需要处理信号同步问题,Eltra提供的绝对编码器需要外界提供时钟触发信号,以启动单稳态电路,在单稳态电路的控制下实现信号的转换、存储和发送。Eltra具有SSI接口的绝对编码器所需的时钟激励信号如图1所示[1]。
由图可知,要使绝对编码器正常工作,必需要由外部提供时钟信号,将所产生的差分时钟信号用作绝对编码器开始工作所需要的同步时钟激励信号,这样设计使编码器的工作稳定性得到了极大地提高。同步问题的解决使采集数据的误差降低,对跟踪控制系统整体跟踪精度的提高起到了决定性的作用。
3 接口的设计及编程
编码器要求时钟发生电路提供的时钟信号可以调整,调整范围为[1]100 kHz~1 MHz。根据逻辑时序的要求,在静止条件下,时钟和数据信号处于逻辑高电平上,编码器内部单稳态电路不工作。在第一个时钟信号下降沿,单稳态电路启动,编码器内部的并行数据信号输入到P/S(并/串)转换器,并在转换器内存储。在时钟信号上升沿MSB(最高有效位)被传送至输出端的数据线上。当时钟信号再次至下降沿,接口从数据线上得到MSB数据,当数据稳定后,单稳态电路再次重新启动。每次当顺序时钟脉冲信号在上升沿时,数据连续传送至输出数据线上,同时需要控制信号处于下降沿。在顺序时钟脉冲结束时,外部控制信号时钟需要获得LSB(最低有效位)的数据,当顺序时钟脉冲被中断,单稳态电路不再启动。一旦TM(单位定时电路时间信号)消失,数据线路回到逻辑高电平上,编码器内部单稳态电路自动停止工作。信号波形示意如图2所示。
为了产生时钟信号,选用SPCE061A芯片作为处理器[2],该芯片为16位芯片,带32位I/O,具有串行输出接口,双16位定时器/计数器,内部结构[2]如图3所示。
以SPCE061A芯片为处理器,设计一个最小系统[2],如图4所示。
该最小系统构成的电路简单,稳定性好,满足了数据采集系统的要求。
4 数据信号的传输
对本系统而言,数据信号是二进制编码,在数据采集过程中没有对数据编码进行封装,因此数据信号的传输是直接通过物理链路层进行。由于被控对象离中控室较远,因此数据采集后需要传输较长的距离,如采用一般的RS 232接口的非平衡传输方式[3],即所谓单端通信方式[1],其收、发端的数据信号是相对于信号地, 典型的 RS 232信号在正负电平之间变化,在发送数据时,发送端驱动器输出正电平在+5~+15 V,负电平在-5~-15 V。当无数据传输时,传输线上为 TTL电平,从开始传送数据到数据传输结束,传输线上的电平从TTL电平到RS 232电平再返回TTL电平。接收器典型的工作电平在+3~+12 V与-3~-12 V。由于发送电平与接收电平的差仅为2~3 V,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大约为15 m,最高速率为20 Kb/s。RS 232是为点对点通信而设计的,其驱动器负载为3~7 kΩ,所以RS 232仅适合本地设备之间的通信,对距离较远的数据传输显然存在问题。
RS 422标准全称是“平衡电压数字接口电路的电气特性”[4],由于接收器采用高输入阻抗,发送驱动器比RS 232的驱动能力更强,故允许在相同传输线上连接多个接收节点。RS 422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式或硬件方式(一对单独的双绞线)实现。RS 422的最大传输距离约为1 000 m,最大传输速率为10 Mb/s,其平衡双绞线的长度与传输速率成反比,在100 Kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100 m长的双绞线上所能获得的最大传输速率仅为1 Mb/s。在本系统中,数据采样率为10 Kb/s,数据传输的距离大约为80 m,可见在本系统中采用RS 422完全可以满足要求。
5 转换器
数据采集后需要传送到中控室的主计算机进行处理,在中控室的计算机端,数据信号是通过串口以RS 232标准接入的。而数据源端输出的信号是RS 422标准,数据编码是格雷码,不能直接与主计算机之间进行数据传输,数据采集还需要由激励信号启动。由此设计一个数据转换器,由转换器产生激励信号,控制数据采样的采样率进行采样。转换器也作为绝对编码器输出数据的接收器,转换器接收数据以后,将格雷码转换为二进制代码,再将二进制代码进行处理,直接转换为控制转速的编码信号,这样就大大减轻了主计算机对接收到的数据信号进行分析处理的工作。转换器将处理后的转速信号以RS 232标准与主计算机的串口之间直接进行数据通信,由于转换器的位置也在中控室,距离主计算机很近,故采用RS 232标准完全能够满足要求,根据数据采集的采样率,利用串口通信的波特率也能满足系统需要。
在本系统中,绝对编码器采用的是成品,保证了数据源的准确和稳定,主计算机采用工控机,其稳定性和可靠性也能满足要求。数据转换器为了提供同步激励和接收数据以及标准转换,只能自己分析设计,对底层物理链路层而言,需要进行充分的考虑,本文不对转换器的分析和设计进行讨论。
6 结 语
在数据采集方面,就跟踪控制系统而言,采用旋转变压器,其价格相对较低,但是其采集的一次信号为模拟量,要经过中间的A/D转换和二次误差调整与精度补偿,给数据源的精度带来一定影响。使用绝对编码器,由于输出的是数字信号(光电转换在内部完成),减少了转换与补偿带来的误差影响,提高了数据精度,精确的数据源对控制精度起到了绝定性的作用。尽管数据通信已经较为成熟,但选择适当的方式减小数据传输过程带来的影响也是至关重要的一个环节,这在实际系统设计中应该得到相应的重视。就本文提出设计的系统模型,在硬件系统配置上进行了充分的考虑,所采集的数据与跟踪算法的配合,使跟踪控制的精度得到了保证,在实际运行过程中监测的结果数据显示,实际运行控制精度比设计预期的精度要高。
摘要:在跟踪控制系统中,控制精度取决于控制信号的产生,控制信号是否受到数据采集的影响,基于绝对编码器的数据采集系统,利用绝对编码器的特点,可以方便灵活地控制数据信号的产生和传输,为提高控制系统的整体性能提供了有利的支持,提高了信号的抗干扰能力。
关键词:绝对编码器,控制系统,数据采集,传输,控制精度
参考文献
[1]Eltra公司.增量型与绝对型编码器[M].意大利:Eltra公司,2009.
[2]赵定远,马洪江.16位单片机原理与语音嵌入式技术[M].北京:中国水利水电出版社,2006.
[3]罗伟雄.数据采集与传输系统评述[J].电子世界,2003(2):42-43.
[4]潘新民.计算机通信技术[M].北京:电子工业出版社,2002.
[5]米玉华,赵仕勇.基于PLC和绝对编码器的定位及转速测控系统[J].自动化信息,2005(10):51-53,56.
[6]吴伟,郝建新,卢力.基于ARM和FPGA的高速高空数据采集系统的实现[J].现代电子技术,2009,32(1):126-128.
[7]储明聚,周西峰,郭前岗.数字式超声波探伤仪中高速数据采集模块设计[J].现代电子技术,2010,33(6):26-28.
[8]葛晓飞,彭雪明.数据采集系统中的DSP控制回路[J].现代电子技术,2008,31(20):192-194.
绝对编码器 篇2
随着精密数控机床、工业机器人等现代化工业化设备的快速发展, 对伺服驱动系统提出了越来越高的要求, 高速、高精度是伺服驱动系统未来的发展方向, 而编码器作为伺服驱动系统最常用的位置检测环节, 毫无疑问是提高其速度、精度的关键环节之一。
光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器[1], 它具有体积小、分辨度高、寿命长等特点, 是目前伺服系统中应用最多的传感器。绝对式编码器的每一个位置对应一个确定的数字码, 可以直接读出角度坐标的绝对值, 没有累积误差, 电源切除后位置信息不会丢失, 它的示值只与测量的起始和终止位置有关, 而与测量的中间过程无关, 因此, 绝对式光电编码器更适合应用于高速、高精度的伺服驱动系统。本文将以绝对式光电编码器为对象, 对其通信协议进行设计。
2 绝对式光电编码器构成及原理
绝对式光电编码器[2]是直接输出数字量的传感器, 它是由光电码盘和光电检测装置组成, 在它的圆形码盘上沿径向有若干同心码道, 码盘上的码道数就是它的二进制数码的位数, 工作时, 码盘的一侧放置光源, 另一侧放置光电接收装置[3], 如图1所示。
由于光电码盘与电动机同轴, 电动机旋转时, 码盘与电动机同速旋转, 经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号, 通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。当码盘处于不同位置时, 光电元件接收光信号, 并转换出相应的电信号, 形成二进制数[4]。这种编码器的特点是不要计数器, 在转轴的任意位置都可读出一个固定的与位置相对应的数字码。显然, 码道越多, 分辨率就越高, 对于一个具有N位二进制分辨率的编码器, 理论上其码盘必须有N条码道。
3 绝对式编码器通信协议设计
所谓编码器通信协议, 是指编码器与后续电子设备之间的通信, 这里的后续电子设备可以是单片机、CPLD/FPGA、DSP、ARM或ASIC等大家熟知的电子器件[1]。在研究了国际上现有的多种通信协议后, 认为多摩川公司的通信协议具有电气连线简单、通信可靠等特点, 因此, 本文在多摩川编码器通信协议的基础上, 提出一种新的绝对式编码器通信协议设计, 该通信协议的设计包含但不仅限于多摩川通信协议, 下面将从电气连接和通信协议数据帧两方面进行介绍。
3.1 电气连接
绝对式光电编码器的电气连接如图2所示。两根数据线采用RS-485接口, 通过一块RS-485驱动芯片与后续电子设备通信, 驱动芯片有一个发送器和接收器。后续电子设备通过切换驱动芯片的工作状态, 向编码器发送数据, 或者接收编码器发送的数据。
3.2 通信协议数据帧
后续电子设备与编码器通信采取“一问一答”[5]的方式, 由后续电子设备向编码器发送相应的控制指令, 编码器根据接收到的不同控制指令反馈不同的数据, 本文介绍的通信协议主要包括三种模式: (1) 读取编码器信息模式; (2) 读取编码器内EEPROM模式; (3) 写入编码器内EEPROM模式。
3.2.1 通信协议模式
(1) 读取编码器信息模式
读取编码器信息模式如图3所示, 由后续电子设备向编码器发送“读取编码器信息”控制指令, 编码器接收到该控制指令, 立即锁定当前的数据值, 并按照设定的算法进行运算和校验, 最终经过处理的数据值由编码器反馈至后续电子设备。读取编码器信息模式是编码器最主要的工作模式。
后续电子设备向编码器发送控制帧KZ, 编码器根据该控制帧KZ的要求, 输出控制帧KZ、状态帧ZT、数据帧SJn和数据校验帧CRC。其中使用数据帧SJn的个数要根据发出的控制指令要求决定, 本设计中n=4~10。
(2) 读取编码器内EEPROM模式
读取编码器内EEPROM模式如图4所示, 由后续电子设备向编码器发送“读取编码器内EE-PROM”指令, 读取编码器内EEPROM指定地址上的数据, 编码器按该指令输出数据。
后续电子设备向编码器发送控制帧KZ、地址帧DZ和数据校验帧CRC, 其中控制帧KZ包含要求读取EEPROM的控制指令, 编码器输出控制帧KZ、地址帧DZ、数据帧ESJ和数据校验帧CRC。
(3) 写入编码器内EEPROM模式
写入编码器内EEPROM模式如图5所示, 由后续电子设备向编码器发送“写入编码器内EE-PROM”指令, 将相应数据写入编码器内EE-PROM的指定位置上, 以实现对编码器内EE-PROM的数据变更。
后续电子设备向编码器发送控制帧KZ、地址帧DZ、数据帧ESJ和数据校验帧CRC, 其中控制帧KZ包含要求写入EEPROM的控制指令, 将数据帧ESJ的数据写入地址帧DZ指定的位置, 编码器根据指令相应输出控制帧KZ、地址帧DZ、数据帧ESJ和数据校验帧CRC。
3.2.2 各数据帧格式
在本设计中, 各数据帧的位数不是固定的, 根据具体的功能来设定, 同时, 每个数据帧以“0”为起始位, “1”为结束位, 起始位和终止位并不代表编码信息内容。
(1) 控制帧KZ
控制帧KZ的格式如图6所示, 控制帧包含相应的控制命令, 用来控制编码器的工作状态。传输过程中没有时钟同步, 同步码用来同步传输, 在没有数据传输时, 数据线拉高为高电平, 当编码器或电子设备端检测到低电平时, 即认为检测到数据帧, 通信速率可变化, 根据应用场合不同, 可设置高低不同的通信速率, 一般设置在2 Mbit/s~10 Mbit/s之间, 在本文中通信速率默认为5 Mbit/s;控制指令bit的个数可以根据实际要求设定, 本文设计的bit为4~8个, 为便于计算, 图6表示4个bit的情况, 另外还有一个控制命令校验位kjy, 是对4个bit控制命令的奇偶校验, 以保证信息发送可靠, 控制指令具体内容见表1。
(2) 状态帧ZT
状态帧ZT格式如图7所示。状态帧包含了编码器相应的工作状态。信息位bit个数可设为4~8个bit, 为便于计算, 图7中表示4个bit位的格式情况。表2中列出部分具体的内容定义;编码错误报警位cb0和cb1, 通信报警位tb0和tb1, 正常状态置“0”, 当置“1”时表示的具体报警情况见表3。
(3) 数据帧SJn (DZ/ESJ)
数据帧格式如图8所示。数据帧SJn中包含编码信息, 具体为单圈数据和多圈数据。数据位包含8个bit, 由于编码器单圈位数和多圈位数往往在十位以上, 所以在表示多位单圈数据或多圈数据时, 需要用几个数据帧表示。例如当一个绝对式光电编码器的单圈位数为17位, 故至少需3个数据帧表示单圈数据。
编码数据采用低位对齐的方式, 即编码信息由低位从第一个数据帧第一个数据位开始传输。数据帧多出编码位数的数据位则置“0”。编码器根据后续电子设备发送的控制帧中控制命令决定输出数据帧的内容, 包括单圈数据, 多圈数据以及数据帧的个数, 最少输出1个数据帧, 最多输出n个数据帧, 数据帧设置与数据位信息见表4, 另外, 地址帧DZ和数据帧ESJ的格式与数据帧SJn相同。
表4中:ABS0~ABS2表示单圈数据, 其中, ABS0/ABS2表示在24个bit里的低位/高位数据, 例如, 表示一个绝对式光电编码器的单圈位数为17位, ABS0和ABS1仅有16位数据, 因此, ABS2第一个数据位要占用, 其余高七位的数据置0。
ABM0~ABM2表示多圈数据, 数据帧的应用原理同上述单圈数据。
SJn中, n=4~10。
ESJ表示读/写EEPROM的数据。
(4) 数据校验帧CRC
CRC帧具体格式如图9所示, 数据校验帧包含CRC校验码, 接收完数据时可通过CRC校验检测数据的完整性。CRC校验帧的数据位为m个bit, m=8~16, 为方便计算, 图9表示8个bit的数据情况, CRC编码校验的计算公式可根据校验要求设定, 本文初步设计的两个计算公式为G (X) =Xm+Xm-5+1或G (X) =Xm+1。起始位和结束位不参与校验运算。
3.2.3 通信协议时序逻辑
本设计中编码器在通信过程中无时钟同步, 传输速率默认是5 Mbit/s, 若有P个bit, 则传输时间的计算式为:
t=200 ns/bit×p bit
例如, 计算控制帧的传输时间 (为便于计算, 上述各数据帧的格式在图中表示均为10个bit, 本文的所有帧均以10 bit计算, 但实际应用中可根据需要改变各帧的格式长度) , 控制帧为10 bit, 则控制帧的传输时间为t=200 ns/bit×10 bit=2 000 ns=2μs。另外, 编码器在接收后续电子设备发送的数据后, 设定2~3μs后反馈输出数据, 根据3.2.1所述的三种工作模式下的数据帧格式, 推算出整个传输过程中的时序关系如图10所示。
4 通信协议实际应用
采用本文介绍的通信协议设计, 应用到国产绝对式光电编码器上, 应用设备实物见图11, 图11中设备由一台编码器和后续电子设备组成。
按照上述三个工作模式的设计, 进行仿真测试, 读取编码器信息波形如图12, 读取编码器内EEPROM波形如图13, 写入编码器内EEPROM波形如图14。
通过与国产编码器配合使用测试, 证明用上述该通信协议, 编码器与后续电子设备能完全实现前期设计的功能。即使是国家要求的三级/四级标准脉冲群干扰和静电干扰的环境, 通过该协议进行通信, 仍能保持数据通信的正确, 并保证数据传输的稳定与可靠性。
5 结束语
本文设计的绝对式光电编码器通信协议, 采用的异步传输模式, 通讯速率默认为5 Mbit/s, 传输速度较快;电气连接结构较简单, 易于技术人员的操作和检查;通信模式的数据帧设计简单, 数据格式内部设置丰富, 可根据实际要求调整数据帧格式长度, 适用于不同类型的编码器;另外, 经过实际验证, 证明了该通信协议传输的稳定性和可靠性。因此, 本文设计的编码器通信协议可广泛应用于各类编码器, 在工业化生产中发挥积极作用。
摘要:编码器是现代化工业设备快速发展的重要环节, 提出一种新的绝对式光电编码器通信协议设计, 该设计主要介绍了在三个基本工作模式下的数据传输格式, 以及各数据帧的具体格式;同时, 还对各模式的运行响应时间进行计算;最后, 将该通信协议应用到国产编码器中, 能完全实现最初设计功能。设计的编码器通信协议具备传输速度较快、电气连接结构较简单以及较高稳定性等特点, 可广泛应用于各类编码器中。
关键词:编码器,通信协议,数据帧格式,时序
参考文献
[1]彭雨.基于FPGA的绝对式光电编码器通信接口研究[D].武汉:华中科技大学, 2011.
[2]苏海冰, 刘恩海.单圈绝对式编码器的研制[J].光学精密工程, 2002 (10) :74-78.
[3]田岳, 和文国, 李彦林, 等.低成本的高分辨率磁编码器的研制[J].传感器世界, 1999 (9) :7-11.
[4]姜义.光电编码器的原理与应用[J].机床电器, 2010 (2) :25-28.
绝对编码器 篇3
磁编码器是替代光编码器、导电塑料电位器、旋转变压器、测速发电机高性价比的传感器。它可以分别从经济化、多功能化、信息化以及柔性化的程度上去进行改变。随着工控技术的不断发展,新的要求也在不断的出现。正因为这样,选用旋转编码器的应用的需求也就越来越突出。当然,有发展就有挑战,每一次技术的更新都会引起产品的除旧布新,旋转编码器零件供应商也不例外,当已有的产品不能解决实际中的问题时,市场的需求就会督促研发者进行新的测试,在电机,医疗机械,机器人,汽车等行业,对旋转编码器分辨率的要求越来越高。高精度、小型化必将成为旋转编码器的归宿,高分辨率磁编码器技术的瓶颈已经燃起。
2 18位分辨率编码器工作原理
芯片MU是IC-HAUS公司在最近几年刚研发成功的磁偏轴位置定义的集成霍尔传感器,与以往的单轨道采集信号不同,此霍尔传感器通过扫描两个独立轨道(即主、游标)得出一个机械内的绝对位置,利用游标卡尺原理确定每圈不同位置的“二进制代码”。该芯片内部,可自动对传感器信号进行一定程度的补偿以及纠正一些典型的信号错误。在一个正弦周期内,内部的12位转换器可提供高精度的基于主轨与游标轨的两个位置信号,游标轨上的计算引擎可在一个机械周期内计算绝对位置信号,并与主轨上信号同步。在数据传输的时候,可以用软件对接口的配置实现增量、模拟等信号传输。
绝对位置测量系统还包括一个的磁鼓部分,在旋转系统中,磁鼓具有两个轨道,外轨(主轨)32对磁极用于高精度位置定义,内轨(游标)31对磁极比主轨少一对磁极,用于计算磁鼓一圈内的绝对位置,这样,一圈之内的每个位置的“独特性”就被这两轨上的不同磁极数以游标的形式标记出来了。
3 编码器的设计与实现
18位分辨率编码器的设计中主要包括两部分:电路部分和机械部分,电路部分如图1所示,它包括信号采集,单片机处理数据,RS485发送数据,以及电源部分;机械部分如图2,主要包括轴承((1))和码盘((2)表示主轨,(3)表示游标轨)。
4 结语
编码器分辨率的高低将直接影响用户的测量最小角度值,分辨率越高,所能测量的最小角度越小,造成的误差也就将越低。本产品经过单片机校准以后,信号更稳定,实用性也就越强,以其不一样的特色,应用前景也会不错。
摘要:磁编码器具有无触点、长寿命、高分辨、低温漂、优线性、精复位、高频响、多保护、抗干扰、耐振抗冲、适用水、油、气、振动、冲击等多种恶劣工业环境,在油、水、粉尘等恶劣环境下、电磁辐射强和振动大的工业环境中应用较多,在工业自动控制中,其输出的信号有模拟量、数字量等多种形式。与传统的单磁极一周期输出正余弦信号不同,本文在磁性编码器的基础上,研究了一种双轨道型码盘的磁编码器,利用游标卡尺原理实现了高分辨、突破了以单磁极为基础的编码器设计技术。单圈计量采用了拥有两个独立霍尔敏感器件的旋转编码器芯片,内置数字信号处理器,模拟、BISS、SSI或者SPI输出,绝对位置分辨率可达1位至18位,可在360度范围内实现绝对位置输出;增量式分辨率可达1至16位。针对18位绝对位置输出角度时,受到干扰较大,输出不稳定的问题,引入了ARM单片机STM32F103进行校准,稳定输出的角度值。
关键词:磁编码器,绝对位置,高分辨率,ARM
参考文献
[1]杜颖财,王希军,王树洁,卢新然,梁立辉.增量式编码器自动检测系统[J].电子测量与仪器学报,2012,11:993-998.
[2]吕德刚.集成霍尔磁编码器的研究[D].哈尔滨工业大学,2009.
绝对编码器 篇4
在电机伺服系统中,通常需要检测转子的位置信息作为闭环控制的反馈信号,对高精度伺服系统而言,位置反馈环节的检测精度直接影响伺服系统的性能,常用的位置检测装置有光电编码器和旋转变压器等。旋转变压器具有结构简单、成本低、可靠性和防护等级高的优点,但其解码复杂、专用解码芯片昂贵以及对电磁干扰敏感等缺点限制了其发展,现已逐渐被光电编码器取代。光电编码器有增量式和绝对式两种,增量式光电编码器精度比较低,其输出的A,B正交信号易受电磁干扰和机械抖动引起误计数,导致位置定位有误,且其无掉电记忆功能。绝对式光电编码器具有精度高、可靠性高、抗干扰能力强、具有掉电记忆功能等特点,因此,绝对式光电编码器广泛应用于雷达、机器人、精密机床和高精度伺服系统等对精度要求比较高的场合。
绝对式编码器的信号输出形式有并行和串行两种,其中串行输出以SSI接口(同步串行接口)数据连线少、可靠度高的性能优势而得到较多应用。但是由于采用串行输出方式会导致较大的传输延迟,这就对串行通信的速度和可靠性有比较高的要求。绝对式编码器的应用需要专用的处理芯片[1],芯片的价格十分昂贵,有人采用CPLD、FPGA等硬件实现对编码器串行数据的处理[2],这无疑增加了系统的复杂程度。本文介绍了以DSP芯片TMS320F2812为核心,针对意大利LIKA公司的HMCT/16/4096/BA绝对式光电编码器进行了SSI接口电路和软件的设计,实现DSP的通用I/O口与编码器之间的通信。
1 绝对式光电编码器
意大利LIKA公司的HMCT/16/4096/BA绝对式光电编码器为单圈分辨率16位(65 536)且圈数12位(4 096)的多圈高精度编码器,其分辨率可达0.001 5%;输出电路形式为SSI等几种输出方式;输出码制为格雷码和二进制码可选;轴心(轴向和径向)负载最大为40 N;轴心旋转速度最大6 000 r/m;转动惯量约95 g·cm2;供电电压10~30 V;功耗1 W;输出电流最大为40 mA;存储温度范围:-40~100 ℃;工作温度范围:-20~85 ℃;保护等级:IP65;质量:0.3 kg。电气连接方式:EML121H接头,连接器引线如表1所示。其中,Brown/Green为供电电压正,White/Green为供电电压负,本方案中除用到供电电压信号外,只用了其中的CLOCK+,CLOCK-,DATA+和DATA-信号。
2 SSI接口及SSI协议介绍
SSI接口光电编码器采用主机主动读取方式,是以2对符合RS 422电平的信号线进行信号传输,1对数据(Data)线,1对同步时钟(Clock)线。SSI同步时钟频率决定数据传输速率,其范围较宽为0.1~2 MHz,可以根据传输距离远近选择相应的传输速率,传输速率自适应。SSI数据传输时序如图1所示[3,4],在同步时钟控制下,从最高有效位(MSB)开始传输数据,在时钟信号的第一个下降沿,如“1”位置,编码器的当前位置值被储存,在随后的时钟上升沿,如“2”位置,存储的数据被送出,即最高有效位MSB被送出,以后依次送出其他有效位数,直到最低有效位LSB被送出,最后一个由低到高电平的跳变,如“3”的位置,输出传输周期结束,再经Tm时间后编码器进入下一个传输周期。图中T为同步时钟周期,Tm为脉冲序列结束保持高电平时间(Tm>T),如果位数小于25位,要用“0”填充补齐,具体补零位置见参考文献[5]中的“树形(TREE)数据对齐格式”和“LSB位右对齐格式”。
3 硬件电路设计
采用绝对式编码器的电机伺服控制系统包括:待测量旋转位置的电动机、绝对式编码器、电平转换元件MAX488、以DSP为核心的电机控制板以及电机功率驱动电路。本文主要介绍绝对式编码器HMCT/16/4096/BA和DSP芯片的接口部分。
由于该编码器输出接口为SSI接口,而单片机、DSP、PC104、工控机等工控领域常用的控制器一般不提供SSI接口,此外SSI光电编码器供应商一般也不提供接口转换器,所以有必要将SSI接口转换成可以与DSP等可以通信的串行接口。接口电路如图2所示。
由图可见,绝对式光电编码器的输入时钟信号(CLOCK)和输出数据信号(DATA)均为差分信号,其数据传输符合EIA RS 22标准, 是符合RS 422协议的电平,因而需将其转换成可以输入单片机或者DSP的电平。能完成这种转换的芯片很多,大致有两类: 全双工和半双工,由编码器读数时序图,可数据的输出在时钟信号下降沿转换,在时钟信号上升沿传送,因此应选用全双工的转换芯片。本文选用MAX488芯片作为绝对式光电编码器与DSP芯片MS320F2812通信的接口芯片,它由5 V电压供电,是一种适用于RS 422和RS 485的低功率收发器,它的芯片中包含一个驱动器和一个接收器,并且可以2.5 Mb/s速率进行传输[5]。绝对式光电编码器与DSP芯片TMS320F2812通信的接口电路图如图3所示。
在该电路中, 用DSP的GPIOF7(CANRXA)口来模拟产生绝对式编码器读数时所需的同步时钟信号,用GPIOF6(CANTXA)口接收数据,同时为了减少电路前后的干扰以及实现与DSP接口3.3 V电平的匹配,在电路中使用了两路高速光耦器件进行光电隔离,并实现电平转换[6,7,8]。
4 软件设计
高精度多圈绝对式编码器可以同时输出多圈位置信息(nMT位)和单圈位置信息(nST位),其数据发送时序关系,如图4所示,当编码器接收到发送周期的第一个时钟信号下降沿时,读取(nMT+nST)位字长的绝对位置值存入数据缓存器。数据缓存器中数据随着时钟信号的下降沿串行同步发送数据,第一个发出的数据位是绝对位置值的最高位(MSB),最后一个发出的数据位是绝对位置值的最低位(LSB)。
一般SSI标准信号为25位,若不足25位要用零补齐,本文用到的编码器为单圈16位4 096圈的高精度编码器,总位数28位,它遵循的SSI传输格式如图5所示。
由图5可知,对于单圈位数和多圈位数超过25位的编码器,在编写通信程序时,需要产生32个CLOCK时序才可以将编码器的所有数据传输并接收完毕。由硬件电路可知,利用DSP的GPIOF7(CANRXA)口来模拟产生绝对式编码器读数时所需的同步时钟信号,用GPIOF6(CANTXA)口接收数据,具体通信过程如流程图6所示。
在整个流程过程中,产生CLOCK同步时钟时序以及数据处理是关键部分。整个实现过程如下:
(1) GPIOF7产生一个高到低跳变的电平,并适当延时,此时启动数据开始转换;
(2) GPIOF7产生一个低到高跳变的电平,并适当延时,此时已将最高有效位数据MSB传送至数据口,并读取数据到数据寄存器GPFDAT;
(3) 连续产生32个同步时钟CLOCK信号,依次将传输32位数据到数据寄存器GPFDAT,本文读取数据方法是按位读取,每次在新加数据时,将前数据左移1位然后再加,直到完成所有数据位读取完毕;
(4) GPIOF7产生一个低到高跳变的电平,高电平保持时间相对前面CLOCK同步时钟时序长一点,数据转换完毕。
下面给出InitGpio(void)函数的部分与本文有关的代码。
5 实验结果
实验结果如图7所示,由图可见,CH2通道为32个CLOCK时序图,CH1通道为32个CLOCK时序下对应输出的DATA数据波形图,该绝对式编码器单圈数值为0~25 536,经4 096圈可输出范围0~268 435 456数值,检测精度为0.001 5%,运行稳定可靠。
6 结 语
本文提供了一种基于DSP芯片TMS320F2812的通用I/O口与绝对式编码器SSI接口之间通信的硬件原理图、软件流程、程序实现步骤和部分代码。采用软件控制DSP的I/O口模拟时钟信号的方法,成功地解决了绝对式编码器SSI接口与微处理器通信的技术瓶颈,具有良好的通用性、易于实现,已成功应用于电机伺服控制系统,为微处理器与其他串行外设的通信提供了设计参考,具有一定的实用价值。
摘要:为了实现SSI接口的绝对式光电编码器在电机伺服控制系统中对电机位置的检测,采用了DSP芯片TMS320F2812的通用I/O口模拟SSI接口与绝对式编码器之间的通信,编写了模拟SSI接口通信时序程序并做了绝对式编码器位置检测实验,获得了绝对式编码器全范围的输出值,单圈数值为0~25 536,经4 096圈可输出范围0~268 435 456数值。得到了绝对式编码器在电机伺服控制系统中可实现位置精确采集和精确控制以及利用通用I/O口,实现SSI接口通信,其具有设计简单、成本低、易维护、位置检测精确以及可替代专用解码芯片的特点。
关键词:绝对编码器,DSP,串行通信SSI,TMS320F2812
参考文献
[1]靳江涛,赵勇进,陈朝基,等.一种SSI接口光电编码器数据并行采集设计方法[J].电子技术,2008(5):23-25.
[2]礼冰冰,杨明,贵献国,等.基于TMS320F2808的高精度绝对式光电编码器串行接口设计[J].微电机,2008,41(8):28-30.
[3]戴蓉,王高鹏,齐向华.SSI-485转换器的研究与应用[J].水利水文自动化,2008(2):46-51.
[4]张子蓬,王淑青,刘辉.SSI接口的绝对值角度编码器值的读出方法研究[J].工业控制计算机,2005,18(12):4-6.
[5]Anon.Low-power,slew-rate-limited RS-485/RS-422trans-ceivers[EB/OL].[2011-03-29].http://wenku.baidu.com.
[6]程晓莉,谢剑英,王林.绝对式编码器在电机定位中的应用[J].控制工程,2007(14):548-650.
[7]蒋利勇,李伟光.绝对式光电编码器的接口装置设计与应用[J].设备制造技术,2007(5):62-64.
绝对编码器 篇5
光学编码器一般由光源、编码盘或编码尺、光电检测单元和信号处理电路几部分组成。针对绝对式编码器,因采用的编码方式、编码信号检测和处理方式的不同,发展出各种不同的编码器。在编码方式上,传统周期二进制编码是目前应用较多的一种编码方式,如循环码、反射码、格雷码等。这类编码的特点是码道数和编码位数成正比,故不易实现小型化。为减少绝对式编码器的码道数,提出了各种改进的二码道或三码道编码方法,如矩阵式编码、准绝对式编码、游标式编码、伪随机码编码、M码编码等[1];为进一步实现编码器小型化、降低成本,近年的研究集中在单码道编码方式上,如简码编码、位移连续码、单圈绝对编码等[2,3,4,5]。编码信号检测和处理方式与光学编码器的编码方式紧密相关,主要有直接光电检测、莫尔条纹细分和图像检测三类。直接光电检测主要用于低精度码盘或绝对式编码的检测;莫尔条纹细分技术利用了莫尔条纹的光学放大特性实现对增量式编码的细分检测,目前常用绝对式编码器主要采用直接光电检测和莫尔细分技术[6];随着图像传感器和集成电路技术的发展,新一代的光学编码器采用了图像检测技术。基于图像传感器的光学编码器由于直接对编码图像进行数字化,并用数字信号处理技术提取编码位置信息,极大地提高了检测精度,也为研究新型的高效编码方式奠定了基础,成为当前国内外光学编码器研究的热点[7,8,9,10,11,12,13]。
本文提出了一种新型单码道绝对式光学编码器的编码和解码方法,可用于圆编码器和直线编码器中。该编码方法对采用m序列进行编码,并对编码单元宽度进行对称调制。与文献[7]及文献[8]中所提出的编码方法相比,该编码方法是一种基于m序列编码的单码道编码方式,编码更加简洁,而且编码范围更广。采用该编码方法构造出的绝对式光学编码器,其复杂度与增量式光学编码器相似只有一个码道,便于用线阵图像传感器对编码图像进行数字化,提高了编码器的响应速率。另外、本文还提出针对该编码方法的解码和绝对位置测量方法,该方法与文献[7]、[8]中提出的方法相类似,均采用图像检测技术,通过图像传感器获取光学编码器的数字图像,再对其进行数字图像处理,最后得到数字图像的绝对位置信息。最后给出了直线编码器的绝对位置实际测量结果,测量结果表明:本文提出绝对位置测量方法测量精度高,对光强变化不敏感。
1 码宽对称调制编码栅尺
1.1 码宽对称调制编码方法
本文提出的单码道码宽对称调制编码方法由宽码和窄码两种基本编码单元组成。宽、窄两种基本编码单元构造方式如图1所示,定义编码单元波形中H和L对应阵列图像传感器检测的编码图像信号的不同光强值。宽码和窄码的编码单元码元宽度T(或称编码单元周期)相等。在一个编码单元周期T内,宽码编码单元和窄码编码单元的波形都是关于编码单元中轴偶对称,且宽码编码单元的占空比应大于窄码编码单元。由于图像传感器具有低通特性,为了降低从栅尺图像中解码出的编码码组的误码率,在具体选取宽、窄编码单元的占空比值时,应尽量使宽、窄码易于区别。
(a)窄码;(b)宽码.(a)Wide unit;(b)Narrow unit
再根据m序列绝对位置编码值可以生成单码道绝对位置编码波形:定义宽码为1、窄码为0或宽码为0、窄码为1均可,按m序列编码值用宽码或窄码无重叠的拼接构造出绝对位置编码波形。这里以阶数为4,生成多项式为初值为0001的m序列为例,其生成的编码序列值为100011110101100。定义宽码为1、窄码为0,构造出的单码道绝对位置编码波形如图2所示。
1.2 编码栅尺的构造
编码栅尺可以用各种基材如玻璃、钢等制造,分为透射式和反射式两种。对于反射式,基本编码单元中的H、L值对应不同的反射率;而对于透射式,每个编码单元的H和L则对应着不同透射率。这里以反射式的直线栅尺和圆栅尺的实现为例说明栅尺的构造,定义宽、窄编码单元中的H值为黑(低反射率)、L值为白(高反射率),根据图2中的单码道绝对位置编码波形构造出的编码栅尺如图3所示。
对直线栅尺如图3(a)所示,栅尺长度L为m序列长度与编码单元周期T的乘积,即:
式中k为m序列的阶数。对于圆栅尺,按m序列的单码道栅尺编码最大长度值等分圆周长,每个编码位置用定义的宽码或窄码编码单元无重叠拼接构造出栅尺如图3(b)所示。
(a)直线栅尺;(b)圆栅尺(a)Linear grating ruler;(b)Circular grating ruler
2 栅尺图像的解码及绝对位置测量
2.1 栅尺图像解码及绝对位置测量方法
一般编码栅尺分为透射式和反射式两种,虽然二者成像系统不同,但通过阵列图像传感器获取的栅尺数字图像是相似的,可以采用相同的算法处理。适当的设计图像传感器视场,可保证获取的每一帧数字栅尺图像中包含的完整编码条纹个数大于等于编码所用m序列的阶数。为实现对编码栅尺图像绝对位置的精确检测,将编码图像转化为灰度信号,采用数字信号处理方式对灰度信号进行绝对位置计算处理。具体的图像灰度信号的处理方法如下:
1)对一维图像灰度I0(j)进行平滑滤波,减少噪声对测量的影响,平滑滤波后的灰度信号为I(j);
2)对滤波后的I(j)进行中心差分:
差分的作用是将灰度信号I(j)中的脉冲上升沿转化为差分信号dI(j)的波峰,下降沿转化为灰度信号的波谷。从而只需计算差分信号dI(j)中的波峰和波谷的像素位置就可以得到灰度信号I(j)中的上升沿和下降沿像素位置。
3)计算灰度信号I(j)中脉冲上升沿精确子像素位置Pupn(n=,1,2…,N)和脉冲下降沿精确子像素位置Pdownn(n=,1,2(…,N)。逐像素扫描差分信号dI(j),检测dI(j)中的波峰像素位置Pmaxn(n=,1,2…,N)和波谷像素位置Pminn(n=,1,2…,N)。再以波峰像素位置Pmaxn(n=,1,2…,N)为中心,取2M+1个像素作为波峰区间,用光强质心法计算每个波峰区间的光强质心像素位置,并以该质心位置作为灰度信号I(j)脉冲上升沿的精确子像素位置Pupn(n=,1,2…,N);
同理,再以波谷像素位置Pminn为中心,可计算灰度信号I(j)脉冲下降沿的精确子像素位置)Pdownn(n=1,2,…N);
4)利用编码条纹波形的对称性,计算灰度信号I(j)中每个脉冲的中心精确像素位置Pn(n=,1,2…,N)和脉冲宽度Wn(n=,1,2…,N),其中:
得到的Pn(n=,1,2…,N)就是栅尺图像中每个条纹的中心精确像素位置。
5)由于基本编码单元中宽码的占空比大于窄码,所以将灰度信号中的每个脉冲宽度值Wn(n=,1,2…,N)与预设的脉冲宽度门限Wthd(可取T/2)比较,就可以得到栅尺图像中每个编码条纹所对应的编码值Cn(n=,1,2…,N)。
6)将栅尺图像中的条纹编码值Cn(n=,1,2…,N)构成一个编码码组X,那么该码组X中码元个数大于所用m序列的阶数。再将该码组X与生成栅尺的整个m序列做互相关运算,由于该码组X中包括的码元个数N大于等于编码所用m序列的阶数,所以相关值最大处就是该码组X在整个m序列中的位置,也即可以得到采集的栅尺图像在栅尺中的粗侧位置Dt,精度一个编码周期,并且该位置唯一。
7)对栅尺图像中编码条纹的周期和首个完整编码条纹的中心位置进行最小二乘拟合;设根据编码条纹的中心位置序列Pn(n=,1,2…,N)采用最小二乘法,拟合出的条纹的周期为T,首个完整编码条纹的中心位置为Ps。那么拟合后每个编码条纹的中心位置可以表示为
设拟合误差为
再令:
则:
根据最小二乘原理,要使误差E均方值(即ETE)最小,必须有:
由此,可以得到:
计算出A后,便可得到栅尺图像中条纹的周期T和首个完整条纹的中心位置Ps。
8)计算栅尺图像中每个像素对应的实际栅尺宽度(35)W。编码栅尺中每个编码条纹的实际周期(也可称为宽度)在制作栅尺时已经确定为W;而栅尺图像中每个编码条纹所包含像素个数已求出,即为条纹周期T,则栅尺图像中每个像素对应的栅尺宽度为
9)以栅尺图像中首个完整条纹的中心位置Ps作为绝对位置的观测点,求其相对于测量基准点Pref的偏移距离B。根据拟合出的编码图像中首个编码单元的中心像素位置Ps,可以得到测量基准点Pref与其偏移像素个数(35)P,再乘以每个像素的实际宽度(35)W,就可以得到测量基准点相对于首个完整条纹中心像素位置的偏移距离B,即:
10)最后,结合栅尺图像中的m序列码组X确定的粗测位置Dt,就可以得到测量基准点Pref的绝对位置PA。
2.2 解码及绝对位置测量方法的计算机仿真
使用MATLAB仿真栅尺数字图像灰度信号、差分信号以及脉冲中心信号如图4所示。
(a)栅尺图像的灰度信号;(b)差分信号;(c)脉冲中心(a)Grayscale signal of the grating ruler image;(b)Differential signal;(c)Pulse center signal
图4(a)为编码栅尺图像的一维灰度信号,其中每个编码单元周期T为8 s,像素采样间隔为0.15 s,每个编码单元约有53.33个像素;并且宽、窄编码单元占空比分别为65%、35%;编码所采用的m序列阶数为8,生成多项式为p(z)=z8+z6+z5+z4+1,初值为10010010;图像灰度量化为8 bit,编码信号对比度210灰度级,加均匀分布带限白噪声后信噪比RSNR=35 d B。另外,为保证视场内有8个完整的编码单元,将总仿真时长设置为72 s,从而图像视场中有9个编码单元,图4中局部栅尺图像编码为010010011。图4(b)为对一维灰度信号进行差分后得到的差分信号。图4(c)为检测出的每个编码单元的中心像素位置,纵坐标为像素值。
通过控制视场范围内的灰度信号的编码波形模拟栅尺的移动,按每次向右移动栅尺T/8,进行绝对位置测量,得仿真测试结果如表1所示。
表1中数据单位为像素,当由编码值判定移动超过一个周期时,由当前周期值补偿。表中绝对位置误差小于0.1个像素,即仿真测试表明绝对位置定位误差约为周期的正负1/530。圆栅尺的绝对位置检测,与直线栅尺类似,不同的是栅尺图像是沿切线方向拍摄,直接检测的是编码单元在切线方向的位移,得到圆编码器角位移,需对检测的编码中心位置进行校正,然后再按与直栅尺同样方法处理。
3 实际测量
按照图4(a)中的灰度信号值,构造出反射式直线编码栅尺如图5所示。其中宽、窄编码单元的周期(宽度)为10 mm,宽编码单元的占空比为65%,窄编码单元为35%;图中栅尺所对应的m序列编码值为01001001100000011101,并且在编码条纹(编码单元)的中心位置都定义了条纹的栅尺中的绝对位置。
将栅尺固定在位移平台上,并将阵列图像传感器沿栅尺移动方向放置于编码栅尺平面上方150 mm处,且使图像传感器的光轴垂直于栅尺平面。转动位移平台千分尺,调整编码栅尺的位置,使图像传感光轴对准直线编码栅尺的零位置(0 mm),也即使测量基准点的绝对位置测量值为0 mm。此时得到的千分尺的读数12.450 mm。获取局部编码栅尺条纹图像如图6所示,栅尺图像大小为10 pixels640 pixels,图中局部栅尺的m序列编码值为010011000000。
以千分尺读数为12.450 mm处为起点,转动千分尺,每隔0.5 mm对栅尺图像的绝对位置进行一次测量。千分尺由12.450 mm处转至22.450 mm处的过程中,得到的测量基准点的绝对位置如表2所示。表中绝对位置测量的绝对误差值小于0.02 mm,条纹周期为10 mm,实测绝对位置定位误差约为周期的正负1/500。
4 结论
本文提出了一种新型单码道绝对式光学编码器的编解码方法,其编码简单,复杂度与增量式光学编码器相似;通过采用阵列图像传感器获取编码栅尺图像,用数字图像处理技术对其进行解码,实现了编码栅尺绝对位置的高精度测量。计算机仿真和实测结果表明,本文提出的单码道绝对式光学编码器测量精度高,对光强变化不敏感,安装要求低。后续工作将采用线阵图像传感器采集栅尺图像,并将栅尺图像的解码和绝对位置测量算法在专用集成电路上实现,可研制高速单码道绝对式光学编码器,具有广阔的应用前景。
摘要:针对传统绝对式光学编码器编码复杂、价格较高、不易小型化的不足,本文提出一种新型的单码道绝对式光学编码器的编码方法,并采用阵列图像传感器获取编码栅尺图像,用数字图像处理技术对获取的栅尺图像进行解码和绝对位置计算。计算机仿真和实测结果表明:本文提出的单码道绝对式光学编码器编码方法简单,测量精度高,对光强变化不敏感,安装要求低,应用前景广阔。
绝对编码器 篇6
随着工业与电机控制系统性能和智能要求的不断提高,TI公司的电机控制专用DSP芯片TMS320F2812得到了广泛的应用,同时随着大规模集成电路技术的快速发展,CPLD(复杂可编程逻辑器件)在电机控制领域的应用也日趋广泛。单纯使用DSP控制电机,将占用较多端口资源,需要较多的外围元器件,对软件编程也有不小的负担,对整个系统的稳定性和可靠性均有较大影响。若用CPLD来实现开关磁阻电机控制系统中的大量逻辑处理功能,就可以极大地简化系统结构,提高系统的稳定性和可靠性。CPLD所具有的系统编程(in-system programming)能力,使得设计更加灵活。
1 光电编码器
光电编码器是许多传感器和自动控制系统的重要部件,可用来测量位移、速度、加速度等,近年来在研究和使用方面不断有所创新和发展。由于光电编码器具有精度高、体积小、重量轻、响应速度快、可靠性高、抗干扰能力强等特点,得到越来越广泛的应用。绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码道,每条道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数。在码盘的一侧是光源,另一侧对应每一码道有一光敏元件。当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。这种编码器的特点是不要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码。显然,码道越多,分辨率就越高,对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。本设计中用到的是绝对编码器,旋转一周能产生1024个脉冲。
2 可编程逻辑器件(CPLD)
本设计CPLD采用Altera公司的EPM570T100C5,此芯片属于Altera公司的MAX II。MAX II相对MAX I成本更加低,功耗更加小,而器件的宏单元数更加多,且器件延时控制在6ns以内,具有很高的性价比。EPM570T100C5有570个宏单元数,芯片的引脚数目为100个,具有76个用户可编程的I/O口,为系统定义输入、输出和双向口提供了极大的方便,因此此芯片的资源已经足够用。EPM570T100C5是3.3V供电,与DSP不存在电平兼容的问题。CPLD主要负责与绝对式编码器的高速通信,并受控于DSP的命令把接收到编码器数据和其他信息转送给DSP。CPLD开发工具选用A-hera公司的第4代可编程逻辑器件开发软件Quartus II,该软件能实现CPLD的设计输入、设计处理、器件编程、功能仿真、时序仿真和器件测试等所有功能。输入设计采用硬件描述语言和图形输入混合编程的方法,设计过程简洁明了,可实现从顶层到底层的电路设计。程序的烧写采用JTAG接口方式。
3 硬件电路
3.1 硬件电路连接图
光电编码器的输出经过CD40106整形后,再经10片6N137进行光电隔离,最终送给CPLD,CPLD经处理后发送给DSP。
3.2 电路设计抗干扰的检测
3.2.1 抗干扰检测的原理
硬件电路设计完,应该首先验证我们设计的硬件电路的可靠性,故需进行抗干扰检测。其检测手段是:CPLD读到的每个数据发送给DSP,DSP将接收到的数据储存起来,并与理论值相比较,经检测实际值与理论值基本吻合,故设计的硬件电路是完全可靠的。为使其有较强的说服力,我们至少应该储存电机旋转一周产生的信息,本设计储存了旋转5周的数据。
3.2.2 抗干扰检测的代码
CPLD在抗干扰检测中的主要作用是将接收到的信息(格雷码)化为自然码,然后将自然码发送给DSP。发送自然码的优势是:DSP读到自然码后便于和理论值相比较。限于篇幅,本文没有给出TMS320F2812的接受代码,CPLD的部分代码如下:
4 系统的控制策略
4.1 CPLD与DSP通讯
由于本设计中用到的是绝对编码器,它有10根输出线,所以开关磁阻电机旋转一周能产生1024个脉冲,若单纯使用DSP控制电机,将占用较多端口资源,需要较多的外围元器件,对软件编程也有不小的负担,对整个系统的稳定性和可靠性均有较大影响。故本文提出了CPLD与DSP共同控制开关磁阻电机的方案,CPLD负责光电信号的检测、格雷码转化为十进制和DSP的通讯。本设计中的CPLD与DSP通讯并不意味着:CPLD将光电编码器的每个位置信号都发送给DSP,DSP读取CPLD的信息利用捕获中断的方法进行读取。编码器的输出是10根线,占据了CPLD的10个I/O口,考虑到CPLD的I/O口有限,故在CPLD与DSP通讯时,对传统的方法进行了改进。在传统的通讯方案中,需要用到10根并行线,而本设计中只用到2根线,所用I/O口较传统方案减少很多。笔者在此以本项目的实际情况对改进后的方案予以详细介绍:光电编码器输出为格雷码,在101000111到1110100001区间内对应开关磁阻电动机的A相通电。传统方案的做法是发送101000111给DSP,DSP读到该信号后使A相开始通电,而发送1110100001给DSP,DSP读到该信号后使A相结束通电,B相开始通电。而该设计中通过发送0代表A相通电,发送1代表B相通电,发送2代表C通电,从原来的10根线变为了2根,同时速度也得到一定程度的提高。DSP的读取采用捕获中断的方式而不是采用传统的查询方式,降低了CPU的负担。CPLD和DSP通讯除用到2根数据线外,还有一根控制线,控制线的目的是产生跳变沿。
4.2 软件设计
为了书写的方便,本设计利用类型转换函数CONV_IN-TEGER(DOUT)将自然码化为十进制,故又要将DOUT:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0)变为DOUT:INOUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0),原因在于OUT型只能用于输出,不能用于反馈。为使DSP中断接受CPLD发来的数据,而不是采用查询的方式,又引入了一根控制线,这根控制线相对于CPLD是输出线,相对于DSP是输入线,目的是为DSP提供跳变沿,二者通讯的部分代码如下:
其中,OUT2<=CONV_INTEGER(DOUT),C为控制线,C接DSP的捕获引脚,CPLD每次换相时通过C跳变沿的变化来告知DSP,DSP根据读到OUT1数据来判断哪相通电,0代表A相通电,1代表B相通电,2代表C相通电,限于篇幅此处也没有给出DSP相应的代码。
5 结束语
本研究提出的基于EPM570的编码器系统设计,充分利用了设计开发软件Quartus II和硬件语言VHDL,具有分辨率高、电路结构简单、成本低、系统容易升级等优点,完成了硬件及软件的全部设计,CPLD与DSP通讯时提出了新的方案,并给出了二者通讯时的部分代码。经实验验证,该光电编码器测量系统能够满足高精度开关磁阻电机信号处理的要求。
参考文献
[1]孟庆海,张洲.VHDL基础及经典实例开发[M].西安:西安交通大学出版社,2008.
[2]任作新.提高对增量编码器读数的准确性[J].自动化仪表,1995,15(12):24-26.
[3]王宏华.开关型磁阻电动机调速控制技术[M].北京:机械工业出版社,1995.
绝对编码器 篇7
关键词:单斗提升机,绝对值编码器,控制系统,组态
一、概述
韶钢集团有限公司焙烧厂使用的气烧石灰竖窑单斗提升机由斜桥、料车和卷扬机组成,负责将石灰石提升到窑顶并倒入窑内。要确保单斗提升机稳定运行、倒料干净,必须准确控制料车在斜桥顶部位置,目前控制料车行程的主令控制器机械触点易老化以及内部元件松动,时常出现翻斗、冲顶的恶性事故,增加检修工作量,造成窑休风,影响石灰生产。
在主令控制器基础上,采用编码器对单斗提升机进行二次保护。编码器检测卷扬机卷筒轴的角位移,反映料车在斜桥的位置。在控制单斗提升机上升的接触器梯形图程序串联1个比较指令,比较编码器即时码值和设定的高位极限值。一旦主令控制器失灵,编码器即时值大于设定高位极限值时,比较指令输出结果为0,梯形图中控制接触器的线圈输出为0,断开卷扬机电机上升接触器,卷扬机立即停机,避免料车走过极限位置造成冲顶翻斗事故。
二、编码器选型和安装
1. 选型
光电式绝对值编码器是数字传感器,精度高、灵敏性好,便于连接PLC系统,其连续码值可直接反映物体实时位置。单斗提升机的料车从斜桥底到顶部,主卷扬机要运行约15圈,因此首先考虑多圈绝对值编码器才能反映料车在斜桥上不同位置(多圈编码器可将较长距离等分为较小的测量步),最终选用德国倍加福PVM58-AGROBN-1213型多圈绝对值编码器。
2. 固定
(1)机械安装。使用专门的弹簧式联轴器联接主卷扬机卷筒轴和编码器,编码器通过检测卷筒轴旋转圈数进行精确定位。
(2)电气连接(图1)。编码器端子说明见表1。 (1) 编码器通过总线连接在PLC的DP输入口。DP电缆从PG9电缆管进,总线的A(绿),B(红)分别连接在编码器DP口的两个输入端子上。对于中间的编码器,DP电缆从1个PG9电缆管进,然后从另1条PG9电缆管导出。 (2) 为避免干扰,DC+24V供电电源最好不要由PLC的CPU电源供电。 (3) 通过可拆取端子接线盒中的DIP开关进行编址,用DIP开关固定地址和总线终端电阻。用DIP开关设定地址应与PCS7硬件组态中从站地址一致。若是最后1个编码器,要将终端电阻接入,否则无法实现传输。 (4) DP电缆屏蔽必须接到PG9的螺丝。
3. 调试
(1)料车在斜桥底部是基准参考点,停机时,对编码器清零。更换编码器或因其他故障造成编码器读数错误时,均要在该位置清零。
(2)硬件组态时,选好编码器对应的工作方式及站号后,存储编译,下载至PLC。
(3)不能带电插拔编码器主体(编码器前端)和接线部分(编码器后端),否则将损坏编码器,并且影响整个DP网通信。
三、编码器在控制系统的组态
1. 控制系统
气烧窑自动控制系统采用西门子S7-400PLC CPU414-3DP作为控制主站,用于整个气烧窑工艺及设备控制。AS414-3DP主控制器通过标准化的PROFIBUS-DP现场总线连接扩展机架中的通信模块IM153和独立的智能从站,形成完整的集成分布式控制系统。根据控制设备数量和实际控制需要,气烧窑自动控制系统的控制主站与现场设备采用两条PROFIBUS总线连接。编码器作为从站,PLC作为主站,两者之间通过PROFIBUS (1) 总线进行数据传递(图2)。气烧窑控制系统采用西门子PCS7控制系统,因此要增加编码器从站还需在PCS7上对相应从站进行硬件组态和软件组态。
2. 硬件组态
(1)安装编码器的GSD文件。PCS7系统支持不属于西门子公司但能提供符合其规范的GSD硬件识别驱动的硬件设备。该编码器不属于西门子公司,因此必须先安装GSD文件,组态时才能在硬件目录下找到该设备。应用倍加福公司提供的免费驱动支持或在网站下载驱动文件,得到P+F ENCODER GSD文件后,打开工程项目下SIMATIC 400STATION的Hardware,进入HW Congfig组态管理器,显示硬件图(图3)。在HW Config组态管理器option下拉菜单中选择“Install GSD File”,安装正确的GSD文件。此后即可在PCS7的HW config下找到已经安装驱动的硬件模块(图4)。
(2)在Profibus (1)总线增加编码器从站。在Hardware catalog的选单中选取Profibus下Encoders的rotary encoder拖入图3的“Profibus (1):DP master system (1)”中,出现对话框(图5),其总线地址设定选择为系统默认,确定后即成功插入倍加福旋转编码器模块(图6)。
3. 软件组态
在气烧窑PCS7控制系统中,按照模块化编程思路,将控制单斗提升机上升的程序定义为FC213,在CPU中的循环程序,通过OB1调用FC213控制单斗提升机。所有提升机的变量分别建立在相应的数据块中,I/O在符号表说明。在FC213功能块程序中插入CMP<=D指令,实现编码器的保护,将单斗实际位置的双精度整数码值与设定的高位极限进行比较,IN2≥IN1时,CMP<=D有输出,单斗提升机正常运行,反之,编码器起保护作用,单斗提升机运行停止。图7是插入CMP<=D指令后某台单斗提升机上行主程序梯形图,各变量说明见表2。