接触式汽车测功机速度测量仪研究 - 图文

更新时间:2024-05-26 17:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

接触式汽车测功机速度测量仪研究

学 生: 学 号: 指导老师: 专 业: 完成年月: 段隆蛟 09123930 邹雪妹 通信工程 2014年6月

目录

摘要 ----------------------------------------------------------- 3 Abstract ------------------------------------------------------- 4 第一章 绪论 ---------------------------------------------------- 6

1.1 汽车测功机介绍 ----------------------------------------- 6 1.2 转速测量的现状和发展 ----------------------------------- 8 1.3 课题研究目的、意义和内容 ------------------------------- 9 第二章 FPGA技术及硬件介绍 ------------------------------------ 11

2.1 FPGA概述及特点 --------------------------------------- 11 2.2 Verilog HDL语言介绍 ---------------------------------- 11 2.3 Quartus II介绍 --------------------------------------- 12 2.4 开发板介绍 -------------------------------------------- 14 2.5 数码管显示原理 ---------------------------------------- 14 第三章 光电编码器及测速原理和方法 ----------------------------- 17

3.1 编码器简介 -------------------------------------------- 17 3.2 HGAIN K5208G-1024BM型增量式光电编码器 ---------------- 19

3.2.1 型号说明 ---------------------------------------- 19 3.2.2 技术参数 ---------------------------------------- 20 3.2.3 输出波形与信号位置精度 -------------------------- 21 3.2.4 靠轮传感器原理与说明 ---------------------------- 22 3.3 光电编码器测速原理和方法 ------------------------------ 22

3.3.1 M法测速 ---------------------------------------- 23 3.3.2 T法测速 ---------------------------------------- 24 3.3.3 M/T法测速 -------------------------------------- 26 3.3.4 测速方法的比较和选择 ---------------------------- 29

1

第四章 系统软件结构设计 --------------------------------------- 30

4.1 总体结构设计 ------------------------------------------ 30 4.2 时钟及输入信号处理 ------------------------------------ 33

4.2.1 倍频模块 ---------------------------------------- 34 4.2.2 计数器分频模块 ---------------------------------- 35 4.2.3 时钟同步 ---------------------------------------- 36 4.3 测速模块 ---------------------------------------------- 37

4.3.1 计数模块 ---------------------------------------- 38 4.3.1 速度运算 ---------------------------------------- 39 4.4 滑行时间测算模块 -------------------------------------- 40

4.4.1 速度锁存 ---------------------------------------- 40 4.4.2 时间计数模块 ------------------------------------ 41 4.5 按键控制及时间修正 ------------------------------------ 43 4.6 数码管显示模块 ---------------------------------------- 43

4.6.1 数制转换模块 ------------------------------------ 44 4.6.2 显示分频模块 ------------------------------------ 45 4.6.3 显示锁存模块 ------------------------------------ 45 4.6.3 位选和段选模块 ---------------------------------- 46 4.7 整体模块结构 ------------------------------------------ 47 第五章 总结与展望 --------------------------------------------- 49 致谢 ---------------------------------------------------------- 50 参考文献 ------------------------------------------------------ 51 附录一 英文资料 ----------------------------------------------- 53 附录二 英文资料翻译 ------------------------------------------- 57 附录三 相关代码 ----------------------------------------------- 60

2

摘要

汽车测功机是一种不解体检验汽车性能的检测设备,用于测量汽车动力性、速度、尾气排放及油耗。随着现代转台伺服系统的发展,对系统动态特性如测速精度、测速范围及低速时系统的稳定性的要求也越来越高。伺服系统速度闭环中最关键的部分就是测速装置,对测速装置以及方法提出了更高的要求。

本文以靠轮式接触的光电编码器作为速度传感器,叙述了测速原理及几种常用的测速方法,分析了各种方法的测量精度和特性,设计出一种基于FPGA的等精度测速系统,并完成了基于滑行试验法的滑行时间测算。详细阐述了测速系统的工作原理和速度采集方法,并进行了方案论证和误差分析。硬件系统主要由脉冲信号处理和显示模块组成。软件部分采用Verilog HDL语言实现各功能模块设计,在Quartus II开发平台上进行仿真、测试。

关键词:汽车测功机,光电编码器,FPGA,速度测量

[1]

3

Abstract

Automobile dynamometer is technical measuring equipment that used for measuring automobile power performance,speed,exhaust emission and fuel consumption with non-dismantlement.With the development of modern turntable servo system,system dynamic characteristic, such as accuracy and range of velocity measurement and the stability of system at low speed,has been proposed more and more higher requirements.Because the most critical part of servo system speed loop is velocity measuring device,velocity measuring device and method has been proposed higher requirements too.

This article narrated the tachometric survey principle and tachometric survey several commonly used methods, has analyzed each method in the survey principle and the characteristic, designs one kind based on FPGA and so on precisions to measure the fast system,and completed sliding time calculate base on the test method of slide,by use a wheel contact optoelectronic encoder as velocity transducer.Elaborated in detail and so on precisions measured the fast system's principle of work and the speed gathering method, and has carried on the project concept demonstration and the error analysis. he hardware system

4

mainly has, signal impulse processing and the display module. The software part uses the Verilog HDL language to realize various functional module design, in QuartusII Develops in the platform to carry on the simulation.

Key words: Automobile Dynamometer,Optoelectronic Encoder, FPGA,Velocity Measurement

5

第一章 绪论

1.1 汽车测功机介绍

随着汽车拥有量的日益增长,“底盘测功机”这一计量器具的应用将更加广泛,在环保领域(如用工况法测量汽车的尾气排放) 它已经承担了重要的角色,在汽车综合性能检测A级站它是必备的检测设备,在修理厂和相关研究机构它也为提供关键性能指标发挥着重要作用。更重要的是国家2001年1月31日发布,并于2004年7月1日实施的国标GB14761 - 2001《汽车排放污染物限值及

[2]

测试方法》中的四项(共五项)试验都必须使用汽车底盘测功机配套试验。因此,

如何提高“汽车测功机”的精度成为一个直接与检测效果相关的问题。

汽车底盘测功机一般由加载装置、测量装置、转鼓组件以及其他辅助装置组成,是一种测量汽车驱动轮输出功率的台架试验装置,是汽车动力性能测试的重要设备。它还可用于汽车的加载调试,诊断汽车在负载条件下出现的故障;还可与五气分析仪、透射式烟度计、发动机转速计、及计算机自控系统一起组成一个综合测量系统,以测量不同工况下的汽车尾气排放。图1-1所示,为单转鼓式测功机原理图。

6

图1-1 单转鼓式测功机

国家标准GB/T19233—2008《轻型汽车燃料消耗量试验方法》中规定,测量车辆的综合油耗,需要在实验室内的底盘测功机上进行。通常采用滑行法和查表法来设定车辆的道路行驶阻力和底盘测功机上的加载力。但是查表法只根据车辆的基准质量来确定车辆的行驶阻力,并没有考虑到空气阻力系数、迎风面积和车辆传动系、驱动轮的摩擦损失等因素,所以对道路行驶阻力的模拟精度较差。为了改进传统查表法设定车辆的道路行驶阻力的加载力精度不准的缺陷,可以基于底盘测功机运用道路滑行试验法对被测车辆进行模拟受力分析,使建立的车辆道路行驶阻力的加载力计算方法具有较高的精度。

道路滑行试验是测定汽车额定满载以初速度50 km/h或更高,在良好、平直的铺装路面上空挡滑行至停车的滑行距离和滑行时间,为了方便检测,在汽车底盘测功机上模拟道路试验工况进行滑行试验的方法在不少检测站被采用。

本课题考虑的是在采用滑行法的情况下,实时测量速度并计算出在预设速度段内的滑行时间。技术指标为:测速范围8~90 km/h,滑行时间测量误差小于3 ms。[3]

7

1.2 转速测量的现状和发展

测速可以分为数字电路测速和模拟电路测速两类,模拟电路测速的应用相比数字电路要早些。随着计算机和电子技术的发展,数字电路测速技术的进步以及测速性能的提高,使得数字测速法越来越受到工程师们的重视。计算机技术的广泛应用,使得数字测速技术使用起来更加方便,并且具有更好的测速适用范围。同时计算机硬件的提升和精密机械加工的发展,数字测速的精度也在不断的刷新纪录。与此同时,模拟测速发展较为缓慢,且存在着一些天生的缺陷,逐渐被边缘化,将慢慢从人们的视野中消失。以计算机为核心的数字测速装置工作方式灵活多变,适应面广,具有普通数字测速装置不可比拟的优越性。

在目前的数字测速系统中,测速装置分为两类:一类是测速模块输出模拟量,在后端电路中,对输出的模拟量进行A/D转换,转换后得到的数字量再被传送到计算机中,速度值的计算由计算机的CPU处理完成,此种测速方案应用较早,技术也较为成熟,具有响应速度快、时延小的优点;但该方案必须安装测速机,而测速机灵敏度低、寿命较短且工作容易受到环境改变的因素影响。特别是,与力矩电机配合使用的高灵敏度测速机更有该方面的限制。由于测速机输出的是模拟信号,必须要用到A/D转换芯片,于是测速结果的精度势必会受到A/D转换芯片性能的影响;而测速结果在整个电路传输中出现的误差是不可逆的,也就是中间经过的流程越多误差值的来源数量越多,从某种意义上来讲这种装置还是没有完全从模拟测速装置“进化”过来,本身还具有部分的模拟测速属性,我们可以认为它是非完全数字测速装置。

与以上测速装置相对应的数字测速装置,我们可以称为纯粹的数字测速装置;其显著特征是从电机测速模块输出的信息本身就是数字量,不需要经过A/D转换电路。此种数字测速实现的方法也比较多,有脉冲测速机、光栅盘等。目前使用最广泛的是增量式码盘。举例来说,在电机的转轴上同步固定一个旋转光电编码器,电机转动时,由于编码器转轴与电机的转轴是固定的,二者的旋

8

转运动状态保持一致,我们只要能够获得光电编码器的转速值也就相当于得到了电机当前的旋转速度。编码器会在电机转动过程中不断输出脉冲,电机转速越快,单位时间内输出的脉冲密度越大,经过内部电路整形后输出的脉冲对应着电机的角位移。我们通过对一定时间内编码器输出的脉冲进行计数,就知道了电机的当前转速。现在的增量式编码器一般有两路脉冲输出,可以通过两路脉冲的相位关系判断电机的转向(正转或反转)。由于编码器跟电机本身不是一个完整的整体,如果固定的不好,会影响编码器测速的精度,甚至可能引起测量结果的跳变,在安装编码器时这一点是值得重视的一个环节。由于编码器输出的数字量需要经过处理才能得出速度值,本课题选用了可编程逻辑器件来实现数字电路。其设计流程简单、功能强大并且性能方面也比单片机优秀,很好的满足了课题中测速系统的需求。[4][5][6][7][8][9]

1.3 课题研究目的、意义和内容

汽车测功机是一种转台伺服系统,用于测量汽车动力性、速度、尾气排放及油耗的专用计量设备,是一种不解体检验汽车性能的检测设备。一般用于汽车制造、科研、维修及汽车检测站。作为检测设备,它的检测精度直接关系到被测汽车的性能和行驶安全。因此,研究测量汽车速度并提高测量精度是有现实意义的。

随着现代转台伺服系统的发展,对系统动态特性如调速精度、调速范围以及低速时系统的稳定性的要求也越来越高。伺服系统速度闭环中最关键的部分就是测速装置,对测速装置以及方法的选择提出了更高的要求。目前,常用的两类测速模式是模拟测速和数字测速。随着电子技术的不断发展,数字测速的优越性越来越大

[10]

。可以预见,全数字化的伺服系统将是今后发展的趋势。光

电编码器的出现使得数字测速法在伺服系统得到了更好的应用。本文重点论述了基于光电编码器的数字测速方法,及基于道路滑行试验法的速度点时间测量,

9

并完成了软硬件的实现。

本文详细介绍了变M/T测速法和道路滑行试验法的软件设计。软件实现主要通过硬件描述语言Verilog HDL编程;硬件为FPGA黑金开发板及HGAIN S5208-1024BW型增量式光电编码器。以靠轮式光电编码器作为速度传感器,FPGA作为信号处理部件组成的测控系统,充分发挥了FPGA作为一种高密度可编程器件的强大的时序处理能力、极高的运行速度和丰富的内部资源等特点,克服了传统单片机系统中因内部指令运行延时误差导致的测量精度下降。同时达到了简化电路设计、提高系统稳定性和可靠性的目的。

10

第二章 FPGA技术及硬件介绍

2.1 FPGA概述及特点

FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。[11]

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:

(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

(2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 (3)FPGA内部有丰富的触发器和I/O引脚。

(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FLEX系列等。[12]

2.2 Verilog HDL语言介绍

为了在运动控制板卡的FPGA上实现第二章所确定的速度测量算法,本课题

11

采用了Verilog HDL作为算法的开发语言,并采用了Quartus II这款软件作为算法的开发平台,用于算法程序在FPGA上的测试和实验。[13]

Verilog HDL 是在用途最广泛的 C 语言的基础上发展起来的一种硬件描述语言(HDL:Hardware Description Language),是一种以文本形式来描述硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL和VHDL 是目前世界上最流行的两种硬件描述语言,两种HDL均为IEEE标准。

Verilog HDL 是由 GDA(Gateway Design Automation)公司的 Phil Moorby 在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得Verilog HDL成为了该公司的独家专利。1990年CADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进 Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995。

[14]

Verilog HDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握。同时Verilog HDL的语法也较自由。基于Verilog HDL以上优点及实验室的开发传统,本课题采用其作为速度测量算法及滑行时间测算在FPGA上实现的开发语言。[15]

2.3 Quartus II介绍

由于本课题应用的数字处理模块采用的是Altera公司的 Cyclone IV 系列芯片,因此程序的运行平台也就理所当然地选择了Altera公司为FPGA开发而设计的Quartus II软件了。

[16]

Quartus II 是一种综合性的PLD开发软件,支持原理图、VHDL、Verilog HDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内

12

嵌自带的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

同时,Quartus II 支持 Altera 的 IP 核,包含了LPM/Mega Function宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

此外,Quartus II还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可在Quartus II普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。

Quartus II支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。在设计输入之后,Quartus II的编译器将给出设计输入的错误报告。Quartus II拥有性能良好的设计错误定位器,用于确定文本或图形设计中的错误。对于使用HDL的设计,可以使用Quartus II带有的RTL Viewer观察综合后的RTL图。在进行编译后,可对设计进行时序仿真。在作仿真前,需要利用波形编辑器编辑一个波形激励文件,用于仿真验证时的激励。编译和仿真经检测无误后,便可以将下载信息通过Quartus II提供的编程器下载入目标器件中了。

在图2-1上排的是Quartus II编译设计主控界面,它显示了Quartus II自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。在图2-1

13

下排的流程框图,是与上面的Quartus II设计流程相对照的标准的EDA开发流程。[17] 图形或HD编辑 Analysis & Synthesis (分析与综合) Fitte (适配器) Timing Analyzer (时序分析器) 设计输入 综合或编译 适配器 下载 Assembler (编程文件汇编) 编程器 仿真

图2-1 Quartus II设计流程

2.4 开发板介绍

本设计选择的是由黑金动力社区(HTTP://www.heijin.org)研发设计的FPGA黑金开发板。此开发板采用的是Altera公司Cyclone IV系列EP4CE15F17C8芯片,提供了丰富的硬件资源。开发板上使用JTAG接口对芯片进行编程仿真调试,利用AS配置EPCS64 Flash芯片。开发板上通过排针引出了32个I/O口,实验中光电编码器通过杜邦线与开发板I/O口连接,接收编码器信号的同时为编码器供电。

图2-2所示为黑金开发板底板,本设计中用到了开发板的数码管和按键等部分。

2.5 数码管显示原理

七段数码管是利用7个LED外加一个小数点的LED组合而成的显示设备,可以显示0~9十个数字及小数点,使用非常广泛。这类数码管按连接方式分为

14

共阳极与共阴极两种,本课题中开发板使用的是共阳型,通过PNP管驱动。共阳极就是把所有LED的阳极连接到共同的节点COM,而每个LED的阴极分别为a、b、c、d、e、f、g及h(小数点),如图2-3所示。

图2-2 黑金开发板

图2-3 数码管段选图

共阳型数码管在应用时,将公共极COM接到高电平,当某一字段发光二极管的阴极为低电平是时,相应的字段就点亮;当某一字段的阴极为高电平时,

15

相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式不同,可以分为静态式和动态式两类。

本课题中应用的是动态式。动态驱动是将数码管各段的同名端连在一起,另外为每个数码管的公共极COM增加位选控制电路,位选由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接受到相同的字形码,但究竟是哪个数码管会显示出字形,取决于控制芯片对位选COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就实现了动态驱动。动态显示能够节省大量的I/O端口,而且功耗更低。

16

第三章 光电编码器及测速原理和方法

3.1 编码器简介

根据检测原理,编码器可分为光学式、磁式、感应式和电容式。根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式三种。

(1)增量式编码器

增量式编码器是直接利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差90度。从而可方便地判断出旋转方向,而Z相位每旋转一个脉冲,用于基准点定位。它的优点是原理构造简单,机械平均寿命可在几万小时以上,抗干扰能力强,可靠性高,适合于长距离传输。其缺点是无法输出轴转动的绝对位置信息。

增量式光电编码器的工作原理是由旋转带动在径向有均匀窄缝的主光栅码盘旋转,在主光栅码盘的上面有与其平行的鉴向盘,在鉴向盘上有两条彼此错开90度相位的窄缝,并分别由光敏二极管接受主光栅码盘透过来的信号。工作时,鉴向盘不动,主光栅码盘随转子旋转,光源经透镜平行射向主光栅码盘,通过主光栅码盘和鉴向盘后由光敏二极管接受相位差90度的近似正弦信号,再由逻辑电路形成转向信号和计数脉冲信号。为了获得绝对位置角,在增量式光电编码器有零位脉冲,即主光栅每旋转一周,输出一个零位脉冲,使位置角清零。利用增量式光电编码器可以检测电机的位置和速度。当码盘转动时,它的输出信号是相位差为90度的A相和B相脉冲信号。从A、B两个输出信号的相位关系(超前或滞后)可判断旋转的方向。当码盘正传时,A道脉冲波形比B道超前90度,而反转时,A道脉冲比B道滞后90度。[18]增量式光栅原理示意图如图3-1所示。

(2)绝对编码器

绝对编码器是直接输出数字量的传感器,在它的原型码盘上沿径向有若干

17

同心码道,每条道上由透光和不透光的善行区域相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是他的二进制数码的位数,在码盘的一侧是光源,另一侧对应每一码道有一光敏元件;当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。这种编码器的特点是不要计数器,在转轴的任意位置都可独处一个固定的与位置相对应的数字码。显然,码道越多,分辨率就越高,对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。

图3-1 增量式光栅

绝对式编码器是利用自然二进制或循环二进制(格雷码)方式进行光电转换的。绝对式编码器的增量式编码器不同之处在于圆盘上偷光、不投光的线条图形。绝对式编码器可有若干编码,根据读出码盘上的编码,检测绝对位置。编码的设计可采用二进制码、循环码、二进制补码等,它的特点有:可以直接读出角度坐标的绝对值、没有累计误差并且电源切除后位置信息不会丢失,但是分辨率是由二进制的位数决定的,也就是说精度取决于位数,目前有10位、14位等多种。

(3)混合式绝对值编码器

混合式绝对值编码器,它输出两组信息:一组信息用于检测磁极位置,带有绝对信息功能;另一组则完全同增量式编码器的输出信息。

绝对式码盘原理示意图如图3-2所示。

18

图3-2 绝对式码盘

3.2 HGAIN K5208G-1024BM型增量式光电编码器

无锡格恩科技有限公司(http://www.chinahgain.com/index.asp)是专业的编码器制造商,与美国知名企业集团实现技术合作,核心部件高度集成化,质量更高,性能更稳定。

本课题选用的是该公司生产的空心轴类KL52系列编码器,型号为HGAIN K5208G-1024BM-C526 PNP,属于增量式光电编码器。该款型号的实物如图3-3所示。

3.2.1 型号说明

设备描述:主体直径ф52mm,主轴直径ф8mm,双轴申轮式结构,电缆侧出,A、B、Z三路方波,多种电路输出。同步橡胶轮周长可选,本课题中选用的是204mm铝毂。型号说明如图3-4所示,接线表见表3-1.

表3-1 编码器接线表

颜色 信号 红 Vcc 黄 Z 绿 A 黑 0V 白 B 屏蔽 N.C 19

图3-3 编码器外观

K52 08 G - 1024 B M - C 526 PNP 外壳尺寸 52mm Ф 出轴 08mm Ф

出线方式 电缆侧出 分辨率 1024P/R 输出相 2相输出 A、B 零位信号Z信号输出“1” 输出方式 PNP集电极开路 工作电压+5V~+26V 图3-4 编码器型号说明

3.2.2 技术参数

HGAIN K5208G-1024BM-C526 PNP型增量式光电编码器电气参数见表3-2,由此表可以看出开发班能够支持编码器正常工作,其中的信号精度在下面的测速方法讨论中会涉及到。其机械参数见表3-3,由此表可见在实验时编码器转速应控制在5000 rpm以内。

20

表3-2 编码器电气参数

输出波形 输出相 消耗电流 响应频率 载空比 相位差 电源电压 输出电压 方波 A、B、Z三相 ≤150 mA 0~100 KHz 0.5 T±0.1 T 90°±45° DC 5V 高电平VH≥ 85%Vcc,低电平VL≤ 0.3 V 表3-3 编码器机械参数

最大转速 工作寿命 5000 rpm MTBF≥10000 h(+25℃,2000 rpm) 3.2.3 输出波形与信号位置精度

输出90°相位差的A、B两相信号与Z信号,编码器输出信号波形如图3-6所示。输出信号参数见表3-4,在下面的精度分析会有所涉及。

图3-5 编码器输出信号波形

21

表3-4 编码器输出信号参数

波形比 相位差 信号位置误差 零位信号 周期误差 电角度周期 脉冲周期 X1+X2=1/2T± 1/12T, X3+X4=1/2T± 1/12T Xn=1/4T ±1/12T(n=1、2、3、4) 准确度≤1/18T Tz=1/4T(1T、1/2T、1/4T...) ± 0.01T TD=T T=360°/1024(每转输出脉冲数) 3.2.4 靠轮传感器原理与说明

靠轮传感器原理如图3-6所示。

测功机主转速滚筒 靠轮传感器

图3-6 靠轮传感器

图中测功机主转速滚筒应为测功机带马达驱动的那根滚筒,靠轮传感器为一个外带橡胶圈的光电编码器转轮,用橡胶可增加摩擦,根据大小滚筒的比例,在转动时可测出大滚筒传到小滚筒上的速度值。

3.3 光电编码器测速原理和方法

编码器从本质上来说主要实现两种功能:输出电机转子当前的位置信息和测量电机旋转速度(包括大小和旋转方向),简洁地说就是是定位和测速。电机

22

转子的定位功能就主要依靠绝对式来实现,增量式编码器主要用来实现测速功能。本课题只要求测速,对定位功能不作考虑,故采用的是增量式光电编码器。

增量式光电编码器是数字式传感器,采用数字式测速方法,基本测速原理是:测量一定时间内编码器输出的脉冲数。编码器增量式脉冲的输出与电机转速成正比,电机转速越快,单位时间内编码器输出的脉冲数越大,直接反映为电机角位移越大。增量式测速方法可分为三种:1、M法测速,这种方法实际上是测量频率;2、T法测速,这种方法实际上是测量周期;3、M/T法测速,这种方法实际上是既测量频率,又测量周期。

3.3.1 M法测速

根据在规定的时间间隔Tc内,传感器所产生的脉冲数来确定速度,这种测速方法称为M法测速。当传感器每转产生N个脉冲信号,在Tc时间内有m1个脉冲产生,如图3-7所示。

[19]

图3-7 M法测量编码器脉冲

该速度下电动机的每分钟转数为:

n?60?m1 (3-1)

N?TcM法测速的三项技术指标为:

(1)分辨率:转速由n1变化到n2的差定义为分辨率Q。在m1变化一个数时有:

23

Q?60(m1?1)60m160?? (3-2)

NTcNcNTc从上式可见,分辨率Q值与转速无关,任何转速下Q值都一样;当电动机转速低时,Tc时间内的脉冲数很少,甚至可能只有1个或不到1个,这样测速就不准确了。若要提高分辨率,要么用N值较大的传感器,要么增加检测时间Tc。

(2)测量精度:由于进入和离开测速周期的时间点具有随机性,总会有±1个脉冲的误差,相对误差应为1/m1。这样当速度增加时,m1增大,相对误差就会小,可见M法适合速度高的场合。如图3-8所示:

图3-8 M法相对于速度的误差百分比

(3)检测时间:

T?TC?60 (3-3) NQ3.3.2 T法测速

用测量传感器所产生的相邻两个脉冲之间的时间来确定被测速度的方法称为T法测速

[20]

。测量中用已知明确的频率fc作为时钟,填充两个相邻脉冲之间,

测得的读数为m2,如图3-9所示。

24

图3-9 T法测量编码器脉冲

电动机的转速应为:

n?60T法测速各项指标:

(1)分辨率:根据分辨率的定义

fc (3-4) Nm2fcfcn2Nn?60?60? (3-5)

Nm2N(m2?1)60fc?nN从上式可见,T发测速在速度低时分辨率高,速度高时分辨率低。 (2)测量精度:由于计数器的开关是由传感器发出的相邻脉冲来决定,因此传感器的误差直接影响测量精度。同样由±1个脉冲的误差,相对误差应为1/m2。随着速度的提高,m2减少,因此这项误差变大。可见T法测速适合于低速。

图3-10 T法测速精度曲线

25

T法测速的误差曲线图走势跟M法相似,但T法测速误差源于高频脉冲计数的不确定性,而M法测速误差源于编码器脉冲计数的不确定性;由于高频脉冲的频率远大于编码脉冲频率,所以在误差数值上T法的精度要高于M法。从某种意义上讲,相比M法测速,T法测速的误差曲线体现的误差曲线体现的是“微观精度”上的变化。

(3)检测时间:检测时间T等于测速脉冲周期:

60T? (3-6)

nN随着速度的升高,检测时间将减少。 (4)时钟脉冲

fcff:c应该有一个合适的数值,理论上讲c值高,分辨率高,

测速精度高,但过高会使m2在减速下过大,计数器字长加大,影响运算速度;另外,在实际应用中,编码器本身的制作工艺也会造成误差(机械误差),如果由时钟引起的误差远小于机械误差,一味的去提高时钟频率是没有意义的。

3.3.3 M/T法测速

该方法的原理是综合M法和T法,检测一定时间内编码器脉冲数和计数时钟的数目,如图3-11所示:

图3-11 M/T法测速

26

计数器m1相当于M法测速,计数器m2相当于T法测速:相比M法测速,该方法不同的地方是测速时间通过高频时钟计数器来替代,但其误差主要来源是编码器脉冲的不确定性,所以相比M法,M/T法测速精度基本上没有提高;相比T法测速,该方法不同的地方是测量多个编码器脉冲周期内高频计数脉冲的数目,也就是说M/T法测速适用范围更广,但精度不如T法。

如果在M/T法测速的基础上改进,通过数字电路只测量整数个编码器脉冲时间段内高频计数脉冲的数目,那么既能提高测速精度,又能适用于高、低速(即更大的测速范围),其实质是相当于剔除测速周期内无用的高频计时脉冲数目。

[21]

改进后的测速方法如图3-12所示:

图3-12 变M/T法测速

改进后的M/T测速法,由于测速周期实际上是随着编码器输出的脉冲情况进变化的(时间为整数个编码器脉冲宽度),称之为变M/T法。该测速法消除了由于计数m1的不确定性导致的误差,此时误差来源于高频技术脉冲,与T法测速原理上相同,但T法的测速时间随着电机转速的升降变化较大,该方法很好解决了这一问题;M/T法的测速时间T是已知的(即由高频计数脉冲精确确定的),改进后的变M/T法,测速周期Ta相当于“可以根据电机速度‘微调’(最

27

大为一个编码器脉冲的时间宽度)”;若m1的值为1,该测速发就退化成了T法。

变M/T法的三项测速指标:

1.分辨率:根据分辨率的定义,分辨率Q应为:

Q?60m1fc60m1fc60m1fc?? (3-7) Nm2N(m2?1)Nm2(m2?1)2.测量精度:从分辨率的表达式中看出,分母中含有乘积项m2(m2+1),由于高频计数时钟频率较高,m2(m2+1)的值远大于编码器脉冲m1的值;由m2引起的误差为:

?fQ1?60mf?m2?1 (3-8) 1cNm2系统的时钟频率一般在几十M左右,于是,电机转速较慢时,由m2引起的误差值可以达到10-5以下;此种情况下则需要考虑到编码器自身的机械制造工艺和内部整流电路的精度问题,由这两项引起的误差 实际上是表现在m1的真实值上面,给定其比例系数为?m,误差可表示为相同的);则该测速方法的整体误差为

?m(计算方法跟M法误差本质上是m11?m??? (3-9)

m2?1m1比例系数?m根据电机的转速不同而变化;实际上,任何一种测速方法都存在由于编码器本身的物理属性导致的误差,只不过在精度较低的测速方法中,该误差值相对于其他因素产生的误差值可以忽略

3.检测时间:检测时间Ta是变化的:

Ta?

60?m1?fc (3-10)

N?m228

m2实际上由时间T决定,它表示的是T时间段内编码器输出最大整数个脉

冲所对应的时间,具有一定的随机性。

3.3.4 测速方法的比较和选择

M法在低速时分辨率不高;T法在高速时分辨率低;M/T法与速度几乎无关,而且误差小、精度高,但是在低速时为了保证结果的精确性,该方法需要较长的检测时间,这样就无法满足转速检测系统的快速动态响应的指标;而变M/T测速法是随着电机转速的升高,检测时间T相应的减小,转速测量的实时性也随之提高。所以采用变M/T测速法实现转速的测量,能很好的满足控制系统对转速测量的精度和实时性要求。

29

第四章 系统软件结构设计

4.1 总体结构设计

软件设计主要实现两个功能:实时测速和滑行时间测量。 系统的总体体结构如图4-1所示: 靠轮接触

电机 增量式旋转光电编码器 数字信号 FPGA 显示模块 图4-1 系统总体设计框图

本课题为了实现测量电路的小型化、集成化,充分发挥FPGA的输入输出口和内部逻辑单元,整个数据处理处理工作都在FPGA芯片中进行。为了使系统更加清晰,我们把系统分成模块来处理。FPGA模块如图4-2所示:

测速模块 分频 时钟 计数器 运算 速度 倍频 降频 起始速度 终止速度 滑行时间测算模进制转换 判断 计时 图4-2 FPGA内部结构框图

30

按键 修正锁存 显示模块 数码管显示 按照FPGA自顶向下的设计方法,在FPGA内部,将信号处理过程分为三个模块:测速模块、滑行时间测算模块和显示模块。

光电编码器输入的信号进入测速模块,通过倍频模块产生四倍频信号提供给计数器,计数模块的主要功能是对倍频信号和标准时钟信号分别计数并向锁存器提供数据和数据锁存信号。时钟模块的主要功能是控制整个系统的时钟信号,避免时钟偏斜的发生。运算模块的功能是对锁存器输出的信号进行运算使之得到电机的相应转速。测速模块输出的速度信号频率变化很快,为方便处理将其降频输入滑行时间测算模块,该模块通过将预先设定的起始速度和终止速度与实时输入的速度比较,得到计时数据,并记录下读到的最接近预先设定值得四个速度值,将这些数据按照公式进行修正后就得到了精确的滑行时间。

关键问题可分为三部份: (1)测速公式

V?60?m1?fm2?p (4-1)

V单位为rpm。其中,m1是转速脉冲计数值,m2是高频时钟计数值,f是高频时钟频率,p是光电码盘每转一圈发出的脉冲是。由公式可见,要想高精度测得速度,m1和m2一定要精确得到。m1精确相当于转过的角度精确,m2精确相当于计时准确。

(2)详细测速方案

参考闸门上升沿到来时,并不立刻开始对被测信号计数,而是等被测信号上升沿来时才开始计数,这就保证了技术起始时刻的准确性;同样,当参考闸门下降沿到来时也不立刻停止计数,而是等被测信号的上升沿来临时才停止计数,这就保证了计数停止时刻的准确性。这样记得的被测信号一定是整数个周期,认为是精准的,但对标准时钟的技术就不那么这么精准了。由于被测信号本身的不确定性和芯片内部产生时钟偏移(Clock Skew)等原因,在开始和截至时刻无法保证和被测信号的起始和截至时刻严格对齐,极端情况会差±1个时钟周期,但标准时钟是高频时钟,一般都是ns级,对速度测量的精度影响相对

31

较小,用此方法能实现高精度测速。

(3)滑行时间测算方案

滑行法测汽车性能的过程,是一个汽车减速的过程,系统在实时读取速度值的同时,根据预设的起始速度和终止速度进行状态判断,再进行50MHz标准时钟脉冲计数。

时间测算中的标准时钟脉冲计数器有三个状态:大于起始速度清零、位于起始速度和终止速度之间计数、小于终止速度输出计数值。在实际测量过程中,往往因为速度变化太快的原因,系统无法读取到精确的起始速度和终止速度,那么得到计数值就不是准确的起始速度到终止速度的滑行时间。如图4-3所示。

图4-3 滑行时间测算

要测量的时间段为56km/h-32km/h,当速度高于56km/h时,测功机开始滑行,如假定从62km/h开始滑行,当系统测量到的速度接近56km/h时,计时开始,共测量到的速度点为4个,设图中的(1)~(6)点速度分别为Va1、Va、

Va2、Vb1、Vb、Vb2,读到的最接近起始速度Va的两个值为稍大于Va的Va1和稍

小于Va的Va2;读到的最接近终止速度Vb的两个值为稍大于Vb的Vb1和稍小于Vb的Vb2。读取Va1和Va2的间隔时间与读取Vb1和Vb2的间隔时间相同,都为速度输出周期Tv?0.02s。而计数器记到的标准脉冲数换算出来的时间t1,实际上是Va2到Vb1之间的时间,所以,准确的滑行时间为:

t?t1?Tv?(Va?Va2Vb1?Vb?)Va1?Va2Vb1?Vb2 (4-2)

32

根据课题的要求,将整个系统分为五个模块:时钟及输入信号处理、测速、测滑行时间、按键控制及时间修正、数码管显示。

4.2 时钟及输入信号处理

在FPGA设计中一般都是使用全局时钟网络,这样可以驱动所有触发器和时序电路,保证到各个时序选件时钟输入端等长,同时全局时钟网络还具有很强的驱动能力,保证时钟信号引入的抖动非常小。由于开发板的限制和显示稳定性的需要本系统中用了两部分的分频。为了避免时钟偏斜对计数器计数的影响,本系统还专门设计了一个时钟模块来防止此问题。本模块为系统的全局时钟来源,同时对编码器输出信号进行处理。时钟模块框图如图4-4所示,其内部连接图如图4-5所示。

图4-4 时钟模块框图

图4-5 时钟模块内部连接图

33

4.2.1 倍频模块

光电编码器的倍频是提高测量精度的关键。怎样才能达到倍频呢?我们采用信号上升沿和下降沿鉴别方法的原理来进行倍频,输入信号与其延时信号异或后,就可得到倍频信号。

对此设计了两种方案:方案一是使用单相信号,先将信号取反,再把原信号和取反后的信号分别进行二分频,再进行边沿鉴别;方案二是使用A、B双相信号,直接进行边沿鉴别。分析表3-5的编码器输出信号参数,可以看出,周期误差比相位误差小得多,所以第一种方案的周期精度会比第二种方案高。但是,考虑到第一种方案只用到了单路信号,而且对信号进行了降频处理,频率比第二种方案降低了4倍,在低频时将造成更大的误差。综合考虑,采用第方案二。边沿鉴别原理如图4-6所示。

图4-6 边沿鉴别原理图

对于延时的处理方法有很多,微分型电路其信噪比小,抗干扰性差,积分型电路可以提高信噪比,但有一个很大的缺点,就是当输入信号频率高时,电容充放电不及时,导致输出信号失真;对于各种倍频电路来说,电阻和电容的参数不可能完全一致,所以倍频后的各路脉冲宽度不等。因此,本系统设计采用数字延时线路(寄存器延时),可以很好的客服了以上延时电路的缺点,延时的时间和各路倍频的脉冲宽度由时钟控制,倍频后的脉冲宽度均匀一致。而且使用FPGA来实现数字延时,保证了计数的准确性和精度。延时电路如图4-7。

34

图4-7 延时电路

clk时钟为50MHz的全局时钟;a、b对应于光电编码器的两相输出信号;beipin为4倍频后的输出信号。其代码参见附录三,模块图如图4-8所示,仿真图如图4-9所示。

图4-8 倍频模块

图4-9 倍频模块仿真图

4.2.2 计数器分频模块

本系统采用的测速参考闸门是250Hz,但是因为变M/T测速法的特点,通过检测编码器信号的上升沿得到的闸门得频率是不停变化的,这种频率的变化将导致速度值输出频率的不稳定,就很难进行下一步的滑行时间测算。于是在系统中加入一个低频时钟50 Hz,对速度值输出进行降频。

计数器分频工作原理:计数器根据输入时钟信号的上升沿来计数,当达到计数器的进位输出时,计数器就输出一个脉冲,从而使计数器输出的脉冲周期比原来的时钟信号周期大,达到分频的效果。计数器和分频如图4-10。

35

图4-10 分频模块框图

clk时钟为50MHz的全局时钟;fre_std为速度降频50Hz;fre_test为测速参考闸门250Hz。其代码参见附录三,仿真波形如图4-11所示。

图4-11 计数分频模块仿真图

4.2.3 时钟同步

因为设计中大量使用了触发器,因此如果是直接调用,则会产生时钟偏斜(Clock Skew)问题。时钟偏斜(Clock Skew)是指一个同源时钟到达两个不同寄存器时钟端的时间差别。造成时钟偏斜的原因主要是两条时钟路径到达同步元件的长度不同。这显然无法满足路径的保持时间,必将造成电路的工作错误。

在本设计中为了避免产生时钟偏斜,采用了两个时钟的方法,由50MHz全局时钟clk派生出一个和原时钟频率相同时衍生时钟,这样,就解决了时钟偏移问题。当原时钟相位落后clk时,即对其进行校正,使out1、out2和基准时钟信号clk保持同步。其代码参见附录三,模块图如图4-12所示,仿真波形图如图4-13所示。

图4-12 时钟同步模块

in1、in2:输入的时钟信号;clk:基准时钟;out1、out2:已同步的时钟信

36

号。

图4-13 时钟同步仿真图

4.3 测速模块

本模块中对标准时钟(50MHz)和四倍频信号分别计数,再根据公式(2-11)进行计算,然后输出速度值。模块图如图4-14所示,内部连接图如图4-15所示。

图4-14 测速模块框图

37

图4-15 测速模块连接图

4.3.1 计数模块

工作系统要求的调速范围是10~4000 rpm;速度环的频率为250 Hz,即每4ms取得一次速度信息。所用编码器是HGAIN S5208G-1024BM型增量式光电编码器,旋转一周输出的脉冲是为1024个,经4倍细分后实际的脉冲数p=4096 个。

参考闸门去250Hz的低电平信阶段,即0.002s时间。

60?7.3242理论上可测得的最大转速为:4096?0.002 rpm,满足工作系统提

出的最低转速要求。以最高转速4000 rpm旋转时,2ms内最大编码器输出脉冲

个,所以选用20位计数器(可计数数为0.002?4096?4000?60?19660802097151)作为转速脉冲计数器可满足要求。高频计时基准时钟选择开发板晶振提供的50 MHz,高频时钟计数器可以选择15位宽。

计数模块框图如4-16所示,其代码参见附录三。

图4-16 计数模块框图

code_AB:来自时钟模块的编码器倍频信号;clk:50MHz标准时钟信号;fre_test:250Hz测速闸门时钟信号;code_cnt:编码器脉冲计数输出;clk_cnt:标准时钟脉冲计数输出。

在实际应用中,当速度为零的时候,编码器不再输出脉冲,系统检测不到上升沿,所以计数闸门无法关闭,这将导致编码器脉冲计数溢出。所以在本模块中,编码器脉冲计数从1开始,当记到5005的时候,则停止计数,这使在后

38

面的计算模块中分母始终不为零,保证了计数器的正常输出。

仿真波形如图4-17所示,beipin为编码器倍频信号,cnt_en为计数闸门。

图4-17 计数模块仿真图

4.3.1 速度运算

前面计数模块输出的值,根据公式(4-1),需要相除之后再乘一个常数。因为在模块内进行的都是整数运算,为了保证精确度,我们先把编码器脉冲计数乘以该常数,再和标准时钟脉冲计数进行除法运算。同时,为了节省硬件资源,在保证精度不受明显影响的情况下,我们将乘法运算替换为移位运算。其框图图如图4-18所示,仿真波形图如图4-19所示.

图4-18 运算模块

图4-19 运算模块仿真图

code_cnt:编码器脉冲计数输出;clk_cnt:标准时钟脉冲计数输出;

39

本文来源:https://www.bwwdw.com/article/76r7.html

Top