基于SOPC的工业大型吊车吊钩位置测量的设计
扫描二维码
随时随地手机看文章
[摘要] 本文提出了应用FPGA和编码器实现基于SOPC的工业吊车吊钩的位置测量。该设计通过对于相关编码器输出信号的采集处理实现了对于吊钩垂直距离的测量,并且对于在应用实践中的问题进行了讨论。
[关键词] SOPC;FPGA;位置测量
1. 引言
在大型工业吊车运行中由于吊车司机位置往往离地面很高(一般为20米到50米),司机很难能准确判断出吊钩的准确位置,只能完全依靠地面人员的指挥,这样效率低下,而且生产安全完全由地面指挥人员负责,发生事故的概率较高。为了能使吊车司机知道吊钩的实时准确位置,提高生产率,降低事故的发生率,本文提出了一种基于SOPC(system on a programmable chip 片上系统)的高度测量方法。SOPC技术是将整个系统集成到单一半导体芯片上,在单一芯片上集成数字,信号采集和处理,I/O接口,存储器,MCU(微处理器)和DSP(数字信号处理器)等芯片。采用SOPC技术可以减少外围电路芯片,降低整机成本,提高设计的可靠性。
本文设计采用Atlera公司的FPGA:CycloneII 1P2C8[1]作为系统控制的核心实现SOPC。其灵活的现场可更改性,可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上还可以进一步提高系统的性能。该设计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。
2.测量原理
工业龙门吊车一般由吊钩、动滑轮组、滚筒组成,电机通过减速机驱动滚筒,带动吊钩在垂直平面上下移动。这样通过对滚筒的旋转位移测量而转换得到吊钩的垂直位移。通过在滚筒轴心安装旋转编码器可以实现对其位移的测量。
(1)
其中 S 吊钩对地的垂直距离;
N 吊钩发生S位移内旋转编码器记录的脉冲数;
N1 动滑轮组数;
N2 旋转编码器的P/R;
L 吊钩的上级限到底面的距离;
D 滚筒直径。
根据公式(1)可知当旋转编码器已定,吊车的动滑轮组数已定,滚筒直径和吊钩的上级限到底面的距离可以测量得到,吊钩对地面的垂直距离就只于吊钩发生于地面垂直位移内旋转编码器纪录得脉冲数有关。
3.整体设计思想
由公式(1)可知,对于吊钩的垂直位移测量通过该公式转换成了对安装在滚筒同轴的增量旋转编码器输出脉冲的计数。再通过对于吊车动滑轮组数N1、旋转编码器的P/R N2、吊钩的上级限到底面的距离L和滚筒直径D这四个参数的设置,经过计算得出吊钩对于地平面的垂直距离。
4系统结构及功能
图一
4.1 编码器信号输入及光电隔离模块
编码器信号输入模块负责增量式旋转编码器的信号输入,光电隔离模块负责编码器信号和系统板的电隔离。增量旋转式编码器选用欧姆龙的E6B2集电极开路输出。由于滚筒直径比较大(一般大于1m)并且转动速度比较慢,编码器输出频率比较低(<10k/s),光电耦合器选用TLP系列。此模块接收编码器的A,B两相信号,和吊车上级限信号(上级限信号是无源常开节点)。当吊车吊钩运行到上级限时,上级限信号闭合,FPGA接收信号并且把上级限到底面的距离L装载入计数器初值。
4.2 EMI和电源模块
由于该设计应用于工业现场,为了解决现场的电源干扰问题,本设计使用了X电容,Y电容和共模电感对电源进行滤波,通过变压器和稳压模块得到+24v,+3.3v,+1.5v分别提供编码器电源电压,CycloneII 1P2C8的IO口电源电压和核心电源电压。
4.3 FPGA控制模块
FPGA采用Altera CycloneII 1P2C8,该器件拥有8256个LE单元,36个 M4K模块,能满足本设计要求。FPGA模块采用自顶向下的设计方法[2],首先自顶向下地生成各设计阶层(本设计为二层结构),将设计任务分解为不同的功能元件,每个元件具有专门定义的输入输出并执行专门的逻辑功能。然后,生成一个由各功能元件相互连接形成的顶层模块。最后设计其中的各个元件。本设计顶层模块用图形描述,直观,清晰,可扩展性强,底层元件用VHDL[3]描述。
FPGA按功能分解为以下六个功能块:滤波模块(filter),编码器相位识别模块(phasecheck),装载模块(MCload),计算模块(Calplus),双向计数模块(Count16bit),显示驱动模块(LEDControl)。FPGA 顶层图形描述见图一。
系统接收光电码盘的信号A,B通过滤波模块滤除尖峰,凹峰等信号干扰,通过编码盘相位识别模块识别吊车滚筒正转反转状态(即吊车吊钩上移下移状态),并且把信号和正反转状态送入双向计数器记录脉冲个数。装载模块把N1、N2、 L和 D四个参数装载,并计算得到每个脉冲对应吊钩的位移距离。计算模块接收实时脉冲数、每个脉冲对应的吊钩位移距离和吊钩的上级限到底面的距离计算出吊钩实时相对于地面的距离,再通过显示模块解码并直接驱动LED显示吊钩实时高度。以下是滤波模块的VHDL描述
图一
library IEEE;
use IEEE.Std_logic_1164.all;
use IEEE.std_logic_signed.all;
use IEEE.std_logic_arith.all;
entity fitter is port(clk,A:in std_logic; AOUT:out std_logic); end entity filter;
architecture Crane of filter is
signal data0,data1,data2,data3,data4,data5:integer range 0 to 1;
signal dataall:integer range 0 to 7;
begin
process(clk)
begin
if clk'event and clk='1' then
if A='1' then data0<=1;else data0<=0;end if;
data1<=data0;data2<=data1;data3<=data2;data4<=data3;data5<=data4;
dataall<=data0+data1+data2+data3+data4+data5;
if (dataall>=3) then AOUT<='1'; else AOUT<='0'; end if;
end if;
end process;
end architecture Crane;
5.应用实例
本设计成功应用于武钢二炼钢56吨龙门吊车中。该吊车上极限离地面距离18m,滚筒直径1000mm,吊钩滑轮组数为5,安装在滚筒轴心的增量式旋转编码器为欧姆龙的e6b2-cwz6c漏极输出式,分辨率为360P/R。 经过计算每个脉冲对应吊钩上下距离为1.74mm,装载计数器的初值为10345。
调试初期发现吊钩显示位移比理论值要大,但是在实验室条件下正常,故怀疑编码器脉冲输出在现场受到干扰。在现场换了屏蔽线后此现象依然存在,用便携式示波器观测发现,编码器信号在经历一定长度传输后信号发生了畸变,每个脉冲的高电平中间有48us凹峰,经过光耦进入FPGA时就引起了误计数,针对此凹峰我们设计了开窗滤波器(filter),经过实际调试消除了现场干扰问题,图二是从现场采集的波形,图三是加滤波器采集到的波形。
图二
图三
6结束语
本文提出了应用FPGA和旋转编码器的SOPC设计测量工业大型吊车吊钩位置。该设计具有测量精度高、成本低、运行可靠、维护量少的特点。该设计成功应用于武钢二炼钢,其吊车主要任务是将炼钢完成后的钢包从距离地面约九米的操作台吊到地面冷却区域冷却,由于钢包体积较大,一般司机凭感觉将吊钩碰撞一下着钩处才能定位,由于吊钩重量很重( 大约1吨)这种碰撞对于承载钢包的万向轴危害很大,在应用本设计后吊车司机能很准确的知道吊钩的位置而不用靠碰撞来定位,延长了万向轴的寿命,提高了一次定位成功率,缩短了生产时间,提高了生产效率。
参考文献:
[1] Cyclone II Device Handbook. www.altera.com
[2] skahiuk.可编程逻辑系统的VHDL设计技术。南京:东南大学出版社,1998
[3] 林敏,方颖立。VHDL数字系统设计与高层次综合「M].北京:电子工业出版社,2002。