基于FPGAMCU伺服电机控制器设计毕业论文.doc_第1页
基于FPGAMCU伺服电机控制器设计毕业论文.doc_第2页
基于FPGAMCU伺服电机控制器设计毕业论文.doc_第3页
基于FPGAMCU伺服电机控制器设计毕业论文.doc_第4页
基于FPGAMCU伺服电机控制器设计毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)基于FPGA+MCU的伺服电机控制器设计基于FPGA+MCU的伺服电机控制器设计摘 要本文首先对通用伺服控制平台项目做了整体的设计规划,并着重分析了基于FPGA的电机接口模块的设计和核心算法,给出相应的接口电路,并对等精度算法和设计思路在ALTERA QUARTUS 9.0的环境下进行了仿真,在实验电路上进行了测试。主要目的在于研究出一款高性能的基于FPGA的伺服电机接口模块。关键词:伺服控制平台 FPGA 等精度算法 电机接口模块 THE DESIGN OF FPGA+MCU BASED SERVOMOTOR CONTROLLERABSTRACTThis first general-purpose of this dissertation is the overall project design and planning for the servo control platform, and also it analyzed the core algorithms for the FPGA based interface design. Given a appropriate interface circuit ,An equal precision algorithms designed with FPGA is introducedIt adopts Verilog HardwareDescription Language to implement in servo motor interface modules ,and adds pulse width measurement on the base of traditional frequency measurement, and the HDL was simulated in the ALTERA QUARTUS 9.0 environment. Intended to design a high-performance FPGA-based servo motor interface module. Keywords:servo control platform FPGA equal precision algorithm servo motor interface module目 录摘要ABSTRACT1引言 11.1项目背景 11.2研究意义 12 系统组成22.1 运动控制器 22.1.1 MCU功能 22.1.2 FPGA功能 22.1.3光电隔离模块功能 22.2伺服驱动器 22.2.1常用伺服驱动器简介 22.3伺服电机32.3.1伺服电机简介32.3.2伺服电机工作原理42.3.3伺服电机的控制42.4HMI 42.5控制器上位机部分42.5.1上位机功能42.6以太网模块42.6.1以太网模块功能43 FPGA接口模块详细介绍53.1实现功能53.1.1 速度控制模块 53.1.2 位置控制模块 53.1.3 CPU接口模块 63.2速度与位置检测算法讨论63.2.1M法63.2.2T法63.2.3等精度测频算法63.2.4高精度数字测速算法93.3速度与位置控制算法203.4硬件部分143.4.1ALTERA FPGA介绍 143.4.2FPGA硬件部分 143.4.2.1电源及晶振部分 143.4.2.2内存及FLASH 153.4.2.3主芯片153.4.2.4JTAG下载163.4.3输入输出光电隔离173.4.3.1输入光电隔离模块173.4.3.2输出光电隔离模块183.5软件部分 183.5.1 verilog HDL编程语言介绍 183.5.2输入输出端子定义183.5.3寄存器定义193.5.4FPGA架构203.5.5主要模块介绍 204 仿真实验结果 225 应用案例 246 结论 26谢辞参考文献附录1 引 言1.1项目背景 此项目为待开发项目基于RABBIT5700+FPGA的伺服电机控制器的前期规划方案,目的在于帮助研发人员了解伺服电机控制器的有关知识和给出基于FPGA的接口模块的设计概要说明。 1.2研究意义 目前国内主力通用的伺服电机生产厂商主要有:众为兴、雷赛、固高、中达电通、摩森达等,趋于研发成本的考虑,大多数厂家在电机编码器接口芯片选择上,倾向于采用集成芯片如MX314,PCL6045等,但是随着控制要求的如见复杂,在一个ASIC上实现多轴的控制越来越吃力,这就刺激着我们回归基于MCU+FPGA的架构,把所有的多轴运算全都放到MCU里。本次设计着重对接口FPGA的架构和主要检测算法进行讨论,对接口FPGA的设计,具有一定参考意义。2 系统组成2.1 运动控制器主要实现对增量编码器信号的采集,以及对电机驱动器的控制,通过上位机发送过来的指令,在控制器里进行插补运算,再通过FPGA接口模块传递给驱动器。2.1.1 MCU功能 a.通过自身的以太网模块,接受上位控制机的指令 b.多轴插补运算 c.通过与FPGA的借口,控制FPGA发出控制脉冲2.1.2 FPGA功能 a.采集增量编码器的信号 b.通过与MCU的接口,把速度,位置等信息传给MCUc.通过与MCU的接口,接受MCU命令,实现单轴操作。2.1.3光电隔离模块构成实现输入输出光电隔离2.2伺服驱动器应用于伺服电机的专用伺服驱动单元被称为伺服驱动器。2.2.1常用伺服驱动器简介SIMODRIVE 611U的简介:西门子SIMODRIVE 611是一种模块化晶体管脉冲变频器,可以实现多轴及组合驱动的解决方案。基于其模块化的设计,使用SIMODRIVE可以根据具体的驱动任务来制定灵活多变的解决方案。驱动器的各模块从功能上分为6个部分:1) 电源模块2) 变频模块3) 反馈模块4) 监控模块5) 功率模块6) 控制模块611U 伺服驱动器各模块组成示意图2.3伺服电机2.3.1伺服电机简介 一个伺服电机内部一般包括一个直流电机、一组变速齿轮组、一个反馈可调电位器以及一块电子控制板。其中,高速转动的电机提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出。齿轮组的变速比越大,伺服电机的输出扭力也越大,也就是说越能承受更高的负载,但转动的速度也相应越低。2.3.2伺服电机工作原理伺服电机是一个典型闭环反馈系统,减速齿轮组由电机驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服电机精确定位的目的。2.3.3伺服电机的控制标准的伺服电机有三条控制线,分别为电源线、地线及控制线。电源线与地线用于提供内部的电机及控制线路所需的能源,电压通常介于4V-6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服电机会产生噪音)。甚至小伺服电机在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms到2ms之间,而低电平时间应在5ms到20ms之间。2.4 HMI 远程显示控制器上位机的操作界面,实现交互控制。2.5控制器上位机部分2.5.1上位机功能 a.参数配置b.逻辑控制c.运动控制d实时通信e.绘制实时曲线等功能2.6以太网模块2.6.1以太网模块功能完成系统数据的转发通讯工作与运动控制平台部分之间通过RT-TCP/IP协议进行通讯,而与伺服结构模块之间通过西门子标准总线背板总线进行通讯,通讯的数据主要包括系统的参数配置数据、实时运行数据和计算输出控制数据。3 FPGA模块详细介绍3.1实现功能3.1.1 速度控制 a.方向检测 b.速度检测 c.速度设定 初始 预置 加减速度点设定 实时改变 d.加速减速方式规划 线型 S型 e.脉冲发生3.1.2 位置控制 a.方向检测 b位置检测 c.绝对位置设定 初始 预置 实时改变 短距离运动优化 d.相对位置设定 初始 预置 实时改变 短距离运动优化 e.脉冲发生3.1.3 CPU接口模块 可实现与16位8086、16位H8、16位6800的标准接口。3.2速度与位置检测算法讨论 全数字交流伺服系统广泛采用增量式光栅编码器作为位置和速度传感器,编码器分辨率直接影响伺服系统的控制精度,为此,高性能伺服系统往往选用高分辨率或者对编码器信号进行倍频细分等,这样不可避免的增加了反馈环节的成本和复杂性。因而多数通用私服系统往往采用分辨率适中的编码器以寻求性能与成本的平衡,然而有限的分辨率就成为保证和提高伺服系统性能的主要瓶颈。幸运的是增量光栅编码器的反馈脉冲信号中不仅包含景区的位置信息,也包含着丰富的时间信息,妥善利用这一特征可以保证和提高全数字交流伺服系统的速度以及位置分辨率,以提高伺服控制性能。以下将着重讨论4种速度采集的算法,M法、T法为常用方法,但是往往只能在其频率段内达到很好的效果,等精度方法是现在比较通用的高效算法。而高精度数字测速算法主要依靠于32位的DSP进行快速的数据运算,因以后想再用FPGA板载NIOSII软核CPU,固介绍一下这种算法。3.2.1 M法M法是直接计取给定采样周期内的反馈脉冲数来测量速度,其特点是高速时测速精度高,低速时测速精度低,而如果在低速时把采样周期加长,那么在会对系统实时性有影响。确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw3.2.2.T法T法是通过测量两个相邻反馈脉冲的间隔时间来测量速度,其特点是低速时测速精度高,高速时测速精度低,恰恰与M法相反,如果想提高其在高速时的精度,必须大大提高系统时钟频率,实现比较麻烦,成本高。测周期法需要有标准信号的频率fs,在待测信号的一个周期Tx内,记录标准频率的周期数Ns,则被测信号的频率为:fx=fs/Ns3.2.3等精度测频算法等精度测频算法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,测除了对被测信号计数所产生1个字误差,并且达到了在整个测试频段的等精度测量。 系统时钟待测信号预置闸门实际闸门n 在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。n 首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。n 然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间与预置闸门时间1并不严格相等,但差值不超过被测信号的一个周期 n 设在一次实际闸门时间中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。n 标准信号的频率为fs,则被测信号的频率为 (1) n 由式(1)可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差为n =(|fxc-fx|/fxe)100% (2)n 其中fxe为被测信号频率的准确值。n 在测量中,由于fx计数的起停时间都是由该信号的上升测触发的,在闸门时间内对fx的计数Nx无误差(=NxTx);n 对fs的计数Ns最多相差一个数的误差,即|Ns|1,其测量频率为n fxe=Nx/(Ns+Ns)/fs (3)n 将式(1)和(3)代入式(2),并整理得:n =|Ns|/Ns1/Ns=1/(fs)n =|Ns|/Ns1/Ns=1/(fs)n 由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。n 闸门时间越长,标准频率越高,测频的相对误差就越小。n 标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度。 n CNT1和CNT2是两个可控计数器,标准频率(fs)信号从CNT1的时钟输入端CLK输入;经整形后的被测信号(fx)从CNT2的时钟输入端CLK输入。n 每个计数器中的CEN输入端为时钟使能端控制时钟输入。n 当预置门信号为高电平(预置时间开始)时,被测信号的上升沿通过D触发器的输出端,同时启动两个计数器计数;同样,当预置门信号为低电平(预置时间结束)时,被测信号的上升沿通过D触发器的输出端,同时关闭计数器的计数。n 系统由分频器、计数器1、计数器2、D触发器等组成。n 分频器出来的信号作为等精度测频原理的预置闸门信号。n 其中D触发器,计数器2和计数器1的作用与前2页图中所示相同。n 运算模块就是完成公式(1)的运算。n 复位主要对分频、计数器1和计数器2进行清零操作。 3.2.4 高精度数字测速算法MT法是在大致相等的采样间隔内,计取Cm个反馈脉冲,并同时计取这Cm个反馈脉冲间隔内插入的高频时标信号数Ct,以测量速度。其速度公式为: V = kRf0Cm/Ct (1)其中:kR为反馈信号脉冲当量,f0为高频时标频率,Cm为采样周期内计取的反馈脉冲数,Ct为Cm个反馈脉冲间隔内插入的高频时标信号数。MT法结合了M法和T法优点,同时也克服了各自的缺点,可以在整个测速范围内保持测速精度的一致性。因此MT法最适于构建针对增量式光栅编码器反馈脉冲信号的高精度数字测速算法。但是,经典的MT也存在不足之处,即采样时机的不确定性给定周期采样的数字伺服控制系统带来很大的不方便,为此又出现了变MT法、双缓冲法等方法以进一步改善MT法的性能和实用性。本算法以改进的MT法为基础,利用32位浮点运算的计算能力,充分发掘增量式光栅编码器反馈脉冲信号的位置信息和时间信息,以构建高精度数字测速及位置检测算法,提高数字交流伺服系统的反馈分辨率。基于32位浮点运算和改进的MT法的高精度数字测速算法的硬件原理参见图1,主要由32位浮点型数字信号处理器(DsP)和改进的MT法测速逻辑电路组成。改进的MT法测速逻辑电路由反馈脉冲计数器及其数据锁存器Cm,以及高频时标计数器及其两级数据锁存器Cf和Ct构成,用于对反馈脉冲信号及高频时标信号进行计数和定周期采样;其中锁存器Cm和Ct由定周期采样信号触发,锁存器Cf由反馈脉冲信号fp触发。32位浮点DsP则用于对上述采样值进行实时处理和运算,实现高精度数字测速算法。图1高精度数字测速算法的相关时序如图2所示。由于反馈脉冲信号fp的边沿和定时采样周期T的边沿在时间上不可能总是保持一致,因此任一采样周期的实际采样点Tk与该周期的固定采样点Tn之间必然存在一个不确定的时间差Tn,其大小随反馈脉冲的变化而变化。图1中改进的MT法的测速逻辑可以确保实际采样点Tk总是领先于定周期采样点Tn,因而可以保证从确定的采样点获得可靠的数据,这样就解决了传统MT法由于实际采样点Tk+1滞后于定周期采样点Tn的时间Tn不确定所带来的采样时机不确定的问题。高精度数字测速算法定周期采样计数序列Cm(n)和CT(n),通过相应的差分处理获得当前实际采样间隔内的反馈脉冲增量值Cm和高频时标增量值Ct:然后按式(1)以32位浮点运算获得高精度速度信息,这样得到的速度是当前实际采样间隔内的平均速度:V = kRf0Cm/Ct在实际采样点TK处高频时标信号f0的边沿不可能总是和反馈脉冲信号fp的边沿保持一致,因而会产生1个高频时标当量的计数误差,从而影响高精度数字测速算法的测速精度。因此高精度数字测速算法的测速相对误差为:当被测对象的速度稳定,且Cm个反馈脉冲所经历的时间恰好等于采样周期时,CtO=f0T,此时高精度数字测速算法的相对误差为恒定值,与被测速度和反馈脉冲分辨率无关,即然而多数情况下被测对象的速度都不能满足上述关系,Ct会在一个有限的范围内发生变化。Ct变大时,相对误差v减小;Ct变小时,相对误差v扩大;但是无论如何Ct都不会小于Ct0的50%,因此高精度数字测速算法在整个测速范围内的相对误差不会大于2v0分析式(1)可知,计数值Cm正比于被测速度,当反馈脉冲建个大于一个采样周期时,会造成Cm= 0及测速值为。因此,Cm的最小有效值等于1,也就是说Cm =1对应着高精度数字测速算法的测速下限Vmin;另一方面,Cm的最大有效值对应着被测速度的最大值。于是高精度测速算法的测速范围D恰好等于Cm的最大有效值和最小有效值之比;另外考虑到大多数情况下Ctf0T ,因而可以推到出以下式:分析式(3)(4)(5)可以得到有关参数对高精度数字测速算法性能的影响,见表1可见,反馈脉冲分辨率和采样周期的改变都可以影响高精度数字测速算法的测速范围和测速下限,但是提高反馈分辨率就意味着增加的成本,而延长采样周期就等于降低速度反馈环节的响应特性。为解决上述矛盾,一方面,可以保持高速段和长速段的采样频率不变,以保证较高的速度环频特性;另一方面,根据低速段速度的具体情况,有限地自动倍增低速段的有效采样周期,一伙的更宽的测速范围和更平稳的低速性能。这一措施的采用有效地提高了高精度数字测速算法的性能,同时又兼顾了反馈环节的成本。因此,高精度数字测速算法可以依靠有限的反馈分辨率来保证和提高速度反馈环节的 、频响测速范围以及低速平稳性。由增量式光栅编码器测量被测对象位置信息的传统方法是将反馈脉冲的个数累加起来作为位置信息。但是用这种方法获取的位置信息的分辨率取决与反馈信号的脉冲当量,就是说,测得的位置信息只能是反馈脉冲当量的整数倍,因而限制了这种方法的精度。分析增量式光栅编码器反馈脉冲信号在时间和空间两个方面的意义和联系可知,在空间上,反馈脉冲信号是对被测对象所处量化位置区间的反应;在时间上,则是对被测对象到达人意量化位置区间的发生时刻的反应。也就是说,利用增量式光栅编码器的反馈脉冲信号既可以测量被测对象在确定的时间到达了什么位置,也可以测量被测对象到达确定位置时的准确时间。因而增量式光栅编码器的反馈脉冲信号具有对被测对象的运动状态进行动态连续测量的能力。利用这一特性可以构造出一种高精度的动态位置检测算法。、参考图2可知,由于反馈脉冲信号fp的边沿和定时采样周期T的边沿在时间上不可能总是保持一致,所以任意采样周期的采样点Tk与该周期的固定采样点Tn之间必然存在一个不确定的时间差Tn。正式这个是检查中包含着比一个脉冲当量的量化位置分辨率更为精确的位置信息,因此高精度动态位置检测算法的关键就是获取和处理这一时间差Tn,并从中获得高精度的动态位置信息。与高精度数字测速算法类似的是,高精度动态位置检测算法不仅关注已经发生的反馈脉冲的数量,也关注反馈脉冲的发生时刻,因此其软硬件原理也基本类似,部分软硬件功能可以共用。再图1所示的高精度数字测速算法中改进的M/T法测速逻辑电路的基础上,再增加一个由定周期采样信号T触发的高频时标计数值锁存器CT(图中阴影所示部分),就构成了高精度动态位置检测算法的硬件基础。高精度动态位置检测算法的时序同样可以参考图2,图中的阴影部分表示由定周期采样信号T触发的高频时标计数值的锁存值。高精度动态位置检测算法以定周期T采样技术序列Ct(n)和,然后将通过相应的处理获得当前有效采样周期采样点Tn和实际采样点之间的计数差与时间差Tn 另外,从高精度数字测速算法中可以得到当前实际采样间隔内的反馈脉冲数增量值Cm以及被测对象的平均速度Vn;由Vn和Tn相乘就可以计算出时间差Tn中所包含的高精度动态位置信息,因此当前有效采样周期内的增量式高精度动态位置信息可以由式(7)所示的高精度动态位置检测算法得出:其中vn-1和Tn-1为上一有效采样周期的测量结果,且v0=0和T0= 0。高精度动态位置检测算法得到的位置信息Pn由整数和分数vnTn-vn-1Tn-1 两部分组成,其中分数部分vnTn。可进一步整理为可见高频时标脉冲频率f0确定时vnTn只受vn和的影响。式中:vn是被测对象的速度, 是当前有效采样周期的定周期采样点和实际采样点之间高频时标脉冲的计数差,其最小有效值等于1。因此,vnTn所表达的动态位置信息的分辨率可以表示为:其中fPn是与被测对象速度相对应的反馈脉冲频率。由此可见,高精度动态位置检测算法的测量分辨率与高频时标脉冲的频率成反比,与被测对象的速度成正比,即:低速段分辨率较高,而高速段分辨率较低。因此,高精度动态位置检测算法可以利用高频时标信号f0的内插作用,从具有动态连续测量能力的增量式光栅编码器的反馈脉冲信号中获取比单位脉冲当量更加精细的动态位置信息,避免了传统方法因简单累计反馈脉冲的个数所造成的截尾效应,提高了位置反馈的动态测量分辨率。总之,高精度动态位置检测算法可以提高增量式光栅编码器位置反馈的动态测量分辨率,使伺服控制的位置环获得更加精细的反馈输入,降低调节输出的波动,提高位置伺服的控制性能。3.3速度与位置控制算法讨论 主要拟讨论如何在单位时间内可准确发送脉冲个数,而且发送的脉冲个数可调。3.4硬件部分3.4.1 ALTERA FPGA介绍FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。Altera 的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。本次设计暂时使用Cyclone系列,进行实验验证。3.4.2 FPGA硬件3.4.2.1 电源接入&滤波&晶振部分3.4.2.2 内存及FLASH3.4.2.3主芯片3.4.2.4 JTAG下载3.4.2.5 端口扩展部分3.4.3输入输出光电隔离模块3.4.3.1输入光电隔离模块3.4.3.2输出光电隔离模块3.5软件部分3.5.1verilog HDL编程语言介绍 Verilog HDL是目前应用最为广泛的硬件描述语言Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述Verilog HDL进行设计最大的优点是其工艺无关性这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路3.5.2输入输出端子定义EAxin x轴编码器A相输入 EBx in x轴编码器B相输入 EZx in x轴编码器索引输入 OUTx out x轴输出控制电机的指令脉冲 DIRx out x轴输出控制电机转动方向的信号ELLx in 指定+-EL信号输入逻辑 in+ELx in x轴正方向限位信号 -ELx in x轴负方向限位信号 SDx in x轴限位减速信号 ORGx in x轴原点输入信号ALMx in x轴报警输入,当有效时,立即停机,或减速停机。PCSx in x轴重新设定目标位置信号,当有效时,重新设定目标位置ERCx in 偏差计数器清零信号 INPx in x轴到位信号 CLRx in 复位4个计数器中指定寄存器的信号 LTCx in 锁存4个计数器中指定寄存器的信号 BSYx in 判断X轴是否在运动的信号 3.5.3寄存器定义:普通寄存器:RMV RW 运动距离、目标位置RFL RW 初始速度RFH RW 运动速度RUR RW 加速度RDR RW 减速度RDP RW 减速点RMD RW S曲线加速区段RUS RW S曲线减速区段RCUN1 RW COUNTER1 指令位置计数器RCUN2 RW COUNTER2 机械位置计数器RCUN3 RW COUNTER3偏差计数器RCUN4 RWCOUNTER4 通用计数器RCMP1 RW 比较器1数据RCMP2 RW比较器2数据RCMP3 RW比较器3数据RCMP4 RW比较器4数据RCMP5 RW 比较器5数据RIRQ RWINT设置RLTC1 R COUNTER1锁存数据RLTC2 R COUNTER2锁存数据RLTC3 R COUNTER3锁存数据RLTC4 RCOUNTER4锁存数据RPLS R 定位计数器RSPD R EZ计数器、速度监控器RSDC R自动计算减速点预置寄存器PRMV RW 运动距离、目标位置PRFL RW 初始速度PRFH RW 运动速度PRUR RW 加速度PRDR RW 减速度PRDP RW 减速点PRMD RW S曲线加速区段PRUS RW S曲线减速区段3.5.4FPGA架构:3.5.5主要模块介绍:a. 编码器接口电路主要实现脉冲的精确测量,与方向测量,从而实现机器位置计数器,偏差计数器,通用计数器,定位控制计数器对EAx,EBx的精确计数。b. 指令位置计数器对加减速脉冲控制电路的输出脉冲进行测量,把数传递给寄存器控制电路,以用来告知执行指令的状态。c. 机器位置计数器对编码器接口电路的输入脉冲进行测量,用以测量机械位置。d. 偏差计数器监视指令位置与当前机械位置之间的偏差,通过寄存器控制电路,对加减速脉冲控制电路进行速度或位置补偿。e. 定位控制计数器对加减速脉冲控制电路的输出进行监视测量,和RMV寄存器比较,已判断是否到达目标位置。f. 比较器把计数器里的值与比较器里装载的值相比较,来判断此事此刻的运动状态,再把信息反馈给寄存器控制电路g. 加减速控制电路通过装载速度信息,从而发出脉冲驱动预置功能实现框图:4 仿真实验结果4.1等精度频率计仿真图5tclk=clk4.2等精度频率计仿真图80tclk=clk 4.3等精度频率计仿真图5000tclk=clk4.4等精度频率计仿真图10000tclk=clk 5 应用案例基于FPGA+MCU的伺服电机控制器:5.1固高GUC-400-TPX-M0X-L2 GUC-400-TPV/TPG-M0X-L2 是固高科技GUC 系列运动控制器的成员之一,是嵌入式PC 与运动控制器结合为一体的产品,与“工业计算机+运动控制器”结构的运动控制系统相比,具有更高的可靠性、稳定性、抗干扰能力和更好的性价比。该产品具有优越的运动控制功能和性能,丰富的运动控制功能等特别适用于高速、高精度精确位置控制要求的场合,强大的同步控制功能更是满足许多行业的同步控制功能需求。如,PCB 加工,半导体封装,印染,包装,剪切,服装加工等行业。该运动控制器还提供高速IO 现场总线扩展接口,可进行IO 的扩展,能满足多IO 点控制的要求。用户可选用固高科技现场网络IO 扩展模块及人机界面(HMI),获得一站式控制系统解决方案。52雷赛SMC6480SMC6480控制器是雷泰公司自主研发的基于10/100M以太网的通用型独立式运动控制器,可支持多个控制器和PC组成控制网络,网络中控制器的数量没有限制;也可应用于各种需要脱机运行的场合。 本控制器可控制4个步进或伺服电机,具有最高5MHz脉冲频率、四轴直线插补、两轴圆弧插补、连续曲线插补、S形曲线速度控制等高级功能。 SMC6480基于嵌入式处理器和FPGA的硬件结构,插补算法、脉冲方向信号的输出、自动升降速的处理、原点及限位等信号的检测处理,均由硬件实现,确保了高性能运动控制的高速、高精度及系统的稳定。通过简单的编程设定即可开发出稳定可靠的高性能高速连续轨迹运动控制系统。 SMC6480系统结构框图如1-1所示。除了4个电机控制端口外,还提供了丰富的I/O接口和通讯接口:双路高精度DA输出,双路PWM控制输出,16路隔离输入口,8路隔离输出口,其中有两路电流增强输出,并可通过扩展接口扩展更多的IO接口;一个10/100M网络接口、两个RS232,可通过网络或RS232直接与PC机通信;同时还可以通过RS232连接其它设备,如:文本屏、触摸屏,作为输入输出界面。 6 结论 通过本次毕业设计,了解并理解了整个伺服平台研发项目每个功能模块的意义,也学习到了很多和伺服电机控制相关的知识,在FPGA模块设计中,提出了一种合理的设计思路,定义了输入输出端口,寄存器,并成功的将主要算法进行了验证。完成绘制了FPGA硬件原理图,高速光耦输入输出原理图,相信对下一研发项目基于FPGA的运动控制模块的研发具有很大意义。参考文献1李谋位置检测与数显技术M北京:机械工业出版社,1993II Mou Position Measurement and Digital Display TechnologyMBeijing:China Machine Press,1 993 (in Chinese)2孙和平,白晶MT法高精度数字测速器参数选择及设计J电气传动自动化,1998,20(4):8285SUN Heping,BAI Jing 1998,20(4):8285 (in Chinese)3PALN ITKAR S. Verilog HDL数字设计与综合M . 二版.夏宇闻,胡燕祥,刁岚松,等译. 北京: 电子工业出版社,2004.4 王永良.基于FPGA的同步测周期高精度数字频率计的设计J.电子设计应用,2004,(12):74-76.5叶佩青 张辉 PCL6045B运动控制与数控应用 北京 清华大学出版社谢 辞在此论文完成之际,我要对赵慧园老师致以衷心的感谢,感谢他给我的细心指导,以及提供必要的实验环境。他多次提醒我,毕业设计一定要按照真正的项目需求去写,不要拘泥于制作,要把想法真真正正的表达出来,因此,我在此次毕业设计当中学到了很多关于伺服电机的背景知识。同时感谢深圳联诚自动化的所有同事,在我缺乏相关背景知识时是他们不吝赐教,让我懂得了伺服平台的实际架构及使用需求,尤其是饶仲海先生,让我真实的体验到了项目研发的工作,让我懂得怎样做事,懂得怎样思考。感谢何嘉琳师兄,在伺服电机测速算法上给了我很多的建议。最后,感谢在百忙之中参与论文评审的各位专家老师们,感谢他们在论文评审中所付出的辛劳,以及提出的宝贵意见。附 录用M法对输入脉冲进行实时测量,并把测量结果显示在LED数码管上。module cnt_led(clk,rst,dataout,wei,iMotor_Pulse_A, motor_i,cnt_1ms_f) ;input clk,rst,iMotor_Pulse_A;output7:0 dataout;/数码管显示数据output3:0 wei;/数码管显示使能output motor_i,cnt_1ms_f;reg7:0 dataout;reg25:0 cnt;/扫描频率计数器reg cnt_1ms_f;reg15:0 cnt_1ms;always(posedge clk or negedge rst)beginif(!rst)cnt_1ms=0;else if(cnt_1ms=16hc350) begin cnt_1ms=0; cnt_1ms_f=cnt_1ms_f; end else cnt_1ms=cnt_1ms+1;endreg motor_i;reg7:0 cnt_s500;always(posedge clk or negedge rst)beginif(!rst)cnt_s500=0;else if(cnt_s500=7h32) begin cnt_s500=0; motor_i=motor_i; end else cnt_s500=cnt_s500+1;endreg15:0 num;always(posedge iMotor_Pulse_A)beginif(!cnt_1ms_f) num=num+1; else num=0;endreg15:0 dis;always(posedge cnt_1ms_f or negedge rst)begin if(!rst)dis=0;else dis=num;end/*always(posedge clk or negedge rst)beginif(!rst) begincnt=0; endelse begincnt=cnt+1;if(cnt=26h2625a0)/ begin cnt_f=cnt_f; cnt=0; end endendreg15:0 num;always(posedge cnt_f or negedge rst)beginif(!rst)num=0;elsebeginif(num16h270f)num=num+1;else num=0;endend*/reg13:0 cnt_wei;always(posedge clk)begin if(!rst)b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论