单片机控制轮胎自动充气装置的设计

2021-03-16 06:43豆鹏飞
橡塑技术与装备 2021年5期
关键词:气泵电桥数码管

豆鹏飞

(长庆油田公司,陕西 榆林 718100)

作为单片机智能化产品,其在市面上的应用极为普遍。单片机智能化产品具有价位低、低耗电、体积小、轻质量以及性能稳定等优势,所以其在医疗器械、航空工业、家用电器、仪表仪器、设备管理以及过程管理控制等行业中获得广泛应用。单片机控制系统也在常见电子产品和大中型电气设备中用于系统控制。本文基于汽车用户对充气装置的便携式要求以及智能化需求而设计出单片机控制系统充气装置产品。

本文设计的自动充气装置由压力检测模块、核心控制模块、键盘模块、显示模块、充气模块等几部分构成。

文中设计的压力检测模块由模数转化芯片以及压力传感器等两部分构成。而受温度影响较小的惠斯通电桥构成压力传感器本质[1]。传感器上的差动输出信号是由膜片压力造成的电桥不平衡产生的。压力传感器膜片结构特性为差动输出电压(U)和偏置电压△U成正比关系。而此正比关系导致偏置电源容限值由压力的测量精确度决定。四个桥臂电阻处于某种程度时,则其电桥输出值为0[2]。利用压力电桥获得的压力模拟值通过ADC0809转换后即可供单片机分析使用。利用矩阵键盘控制,设定充气预定值和气泵的启停。利用LCD显示屏显示设定值和轮胎内的当前压力值。此外,在考虑到价格低廉、使用方便、电路简单等要求,充气模块我们选用继电器驱动气泵工作;控制模块选用AT89C51作为轮胎自动充气压力控制系统的控制核心。

本设计轮胎自动充气压力控制系统是基于满足设计要求的前提并且根据理论上的可实现性和硬件上的经济实用性,综合考虑各种因素的情况下,而得来的系统方案。方案总体构架如图1所示。

图1 轮胎自动充气压力控制系统结构框图

1 硬件电路设计

1.1 压力检测电路

轮胎自动充气压力控制系统要根据轮胎内压力当前值的大小来确定充气是否完成和需不需要关闭气泵,因而需要使用到压力应变传感器[3]。电阻应变式传感器按其用途不同,可分为应变测力传感器、应变压力传感器、应变式加速度传感器等[4]。本设计中我们使用的是压力传感器, 这种传感器主要用于对气体、液体的动态和静态的压力的测量。如对内燃机管道和动力设备管道进、出气孔流液的压力、发动机喷口的压力等的测量。这种传感器主要采用膜片、薄板、筒式等组成的弹性元件。传感器所用的应变片电阻值国内标准有:60、120、350、和600 Ω等各种阻值,其中以120 Ω为最常用。利用电桥测量原理,通过对电路输出电压和标准压强的线性关系,建立具体的数学模型,将电压量的变化改为压力的变化,即可以测出一定范围内的压力值。其中测量电路中最主要的元器件就是电阻应变式传感器[5]。设计还利用了运算放大电路的作用,就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D转换器对输入信号电平的进行各种转换处理的要求。压力检测部分连接如图2所示。

图2 压力检测电路原理图

图3 压力传感器电桥电路

此部分压力传感器参照了LAB6000使用说明书电路原理图,传感器的工作原理本质上是惠斯通电桥,该电桥温度特性好[6]。传感器上的差动输出信号是由膜片压力造成的电桥不平衡产生的。压力传感器膜片结构特性,即为差动输出电压(U)和偏置电压△U两者之间成正比关系。四个桥臂电阻处于某种程度时,则其电桥输出值为0,但其也可以提供一种最通用的方法,即温度补偿[7]。该电路三部分组成:(1) 电源电路部分;(2) 电桥电路部分;(3) 放大电路部分。如图所示,传感器采用15V恒压源Vcc供电,经过R1与R2分压(电容C1起滤波作用),U2A起到电压跟随器的作用,所以点1、2、3三点处有相同电压U1:

根据上式,带入数据R1=4K,R2=1K,VCC=15V,求得U1=3V。

经过电路分析电桥部分可等效为如图3所示。

设桥臂电阻分别为R1,R2,R3,R4,R1=R3=R’=1/(1/R3+1/R4)=118Ω,R2=R4=R’=120Ω,则当压力传感器受力时,电阻变化对应的输出电压值为[8]:

由于△R<<1,则上式可化简为

带入电阻、电压值得Uo=0.25△R/R,最后经过放大部分,压力传感器的微弱采样电压经过放大电路放大。

1.2 A/D转换电路

A/D转换的作用是进行模数转换,把接收到的模拟信号转换成数字信号输出。在选择A/D转换时,先要确定A/D转换精度、转换速度以及转换位数等,A/D转换的位数确定与整个测量控制系统所需测量控制范围和精度有关[9],在轮胎自动充气压力控制系统中采用了8位A/D转换器ADC0809引脚,如图4所示。

图4 ADC0809引脚图

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100 μs左右。

ADC0809的主要特性有:

(1) 8路输入通道,8位A/D转换器,即分辨率为8位。

(2)具有转换起停控制端。

(3)转换时间为100 μs(时钟为640 kHz时),130 μs(时钟为500 kHz时)

(4)模拟输入电压范围0~+5V,不需零点和满刻度校准。

ADC0809主要引脚功能如下:

IN0~IN7:八路模拟量的输入端。

D0~D7:A/D转换后的数据输出端,为三态可控输出,可直接与总线相连。

A、B、C:模拟通道地址选择断,A为低位,C为高位。

ALE:地址锁存允许信号,当此信号有效时,A、B、C三位地址信号被锁存电路选通对应的模拟输入通道。

SC:启动转换信号。通常与单片机的写信号线连接,启动A/D转换。

EOC:转换结束信号,表示一次转换结束。常作为中断触发信号。

OE:输出允许控制信号,通常与系统的读信号线连接,打开三态门,此时可通过数据线读到转换结果。

本系统ADC0809与单片机和压力传感器连接如图5所示。

如原理图所示,ADC0809的A、B、C共同接地选中第0通道,即模拟信号从IN-0输入到A/D转换器,通过单片机P2.4引脚start送出一个正脉冲,从而启动转换;转换完成后,EOC输出一个由低到高的跳变沿,经过一个非门取反变为下降沿,出发已经设置为边沿触发的I外部中断0;在中段程序中通过P.3引脚enable送出高电平,控制ADc0809数字量允许输出,信号经过74HC573锁存器流入P0口;通过单片机读程序,把转换后的数字读入片内,进行相应操作后显示在数码管上。

1.3 显示电路

本设计采用LED数码管进行显示是因为LED数码管具有以下几个优点[10]:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。(2)发光响应时间极短(<0.1 μs),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。

数码管有共阴极和共阳极两种类型,为位选端主要进行位控制,断选端则是进行字符控制,数码管有静态显示和动态显示两种方法[11],说明如下:

(1) 静态显示驱动

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O进行驱动,或者使用如BCD码二—十进位器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O多,如驱动5个数码管静态显示则需要5×8=40根I/O来驱动,要知道一个89C51单片机可用的I/O才32个。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。

(2) 动态显示驱动

动态驱动器是连接所有数码管“a、b、c、d、e、f、g、dp”的8个显示行程的同名终端。此外,位元控制电路被添加到每个数字管的公共极COM,其由独立I/O线控制。当单片机输出字体代码时,所有数码管会接收相同的字体代码。然而,单片机控制位元COM端电路影响数码管的字体显示。所以只需打开显示数码管的选通控制,其位元便出现不同的字形,而未选通的数码管不可能发亮。以分时轮流方式来控制每个相应的LED数码管COM端,便会将每个数码管受控以轮流显示,即为动态驱动显示。在轮流显示过程中,每位元数码管的点亮时间为1~2 ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低[12]。

图5 单片机和压力传感器连接

在本设计过程中,我们查询了大量与车胎压强相关的资料得知汽车轮胎压强一般在1.5~2.2bar(即150~220 kPa)比较适宜,具体冬夏也有少许差别。所以我们采用3位共阴极数码管作为显示部件。数码管显示部分电路图6所示。

如上述电路图所示,数码管采用动态扫描显示,系统段选码和位选码均是通过74HC573分时送出。74HC573是八个透明的D 型锁存器,当使能C为高电平时,Q 输出将随数据 D的输入而变。当使能C为低电平时,输出将锁存在已建立的数据电平上。当系统需要显示数码时,先通过单片机引脚P0口送出相应位选码,再控制P2.0引脚输出高电平,74HC573(U6)被打开,位选码送到数码管阴极。P2.0再输出低电平把位选信号所存到Q端;此后,单片机P0口输出相应段选码,P2.1引脚输出高电平,打开74HC573(U5)被打开,段选码送到数码管段选端,点亮选中的数码管,并延时1ms;以此为原理第二个、第三个数码管一次被点亮;最后重复上述过程。

1.4 键盘电路

由于本设计需要设定充气预定值和气泵启停,所需要的按键较多,若采用方案一所占单片机I/O资源较多,而矩阵键盘按键多、占用I/O口少,很好的满足了设计与需求。考虑到键盘需要设置0~9十个数字和设置启、停按钮,所以我们最终选定使用3×4的矩阵键盘功能,如图7所示。

图6 数码管显示电路

图7 矩阵键盘功能图

如图按照键盘扫描至获得键号编写程序对应如上图所示。矩阵键盘在系统中原理图如图8所示:

矩阵键盘工作是利用P1口分别对某一行赋低电平,其余行赋值高电平,然后分别扫描各列是否出现低电平,若无退出扫描,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。断闭合键所在的位置是通过读取P1口的值,与预设值比对,确定是哪个键按下,在确认有键按下后,就可以进入相应操作程序。

1.5 气泵控制电路

如图9所示为电磁继电器控制电路气泵的工作电路。

要控制气泵工作,只需控制电磁阀的闭合与断开。单片机的pump(P2.7)引脚控制三极管的工作在放大区和截止区。当该引脚输出高电平时,使三极管导通,继电器的内部线圈有电流通过,产生吸合力,将公共端吸合到常开端,则气泵开始充气;当轮胎的气充足后,pump引脚输出低电平,使三极管截止,则继电器不会产生吸合力,从而断开了气泵的工作。

1.6 电源电路

51单片机正常工作电压为5V,因此我们设计了电源电路为单片机工作供电。如下图10是为单片机提供电源的电路。在这个电路中采用了三端集成稳压芯片7805, 来为单片机提供稳定的5V的直流电压。

1.7 复位电路

复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚上加大于24个时钟周期的高点平。本设计复位电路如图11所示。

1.8 时钟电路

电路利用晶振产生固定周期的震荡脉冲。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。如图12为单片机时钟电路

1.9 系统原理

系统原理图如图13所示。

图8 阵键盘原理图

图9 电磁继电器控制电路

图10 电源电路图

图11 复位电路

图12 单片机时钟电路

2 软件设计

系统软件设计主要包括压力检测及数模转换程序、数码管显示程序,键盘扫描程序,外部中断0服务程序构成。

图13 系统原理图

2.1 压力检测及A/D转换程序设计

压力电桥和发明和放大电路由硬件控制始终处于工作状态。AD转换结束方式是选择使用结束限号,触发外部中断0的方式。具体工作是:由于ADC0809的A、B、C共同接地,选中第0通道,模拟信号从IN-0输入到A/D转换器,通过单片机P2.4引脚start送出一个正脉冲,从而启动转换;转换完成后,EOC输出一个由低到高的跳变沿,经过一个非门取反变为下降沿,出发已经设置为边沿触发的I外部中断0;在中段程序中通过P.3引脚enable送出高电平,控制ADC0809数字量允许输出。AD转换流程如图14所示:

图14 A/D转换流程

2.2 数码管显示程序设计

本设计数码管采用动态扫描方式,通过单片机引脚分别送出相应位选码,选通相应数码管,再用单片机输出相应段选码,点亮选中的数码管,并延时1ms;以此为原理第二个、第三个数码管依次被点亮,再循环此过程。数码管显示流程如图15所示。

2.3 键盘扫描程序设计

矩阵键盘工作是利用键盘扫描,依次检测按键是否按下。首先对某一行赋低电平,其余行赋值高电平,然后分别扫描各列是否出现低电平,若无退出扫描,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。断闭合键所在的位置是通过读键盘行取列值,与预设值比对确定的。键盘扫描流程如图16所示。

图15 数码管显示流程图

图16 键盘扫描流程图

2.4 外部中断0服务程序设计

本设计采用外部中断0监测A/D是否完成,当完成后触发中断,在中断处理中获得此时轮胎气压值,比较是否达到设定值,若是气泵停止工作,若否等待下一次中断。中断处理流程如图17所示:

2.5 系统总体程序设计

根据设计要求,系统工作开始首先调用键盘子程序等待用户输入需要冲气的多少,并把所设定的气压值再数码管上显示一段时间,帮助使用者确定是否有误操作,若有重新输入,若无则按下start键,启动气泵开始工作,启泵启动后应该立即调用A/D转换子程序及显示子程序,动态的显示轮胎内的气压,以及比较现在的气压是否达到用户的要求。由于LED显示是动态的。所以必须循环的调用A/D转换子程序和显示子程序,这样做不仅实时性强,可以让用户了解轮胎内气压的变换,而且可以增强LED显示亮度。

图17 中断处理流程图

图18 软件设计总流程图

此外,在设计过程中,我们查阅了大量与轮胎胎压相关的资料,得知汽车轮胎压强一般在1.5~2.2bar(即150~220 kpa)比较适宜,具体冬夏也有少许差别。故在考虑到实际情况和软件编制的简易性的情况下,我们规定用户输入的充气气压只能位于0~255 kPa的范围内。这样一来,由于ADC0809的精度为八位,其输出的数字量的范围也是0~255。量化后正好是一对一的关系,就大大的减轻了软件编制的困难。如下图18所示为软件设计总流程图。

猜你喜欢
气泵电桥数码管
某轻型电动商用车打气泵的振动优化研究
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
单臂电桥测电阻灵敏度的分析
超便携电动抽气泵
电桥法测量电阻的实验研究
手机自拍悬浮系统
手机自拍悬浮系统