实用型增压器转速表设计

2014-04-03 02:24
自动化仪表 2014年7期
关键词:数码管子程序增压器

(中国北方发动机研究所1,天津 300400;山西柴油机工业有限责任公司2,山西 大同 037036)

0 引言

增压系统是实现内燃机功率提升的重要组成部分。不同工况的内燃机均有与之相适应的涡轮增压器转速。增压器的工作状态决定了内燃机的功率[1]。若增压器转速超出与内燃机功率输出相匹配的允许范围或者出现异常,将影响内燃机功率的发挥,严重时会影响其使用寿命。此外,由于增压器工作于高温、高压、密闭的环境,故障率较高,在试验及日常检修过程中,增压器转速也是不可缺少的参数之一。通常通过转速偏离正常值的大小来判断其是否出现故障[2],因此精确测量增压器转速具有十分现实的意义。

本文设计的增压器转速表(以下简称转速表)采用220 V市电供电,轻巧便携,所测转速通过数码管实时显示,左右通道转速切换方便,测量精度高,抗干扰能力强,具有很强的实用价值。

1 系统结构及算法

1.1 系统总体结构

转速表系统总体结构如图1所示。该系统主要包括电源供电模块、信号调理模块、数码管显示模块及系统核心C8051F310单片机。

图1 转速表系统结构图

当增压器工作时,传感器会输出微弱的正弦波信号,且信号频率与转速信号频率相同。该测量系统的整体设计思路为:通过调理电路将微弱的电压信号放大、整形后,转换为单片机可以识别的方波信号;经CPU内置的比较器整形,并运用PCA捕捉/比较模块进行数据计算、处理得到转速信号频率,然后转换成转速[2],通过显示电路实时显示。

1.2 转速测量算法

通过C8051F310内置的增强型捕捉定时器PCA,运用测周法测量转速信号频率,再将其转换为本转速表的转速为:测周法计算频率的误差是由于计数器只能进行整数计数而引起的±1误差[3]:

ε=ΔN/N=±1/N=±fx/fs

(1)

式中:fx为待测信号频率;fs为基准时钟频率;N为一个脉冲周期内的计数值。

由式(1)可知,如果进行n次重复测量并取平均,则±1误差会减小[4]。本系统的外部晶振频率为22.118 4 MHz。在保证计算精度的同时,为避免PCA计数器频繁溢出而引发定时器中断,将PCA时钟频率设为系统时钟频率的4分频。对于给定的脉冲信号,如果通过PCA捕捉寄存器测得一个脉冲周期包含N个系统时钟,则信号频率为f=1/[N/(fSYSCLK/4)],继而得到实际转速v=f×60。

2 硬件设计

2.1 C8051F310单片机

C8051F310是完全集成的混合信号片上系统型MCU。CPU速度可达25 MHz,具有丰富的片上模拟外设和数字外设,有效减少硬件设计的扩展芯片,使电路结构更加紧凑、可靠性更高。片内上电复位、软件看门狗等都是能真正独立工作的片上外设[5]。

2.2 调理电路的设计

增压器是内燃机车中转速最高的部件,转子工作转速根据工况的不同,一般在每分钟几万转至几十万转之间。某型号柴油机配备的磁电式转速传感器,输出电压幅度为±(10~40 mV)。为准确获取增压器转速信号,设计了信号调理电路[6],电路框图如图2所示。

传感器输出的电压信号通过一阶高通滤波后加在运算放大器的正向输入端,通过信号放大后,输出电压约为1 V;此电压加在滞回比较器的反向输入端,通过设置阈值电压,使其输出的正向电压约7 V,负向电压为6 mV左右;此电压信号通过控制开关三极管的通断转换成幅值为0~3.3 V的方波信号,送入单片机内部集成的模拟比较器,再转换为规则方波。

图2 调理电路框图

2.3 电源电路的设计

本文通过单片开关电源芯片TNY266实现了由220 V市电到3.3 V、±8 V电源电压之间的变换[7]。此单片开关电源集成电路具有高集成度、高性价比、最简外围电路和最佳性能指标等优点。电源电路原理图如图3所示。

图3 电源电路

220 V市电通过整流桥整流、电解电容滤波后,转换为直流高压。经高频变压器初级加在开关电源TNY266的漏极。当TNY266关断时,高频变压器漏感产生的尖峰电压叠加在直流高压和感应电压上,可使功率开关管的漏极电压超过700 V而损坏芯片。为此,在初级绕组两端增加了漏极钳位保护电路。D6、D7、D8为输出整流二极管,输出电压经过π型滤波电路吸收整流二极管反向恢复过程中产生的噪声。电磁干扰滤波器在抑制从电网引入的电磁干扰(EMI)的同时,防止开关电源产生的噪声经电源线向外传输。

该电路采用配TL431的精密光耦反馈电路,对输出电压作精细调整。当输出电压发生波动且变化量为ΔVO时,通过取样电阻R5、R6分压,使TL431输出电压VK产生相应变化量,进而使LED的工作电流IF改变;最后通过控制端电流IC的变化量来关断或开启MOSFET,使VO产生相反的变化,从而抵消ΔVO的波动。

2.4 显示电路的设计

由于增压器在工作时,转速会迅速上升至几万转,且几十转的转速对于几万转的转速可以忽略不计,因此本设计通过4位数码管只显示转速计算值百位及以上位数。显示电路如图4所示。

通过单片机P0口并行驱动4位数码管;P2口控制开关管的通断,分时轮流控制各个数码管的COM端,使各个数码管轮流受控显示,每位数码管的点亮时间为5 ms,运用人的视觉暂留现象及发光二极管的余辉效应,使数码管显示的数据稳定,且没有闪烁感。以上就是数码管动态显示技术。该技术具有使用硬件I/O端口少、节省线路板空间、功耗低等优点。

图4 显示电路

3 软件设计

为提高系统程序的可移植性和易维护性,采用模块化设计方法。整个程序由主程序、初始化子程序、转速计算子程序、滤波子程序、定时器中断服务子程序、看门狗子程序、按键扫描子程序等部分组成[8]。主程序主要完成系统初始化及实际转速测量过程中各个功能模块的协调。按键扫描和转速计算等子程序利用C8051F310丰富的中断资源,在外部中断、PCA捕捉定时器中断和定时器中断子程序中完成[5,9]。

3.1 PCA中断服务子程序

PCA中断服务子程序主要完成脉冲周期计算,为转速计算提供依据。由于PCA定时器和捕捉比较模块使用同一个中断向量,而中断引发到中断得到响应会有几个机器周期的延时。因此,在计算脉冲周期时的重点是对紧邻PCA定时器中断产生的PCA捕捉比较中断的发生先后顺序做出判断。

当系统没有信号输入时,PCA计数器也在运行,因此当有信号输入时,第一次进入捕捉中断时的PCA溢出计数器的值不一定为0。为保证第一个脉冲周期计算值的准确性,程序对是否是“第一次进入PCA捕捉中断”作了判断。具体做法是当过了设定的时间没有信号输入时,给无脉冲标志赋1,脉冲周期设为0xAFFFFF,代表无穷大。程序流程如图5所示。

图5 PCA中断服务子程序流程图

3.2 数字滤波

为增强系统的可靠性,降低实际应用过程中随机噪声和低频脉冲的干扰,在硬件滤波的基础上,采用数字滤波算法降低干扰信号在有用信号中的比例。数字滤波的优点是在不增加任何硬件设备的情况下,改变滤波程序或参数,就可以方便地改变滤波特性[10]。因此在脉冲周期计算及转速计算过程中均调用一阶低通滤波算法。算法公式为y(n)=ax(n)+by(n-1),系数a+b=1。经过试验调试,该系统的a、b参数值分别为0.3、0.7。

3.3 软件看门狗

为保证程序运行的可靠性,同时节省成本,充分利用C8051F310片上资源,加入软件看门狗[5]。为兼顾系统中的每个模块及子程序,在每段子程序末尾置标志,在定时中断中复位看门狗,复位看门狗之前先检测程序运行标志是否置位。如果标志置位,则说明程序运行正常,清看门狗同时清程序运行标志;反之复位。这样保证了在正常时间内,只要有一个子程序没有跑到,看门狗都能使系统复位,防止系统陷入死循环或跑飞。

假设很长一段时间都没有信号输入,PCA捕捉中断就不会执行。为防止在这种情况下程序陷入死循环,每隔5 min给一个复位指令。

3.4 一键多功能识别技术

为增强转速表的实用性、可操作性,采用一键多功能识别技术,通过一个按钮控制要显示的通道的转速。系统上电时,默认的按键ID号为0,此时左右通道转速以3 s为间隔交替显示,对应各通道转速的LED指示灯交替点亮。键每按下一次,ID号加1,ID号最大值为2。ID号为1时只显示左通道转速,相应指示灯点亮;ID号为2时,只显示右通道转速,相应指示灯点亮。

为降低系统功耗,节能减排,在ID号为0时,如果有一路转速变为0,则在30 s后,只显示不为0的转速,并点亮相应的指示灯;如果两路转速均变为0,则在交替显示1 min后,系统进入低功耗模式,显示屏不显示任何数字,只点亮上面的LED指示灯,系统进入休眠模式。在这种情况下,只要有转速输入,系统便被唤醒,恢复到正常运行模式。

程序流程如图6所示。

图6 程序流程图(ID=0)

4 结束语

本文设计了一款便携式增压器转速表。该转速表以高性能的C8051F310单片机[11]为核心,采用内置的PCA捕捉模块基于测周法测量转速,在硬件滤波的基础上结合软件滤波,能快速准确测量增压器转速,且抗干扰能力强。利用信号发生器进行模拟增压器转速测量,结果表明在28~280 000 rad/min范围内的任意转速,增压器转速表测得的数值与信号发生器显示值相比,误差<±0.5%。逐渐增大或减小转速时,转速表显示的数值随之增大或减小,且响应速度快,数字显示稳定。一键多功能识别模式使得要显示的数据在左右通道间方便切换,应用灵活。经过试验考核及数台样机近一年的现场使用,证明该转速表工作性能稳定,测量精度高,响应速度快,各项指标均达到设计要求。

[1] 钟旭,李飞燕,程政.实用高性能机车涡轮增压器转速测量新方法[J].仪表技术与传感器,2007(5):53-55.

[2] 胡晓依,冯庚斌.基于振动原理的便携式增压器转速测量仪[J].仪器与仪表,2000(2):17-20.

[3] 张雪平.单片机提高频率测量精确度的新方法[J].微计算机应用,2004,25(1):114-117.

[4] 张杰,姚剑,叶林,等.频率测量的新方法[J].工业仪表与自动化装置,2003(1):63-66.

[5] 童长飞.C805IF系列单片机开发与C语言编程[M].北京:北京航空航天大学出版社,2005: 142-143.

[6] 童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2006:309-326,414-417.

[7] 沙占友.新型单片开关电源的设计与应用[M].北京:电子工业出版社,2001:10-37.

[8] 马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2007:143-151.

[9] 张俊谟.SoC单片机原理与应用——基于C8051F系列[M].北京:北京航空航天大学出版社,2007:110-120,178-197.

[10]杨剑,刘光斌.单片机系统中应用的几种数字滤波方式[J].微计算机应用,2006,27(1):114-116.

[11]王东峰.单片机C语言应用100例[M].北京:电子工业出版社,2009:151-161.

猜你喜欢
数码管子程序增压器
基于51单片机的分数计数器设计
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
博格华纳由可变截面涡轮增压器向电子涡轮增压器发展
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
小型化发动机用新型罗茨增压器
采用两级涡轮增压器提高功率密度