微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于单片机的车辆蓄电池报警器设计

基于单片机的车辆蓄电池报警器设计

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

在点火以及充电过程中则可通过端电压曲线的变化来分析判断内阻大,充电电压过高,非规范启动电机等技术状态并伺机报警。

● 与其他任何方法相比开路(端)电压法对蓄电池的影响最小,只需两根线并接到蓄电池上,同时作为报警器的电源和检测信号的输入,安装最简便;不需要对蓄电池改动或增加附件,适应性好,互换性强。

●由于蓄电池端电压变化率(约为30 %~40 %)远小于其内阻变化率(相差2 ~4 倍),因此采用开路电压法的精确度无法与内阻法相比。但报警器的使用环境并不要求很高精确度,而开路电压法能够满足精度要求,并且电路简单,成本低。

通过对各种检测方法的分析比较,综合考虑报警器实际使用条件,安装,成本等因素,我们选择开路(端)电压法作为报警器的基本检测方法。

2 系统设计

报警器采用以微处理器(MCU)为核心,包括分压取样与信号调理单元,A/D 转换模块单元、电源单元、显示及报警输出单元、按键与设置单元构成。系统原理框图如图1所示。

图1 系统原理框图

2.1 硬件设计

2.1.1 MCU(微控制器)与ADC模块。

MCU 选用T I(德州仪器)公司的低功耗1 6 位单片机MSP430F427,它的主要特点:

●低工作电压范围:1.8V~3.6V;

●超低功耗:400 A at 1MHz,3.0V;

●16-Bit RISC指令体系,125nS指令周期;

●32KB Flash Memory,1KB RAM Memory;

●3个独立的16-Bit Sigma-Delta A/D,带差分PGA输入;

●16 位定时器TIMER_A(3 捕获/ 比较寄存器);

●串行通信接口(UART),通过软件选择异步UART 或同步SPI;

●电源电压管理/ 监控;

●串行在线编程,无需外部编程电压;

●安全熔丝可编程代码保护。

由于MSP430F427具有上述功能特点,完全满足蓄电池报警器功能需求,而且不需要另加A / D 转换器,既节约了成本、降低功耗,又简化了电路板的布线,有利于提高可靠性。

2.1.2 分压取样与信号调理电路。

通过两个精密电阻组成分压电路,由运算放大器完成信号调理,分压取样与信号调理电路图如图2 所示。

图2 分压取样与信号调理电路

2.1.3 驱动与输出电路。

考虑到MCU(微控制器)I/O 口的驱动能力,对蜂鸣器与L E D 发光管均用一个三极管完成驱动,驱动与输出电路如图3 所示。

图3 驱动与输出电路

2.1.4 电源电路模块。

主要选用一个宽电压输入的DC/DC 转换模块完成,其参数输入电压:9~36V,输出电压3.3V,输出电流600mA.

电路如图4 所示。

图4 电源模块电路

2.2 软件设计

蓄电池报警器软件采用模块化设计,分成main ,B T _timer,SD16 三个模块。每个模块由C 语言编程的若干子程序块组成。其中包括主程序,数据采集及处理子程序,显示子程序,超限判断及报警子程序,中断处理子程序等。

2.2.1 main模块。

Main 模块由系统主程序与PORT 中断程序组成,主程序用于完成自检和初始化。自检包括RAM 工作区、A /D 转换器及其模拟采样通道、显示模块等的自检。初始化将对仪器初始状态给予设定,包括定时器和串口的设定及分配、中断系统的开放、看门狗的启动等,系统初始化完成后进入LPM0 低功耗模式。PORT 中断处理程序完成对按键输入的处理。

2.2.2 BT_timer模块。

BT_timer 模块由BT_timer 初始化程序,BT_timer 中断处理程序,LED 显示处理程序组成,其中BT_timer 初始化程序主要完成对基本定时器的初始化,设定的定时周期为250ms;BT_timer 中断处理程序完成报警后1 分钟报警解除处理,刷新LED 处理,定时启动SD16 模块等功能,其程序流程图如图5 所示。LED 显示处理程序,主要根据程序的显示字,显示模式字来完成对L E D ,蜂鸣器硬件操作,包括显示、闪烁、鸣叫等。

图5 BT_timer中断处理程序

2.2.3 SD16模块。

SD16 模块主要包括SD16模块初始化程序,SD16(ADC)中断处理程序。SD16模块初始化程序主要完成MSP430 内置数/ 模转换模块SD16 的初始化设置;SD16(ADC)中断处理程序,主要完成电压数据采集,处理,判定,显示字与显示模式字的修改等功能,该程序是数据处理的核心程序。

SD16 中断处理程序流程图如图6 所示。

图6 SD16中断处理程序流程图

2.2.4 报警判定处理。

设立一个先进先出的缓冲队列,存放端电压值随时间变化曲线。依据缓冲队列中的电压采样值监测车辆蓄电池电压范围,判断蓄电池启动、内阻大、充电等状态变化并伺机报警。当端电压值超过或低于门限值达3000ms,即做高(低)报警;如端电压值单位时间内下降幅度较大,则意味着蓄电池性能变差,做内阻大报警;如端电压值单位时间内变化超过一定值,则可判别发动机启动,充电等状态,在单次起动时间超过5 s 、相邻两次启动时间少于1 5 s、连续启动次数超过3 次时,做非规范启动报警。

3 结

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

网站地图

Top