技术热线: 4007-888-234

PIC单片机:汽车电池电压监控器单片机方案

更新时间: 2019-11-19
阅读量:3310

在本文中,英锐恩单片机开发工程师们分享了使用PIC单片机开发的汽车电池电压监控器单片机方案,它可作为汽车电池及其充电系统的电子电压监控系统。只需插入汽车的车载插座,便可在七段LED显示器上显示电池端子两端的瞬时输出电压。

CompleteSetup.jpg

该汽车电池电压监控器单片机方案使用Microchip的PIC16F1827是该方案的主控芯片,它使用内置的固定参考电压(FVR)模块来实现电池电压的非常精确的A/D转换。

汽车电池电压监控器单片机方案原理和框图

CarBattery_Block-550x355.png

正如上文所说的,这个方案只是关于制造一个精确的数字电压表,该电压表插入汽车的点烟器插座,并显示电池端子两端的瞬时电压。关闭发动机时,此设备测得的电压就是电池的实际输出电压。但是,如果引擎已启动或汽车正在行驶,它实际上会测量来自汽车充电系统(交流发电机+整流器)的电池两端的充电电压。

PIC16F1827单片机电路的+ 5V电源使用稳压器IC(例如LM7805)从汽车的电池输出电压(通常为+ 12V)获得。电池端子电压通过PIC16F1827的ADC通道测量。选择PIC16F1827内部的FVR模块可得出4.096 V的稳定正基准电压,以实现精确的A/D转换。在馈入ADC通道之前,使用分压器网络将电池输出电压缩小至参考电压以下。测量的瞬时电池电压显示在4位七段式LED显示屏上。

该方案的电路图如下所示。PIC16F1827单片机使用AN4 ADC通道来测量汽车电池端子之间的电压。ADC输入通道上的R1和R2电阻创建一个简单的分压器网络,以按比例缩小电池正端的输入电压。AN4的最大可测量输入电压为4.096 V(通过内部4.096 V参考电压进行A/D转换来限制)。因此,可以通过以下等式获得在没有A/D饱和的情况下可以测量的最大输入电压(V Battery),

4.096 V = R2 * V电池 /(R1+R2)或 V电池=16.93V。

只需降低R2的值即可增加输入电压的范围。5.1 V齐纳二极管与R2并联放置,以防止单片机ADC通道上的电压超过5.1V。否则,任何意外的高输入电压都可能永久损坏单片机端口。

CarBatteryCircuit-550x395.jpg

测得的电压显示在4位七段LED显示屏上(共阴极)。七个段(ag)和小数点(DP)通过PIC16F1827的PORTB驱动。单片机使用内部时钟源以500 KHz运行。ULN2003达林顿阵列为七个分段LED模块的每个公共阴极提供电流吸收器。

PIC16F1827_Pin-550x178.png

我们可以使用LM7805稳压器IC从汽车的车载插座(12 V输出)获得+5 V稳压电源。此外,你也可以使用USB车载充电器来实现此目的。USB端口具有4个引脚(+5 V,D +,D-和Gnd)。在车载充电器中,D +和D-引脚无用。因此,我打开了USB车载充电器,将输出D +引脚与电路的其余部分断开,然后将其重新连接至电池的+12 V输入。现在,我们在车载充电器的USB端口引脚中具有+5 V,Gnd,电池端子电压和D-。然后,我使用USB-A公对B公适配器将这些信号线连接到单片机电路板上。

RewireUSBCharger.png

该方案的固件是在mikroC Pro中为PIC编译器开发的。下面描述了从10位ADC输出(数字,DN)获得输入电压的公式。

V电池 = V ADC,IN *(R1 + R2/R2)= 4.13 * V ADC,IN

ADC的分辨率= 4.096/1024 = 4 mV/DN

V ADC,IN = DN * 4(mV)=> V电池 = 4.13 * 4 * DN(mV)= 0.0165 * DN(V)

使用内部基准电压进行A/D转换需要配置FVRCON和ADCON1寄存器。用于PIC编译器的  mikroC Pro提供了一个用于A/D转换的库,但是默认情况下它使用电源电压V DD作为转换的正参考。因此,mikroC Pro for PIC的内置ADC库对于我们的情况没有用,我们需要编写自己的ADC子程序。源代码如下:

汽车电池电压监控器单片机方案源码.zip

以上就是英锐恩单片机开发工程师分享的汽车电池电压监控器单片机方案。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机、运算放大器和模拟开关。