装备蓄电池组工作电压和电流实现检测的需求,利用运算放大器构建了正负双向电流量累积求和及跟踪反向的预处理电路,基于STM32F103控制器片内AD实现了12位电压和电流的信号采集转换。给出了主要程序片段和如何提高ADC精度的一些措施。
在某装备的研制过程中,为保障装备效能的正常发挥,需要实时掌握其内部集成的铅酸蓄电池组的工作状态,主要状态参数包括电池组电压和充放电电流,要求监控系统做到精度高、可靠、简单。具体参数指标是:蓄电池组标称值DC24V,充放电电流在5A以内。电压检测精度要求0.01V,电流检测精度要求0.01A,即小数点后保证两位有效数字。据此本文设计了基于STM32F103VB嵌入式控制器为核心的信号处理、采样和计算的软硬件控制系统。
采用LA28-NP电流传感器对充放电电流进行实时检测。该传感器是利用霍尔原理的闭环(补偿)电流传感器,原边回路和副边回路之间绝缘,可用于测量直交流脉冲和混合型电流,供电电压±15 V。系统中采用1000:5的匝比,原边回路的充放电±5 A电流对应副边回路的额定电流Is,其有效值为±25 mA。在应用中,感应电流Is通过精密电阻Rm,取得电压量V1,电阻Rm的取值取决于A/D转换器对于V2的要求。
LA28-NP的输出电流为双向,即±25 mA的电流信号。在实际工作中,放电时输出电流为+25 mA,而充电时,输出电流为-25mA,由此而取得的电压信号V1相对于地电平也为相应的正负电压。STM32F103内置的ADC电压输入范围为Vref-≤Vin≤Vref+。本设计中Vref-接模拟地,Vref+接2.5 V基准电压,故ADC输入范围为O~2.5 V。目前存在的问题是:STM32F103采用单3.3 V工作,模拟量输入无法处理反向电压。在传统的方式下,如果电阻Rm基准电平端接入地,充电时V1为负电压,控制器无能为力。针对这个问题,本文设计了所示的累加升压、跟随反向信号预处理电路,解决了双向电流的A/D采样问题。
该设计的基本思想是将双向电流的电压变化范围均控制在0~Vref+范围内。这是以牺牲A/D转换精度为代价的。详细过程如下:
①串入电阻Rm=50 Ω,获得模拟量电压输出V1范围为-1.25~+1.25 V。
②利用两门运算放大器构建求和电路,实现V1和+1.25 V基准电压累加,将V1扩展至0~-2.5 V。再做一次反向跟随放大,实现电压反向功能,输出电压V2为0~+2.5 V。
运算放大器选用通用运放LM324,供电电压±15V,和电流传感器LA28-NP采用同一供电电路。
取R3=R4=R5=10 kΩ,Vmid=-(1.25+V1),故Vmid电压范围为0~-2.5 V。