基于FPGA的三坐标测量机电机控制系统

发布者:夜色迷离最新更新时间:2014-12-05 来源: eccn关键字:三坐标测量机  电机控制系统  FPGA 手机看文章 扫描二维码
随时随地手机看文章

1、控制系统概述

随着工业的发展,三坐标测量机越来越显示出其重要作用。而电机控制系统对三坐标测量机的运行有着非常重要的作用。由于FPGA可以现场可编程,可以实现专用集成电路,能满足片上系统设计(SOC)的要求,使其日益成为系统的关键部件。[1]本文介绍一种基于FPGA的电机控制系统,用于控制三坐标测量机电机运行。

系统主要由PC机、控制电路、驱动器[2]和电机组成。系统结构图见图1。

其中PC机,由VC++实现用户界面,发出的命令由FPGA进行接收和缓存,单片机进行分析处理产生控制命令,控制命令再经过FPGA传入驱动器,控制电机运行。同时电机状态信息反馈回PC机,用于人机交互。系统中FPGA选用的是Altera公司的Cyclone系列。

2、系统功能实现

下面分别介绍FPGA实现电机控制功能的几个重要部分。

2.1编码器进行速度、位移量测量的实现方法

编码器为传感器类的一种,主要用来侦测机械运动的速度、位置、角度、距离或计数,在电机控制中用于换相、速度及位置的检出,作用十分重要。 光电编码器具有分辨率高,响应速度快,体积小,重量轻,耐恶劣环境等特点,故常被用作高精度位置检测传感器。它的精度或分辨率主要决定于每转输出的脉冲数(对增量式编码器而言)。根据控制需要,还可以利用倍频技术来提高位置检测精度。[5]本系统使用增量式编码器即增量编码盘。

增量编码盘输出信号A和B具有90°的相位差。A和B的相位关系反映了被测对象的旋转方向,若A超前于B,表明编码器是顺时针旋转的,反之,编码器为逆时针旋转。当增量编码盘的细分数为N时,增量编码盘的每一个脉冲代表的角位移为360°/N,A、B信号的频率相同,频率大小反映当前电机速度,由这两个信号就可得到电机转向、转角和转速。[6]如图2所示,在A和B的上升沿和下降沿计数器均做相应变化,得到count脉冲,在FPGA中计数,即可得到编码器输出的脉冲数,经过计算就可以得到电机一定时间内实际走过的路程或者单位时间内的速度。


本系统主要在FPGA中编程实现对编码器的硬件解码。主要程序如下:

if(shift_a==2’b01)
begin
if(b)
cnt<=#2cnt-1’b1;
else
cnt<=#2cnt+1’b1;
end
elseif(shift_a==2’b10)
begin
if(b)
cnt<=#2cnt+1’b1;
else
cnt<=#2cnt-1’b1;
end
elseif(shift_b==2’b01)
begin
if(a)
cnt<=#2cnt+1’b1;
else
cnt<=#2cnt-1’b1;
end
elseif(shift_b==2’b10)
begin
if(a)
cnt<=#2cnt-1’b1;
else
cnt<=#2cnt+1’b1;

其中,cnt为十六位寄存器,shift_a=2’b01和shiftb=2’b01分别表示A和B出现上升沿,同理如果是等于2’b10则表示下降沿。电机编码器硬件解码程序仿真模拟后效果如图3所示。图中number为FPGA计算所得的编码器输出脉冲数。


2.2脉冲控制实现运动过程

利用脉冲控制电机速度即利用脉冲频率决定电机速度。这种方法能够得到较高的运行精度,适用于三坐标机电机控制系统。首先,上位机给定运行速度,命令传到单片机,单片机进行计算,获得单位脉冲周期内需要时钟数,再将数据传入FPGA,由其相应模块处理。FPGA中相应的处理模块实现的基本原理是:根据单片机给出的时钟数进行判定。程序开始运行,开始计数周期,时钟数目不断累加,当累加数目到达单片机给定值的时候完成一个计数周期。然后计数器清零,重新开始计数,输出信号状态翻转。程序如下所示:

if(cnt>=currentSpd)
begin
puls<=~puls;
cnt<=25’h1;
end
else
cnt<=cnt+1’b1;
其中cnt为计数器,currentSpd为单片机计算所得的时钟数,puls为输出脉冲。电机运动加速的过程就是一个脉冲频率逐渐加大的过程,也就是说单位周期内时钟数量逐渐增加的过程。相应的减速过程与之相反。匀速过程则是一个以给定频率保持不变的运动过程。下图便是一个匀速、减速的仿真结果。


2.3限位和解除限位的方法

最后讲述限位及其解除方法。在电机控制过程中应用限位是一种减少事故发生的有效方法。限位功能的实现需要由限位开关实现。限位开关按其检测方式可分为接触式(行程开关)和非接触式(接近开关)。[7]本系统采用非接触式。接近开关式一种非接触式检测,当运动的金属物体接近开关的感应面而达到动作距离时,便无接触无压力的自动发出检测信号,用于驱动器,也可以将其输出信号送入控制单元,以控制系统动作。[8]电机运行过程中,如果运动轴到达限位开关,即产生限位信号,信号传到控制电路,FPGA接收限位信号,做出处理后发出停止前进信号传给驱动器,驱动器控制电机停止,避免发生碰撞危险。一旦出现限位,前进命令即被禁止,电机只能带动运行轴反方向运行,在运行轴反向运动同时单片机监测FPGA测得编码器反馈的位移值,如果判断运行轴反方向运动的位移值达到安全值,便认定限位解除,电机运行恢复正常状态。
3、总结
本文较为详细的介绍了一种基于FPGA的三坐标测量机电机控制系统。实现了较为精确的电机运行控制,实现了运行状态监测和限位,运行过程中遇到危险时能够及时停止,运动整体的安全性有了很大保障。

关键字:三坐标测量机  电机控制系统  FPGA 引用地址:基于FPGA的三坐标测量机电机控制系统

上一篇:超声波探伤仪保养
下一篇:基于PCI总线集成电路测试仪接口设计

推荐阅读最新更新时间:2024-03-30 22:50

基于FPGA的新型谐波分析仪设计
摘要:给出一种基于FPGA的新型谐波分析仪的设计方案。在该方案中,采用FPGA实现快速的FFT运算,使用实时操作系统结合Ethernet芯片实现TCP/IP协议直接接入局域网,并给出实现的设计实现。 关键词:FPGA Verilog HDL Nios 谐波分析仪 实时操作系统 引言 随着节能技术和自动化技术的推广,电力电子装置如变频设备、变流设备等,容量日益扩大,数量日益增多,使电网中的谐波污染日益严重,给电力系统和各类用电设备带来危害,轻则增加能耗,缩短寿命,重则造成用电事故,影响安全生产。因此,消除谐波污染,把谐波含量控制在允许范围内,已成为主管部门和用电单位的共同奋斗目标。 目前,电力系统中的谐波源,不但类型多,而且分布广,用
[半导体设计/制造]
基于测试系统的FPGA测试方法研究
1 引言 目前FPGA大多采用基于查找表技术,主要由可编程输入/输出单元(IOB)、可编程逻辑单元(CLB)、可编程布线资源(PI)、配置用的SRAM、BlockRAM和数字延迟锁相环(DLL)等部分组成。对FPGA进行测试要对FPGA内部可能包含的资源进行结构分析,经过一个测试配置(TC)和向量实施(TS)的过程,把FPGA配置为具有特定功能的电路,再从应用级别上对电路进行测试,完成电路的功能及参数测试。 2 FPGA的配置方法 对FPGA进行配置有多种方法可以选择,包括边界扫描配置方法、Xilinx公司专用的SPI/BPI FLASH配置方法、System ACE配置方法、CPLD+第三方FLASH配置方法、系统直接加载配置向
[电源管理]
基于测试系统的<font color='red'>FPGA</font>测试方法研究
虚拟FPGA逻辑验证分析仪的设计
虚拟FPGA逻辑验证分析仪的设计 随着FPGA技术的广泛使用,越来越需要一台能够测试验证FPGA芯片中所下载电路逻辑时序是否正确的仪器。目前,虽然Agilent、Tektronix 等大公司生产的高端逻辑分析仪能够实现FPGA电路的测试验证功能,但此类仪器价格高昂,一般要十万、数十万人民币。所以,研究开发价格适中且具有逻辑分析仪和FPGA电路的测试验证功能的仪器是非常有价值的。 本文所介绍的基于虚拟仪器技术的逻辑验证分析仪,采用FPGA技术来实现仪器硬件部分的主要设计,应用图形化编程语言LabVIEW来实现仪器的测试软件设计。文中阐述了虚拟FPGA逻辑验证分析仪的总体设计方案及其工作原理,并对仪器的两个主要工作环节的开发设
[测试测量]
虚拟<font color='red'>FPGA</font>逻辑验证分析仪的设计
基于FPGA的IIR数字滤波器的快捷设计
    0 引言 IIR数字滤波器在很多领域中都有着广阔的应用。与FIR数字滤波器相比,IIR数字滤波器可以用较低的阶数获得较高的选择性,而且所用存储单元少,经济效率高。一个N阶IIR数字滤波器的系统函数为:     其线性常系数差分方程为:     用 FPGA 实现滤波的基本思想就是基于式(2)来实现的。如果知道了系统的输入序列(滤波器的输入),那么,只要根据所给的滤波器的指标,然后通过MATLAB仿真出系数矢量b和a,再采用递推算法求解差分方程,就能求出输出序列(滤波器的输出)。 1 滤波器的MATLAB设计 由于本文采用巴特沃斯滤波器,故需要在工具箱中调用的两个函数butto
[嵌入式]
Mercury+ MP1核心板首发:当FPGA 遇见RISC-V®
合集关键词:Mercury+MP1;RISC-V®;PolarFire® SoC FPGA;低功耗;Microchip 写在前面: RISC-V是一個基于精简指令集(RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。RISC-V ISA在架构上提供了一个自由的、可扩展的软件和硬件自由的新水平,为未来50年的计算设计和创新铺平了道路。 关于PolarFire® SoC FPGA系列 Microchip的PolarFire®
[嵌入式]
Mercury+ MP1核心板首发:当<font color='red'>FPGA</font> 遇见RISC-V®
FPGA技术如何帮助数字电视实现快速上市
  从模拟广播向数字广播的转变为业界提供了令人振奋的新服务和挣钱机会,而OEM厂商之间为生产更有价格吸引力的系统而进行的竞争也非常激烈。然而,正如许多其它技术转变时所面临的情况一样,各个企业为竞争市场领导地位提出了许多新的建议标准。无论标准团体如何努力保证互操作性和公平竞争,第一个成功上市的产品都很可能会变成事实上的标准。即使是标准团体成功发布的国际上得到承认的标准,经常也会由于试图满足众多成员公司的需要而存在许多不同的版本。除此之外,不可避免地会对标准进行许多修正,如在早期阶段的现场测试反馈之后,或在后期阶段有新的算法或增强提出来时。因此很容易发现为什么一个完全可重新编程的解决方案是如此有吸引力。例如,如果您可以重新编程您的系统
[嵌入式]
基于DSP和FPGA的ARINC429机载总线接口板的硬件设计
摘要:介绍了民用飞机机载数据总线ARINC429的硬件接口板,该接口板采用DSP和FPGA实现四种ARINC429信号收发通道,使整个系统的处理速度大大提高。 关键词:ARINC429总线 DSP FPGA 机载数据总线ARINC429在当代的运输机和相当数量的民航客机(如A310、A300、A600、B757、B767)中有着广泛的应用。目前国内对ARINC429总线接口板的设计一般都是基于HARRIS公司的HS3282芯片完成的,它的缺点是路数有限、非常不灵活。因此对ARINC429总线接口板的研制,实现多通道ARINC429总线数据的接收和发送,成为目前对飞机载总线接口研究的重点,具有非常重要的现实意义和应用前景。
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved