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 = #2 cnt – 1’b1;
else
cnt = #2 cnt + 1’b1;
end
else if(shift_a == 2’b10)
begin
if(b)
cnt = #2 cnt + 1’b1;
else
cnt = #2 cnt – 1’b1;
end
else if(shift_b == 2’b01)
begin
if(a)
cnt = #2 cnt + 1’b1;
else
cnt = #2 cnt – 1’b1;
end
else if(shift_b == 2’b10)
begin
if(a)
cnt = #2 cnt – 1’b1;
else
cnt = #2 cnt + 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的三坐标丈量机电机操控体系。完结了较为准确的电机运转操控,完结了运转状况监测和限位,运转进程中遇到风险时可以及时中止,运动全体的安全性有了很大保证。
参考文献
[1] 王开军 依据FPGA的测控技能研究及运用 我国优异硕士学位论文全文数据库
[2] 松下公司.A4运用说明书[Z].日本 松下公司.
[3]王冠、俞一鸣等编著 面向CPLD/FPGA的Verilog规划 机械工业出版社
[4] Cyclone FPGA Family Datasheet ALTERA Corporation March 2003
[5]张团善 陈朝奎 光电编码器的单片机减振电路规划 国外电子丈量技能 2005年第8期
[6] 吴振宇 李策 冯林 一种依据DSP和FPGA的多路微特电机操控体系 微特电机 2007年第一期
[7] 刘井燕 限位开关的工程运用实例 主动化饱览
[8] 罗涛 挨近开关的原理运用及开展趋势 电子技能运用 1993年第七期