微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC24单片机在轧机液压缸行程检测上的应用

PIC24单片机在轧机液压缸行程检测上的应用

时间:10-15 来源:互联网 点击:

工作辊卡板是轧机工作辊的一个关键定位装置,安钢1780MM精轧机组由7架精轧机组成,每架轧机的工作辊都有8个卡板进行固定,在换辊时这些卡板可以打开,卡板驱动由卡板液压缸来实现。目前,卡板的开闭状态都是通过磁感应开关来检测,由于轧机上水汽大并存在强磁场干扰,磁感应开关在工作中会经常丢失信号,引起停车事故,从而严重影响生产节奏。为此,需要开发一套使用PIC24单片机,配合涡街流量计通过检测液压回路内流体累积流量的方式实现液压缸行程检测的系统。

1 液压缸行程检测系统简介

图1是液压缸行程检测系统的检测原理示意图。从涡街流量计变送器得到的信号是由线圈或霍尔元件在旋转中产生的具有正负半周的微弱电脉冲信号,其幅值非常小,一般在毫安级。系统中的整形单元将该微弱信号转变成同频率,单片机可以识别的正脉冲信号。

1.1 瞬时流量

瞬时流量正比于流量及输出的脉冲频率,如式(1)所示,式中,Ft为体积流量,单位为m3/h;k为流量计仪表系数,单位为1/m3;f为流量计输出频率,单位为Hz。

当频率f在0和f1之间时,仪表系数k按k1计算。当频率f大于f8时,仪表系数k就按照k8计算。当频率在f1与f2之间时,仪表系数k=(f-f1)/(f2-f1)·(k2-k1),依次类推。

1.2 频率测量方法

通常频率测量方法有两种:测周法和测频法。测频法就是在一定的时间间隔内,对输入的周期信号脉冲计数,如图2所示,按照普通测频法的原理,会有误差△n=±1。造成计数误差的原因如下:

1)定时器启动后,没有遇上待测脉冲的下降沿,而要等t1时间后才开始计数;

2)定时器时问到,不在待测脉冲的末尾,而提前了t2时间。

为了消除△n=±1误差,系统中采用了新的测频方法,采用式(3)进行。

f=n/t’ (3)

系统中,利用单片机的软件可控性,使消除计数误差△n变得简单,计数时使用单片机的两个定时器,一个定时,一个计数。计数器由外部信号控制启动,且与待测脉冲信号同步,这样就消除了普通测频法中t1的影响。在新测频法中,当定时时间t到了以后,CPU采样到最后一个脉冲后,此时计数值为n,n个脉冲的时间为t’,这样就消除了普通测频法中t2的影响。这种测量方法的误差≤1%。对定时时间t的选取小于1 s,这样就保证对频率信号的响应时间小于1 s。

2 PIC24单片机高速脉冲捕捉功能实现

本系统中选用PIC24系列单片机是Microchip新的产品系列,该芯片是一款高性能16位RISC单片机,其采用先进的哈弗构架,工作时钟在32 MHz频率下,指令速度高达16MIP S。

在设计中,使用PIC单片机的16位捕捉输入通道,高速捕捉涡街流量计发出的脉冲信号,采用上文阐述的脉冲测量方法,通过编程实现液压缸行程测量。图3为PIC24单片机输入捕获的功能框图。

在本系统的控制程序中,首先设置ICxCON控制器中捕获预分频,以及边沿检测逻辑(上升沿检测)。当在捕获通道ICx有输入信号符合边沿检测条件时,这时将把捕获信号的数值存入FIFO读/写缓存区。如果应用程序需要读取捕获的数值,可以根据捕获中断ICxIF标志判断捕获事件,从16位定时器TMRy、TMRx中读取捕获通道信号的数值就可以计算捕获通道信号的大小,信号的宽度信息。

C语言程序中,设置为输入捕获模式1,每捕获4个上升沿,进行一次中断,设置定时器2为基准时间,为了避免异常中断,屏蔽了IC1CON功能。实现代码如下:

IPC0bits.IC1IP=1; //设置输入捕获寄存器为第一级优先级

IFS0bits.IC1IF=0; //清除IC1中断状态标志

IEC0bits.IC1IE=1; //使能IC1中断

IC1 CON=0X0000; //关闭输入捕获模式1

IC1 CON=0X00A4; //打开输入捕获模式1

3 硬件设计与功能实现

系统硬件设计采用PIC24FJ128GA单片机芯片,配合相应检测电路实现,液晶显示单元由驱动器HD44100和8位LCD构成。

1)单片机的T0CK1是其计数器0的输入端口,这里用来作为放大整形脉冲信号的输入检测端。

2)单片机的0SC1脚相连的是RC震荡器的外界电阻和电容。

3)单片机的RB2、RB4、RB6作为按键的IO输入口。

4)液晶驱动模块使用HD44100,其采用静态驱动方式。

5)每0.5 s计算一次瞬时流量(0.5 s内的平均值),每5 s将累积流量值保存入E2PROM一次。

4 软件设计与功能实现

软件主要包括主程序,信号采集、测量、滤波程序、显示程序和读写E2PROM程序等其它子程序。

4.1 主程序

主程序完成实时性要求不高的功能,完成系统上电初始化,实现键盘处理,动态计算,刷新显示等功能。其中,数据处理模块主要是完成信号频率与设定频率的比较、仪表系数k值的确定,瞬时流量的计算、累计流量的计算等功能。

4.2 中断服务程序

中断服务程序由

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top