摘要:提出一种基于STM32F103单片机的用于电动车电池能量管理系统(EMS)的液晶显示触摸屏的设计方案,该方案以STM32F103作为核心控制器。STM32F103通过I/O口与四线电阻触摸屏相连,利用自带的A/D转换功能检测触摸并计算触点坐标实现触摸功能,并通过自身的I/O接口与TFT液晶屏模块实现通信,控制实现显示的功能。
0 引 言
电动车一直以清洁环保而备受关注,加上能源危机加剧、油价不断上涨,电动车也越来越受到用户的青睐。电动车一般采用锂电池供电,由多个单体电池串联成电池组作为动力电源。但由于各个串联单体电池特性不能保证完全一致,因此相同的电流下充电放电速度也会不同,如果不进行均衡干预,电池寿命会大大缩短,因此需要实时监控各个单体电池的状态、总电压、总电流,根据状态适时进行电池充放电均衡,并且充放电均衡时,均衡状态也要实时进行检测,所以就有了电动车电池能量管理系统(EMS)。实践证明EMS可以有效延长电动车电池使用寿命,是电动车中十分重要的管理系统。
EMS主要包括:信息采集模块、充放电均衡模块、信息集中处理模块以及显示模块。图1为自主研发的电动车电池能量管理系统(EMS)的结构图,其中信息采集模块主要完成实时采集电池组以及单体电池的电压、温度、电流等状态,对电池进行实时监控的同时也为均衡模块的开启与关闭提供依据。均衡模块主要完成对电池特性差异进行补偿,根据采集模块采集来的信息判断电池状态,对单节电池进行充放电均衡,来实现状态特性一致。信息集中处理模块负责将采集得到的数据进行处理、分析、计算(如SOC等),并监控均衡模块的工作,对其进行控制,同时与显示模块通信,在整个系统中起着承上启下的作用。显示模块作为唯一的人机交互接口,不仅承担着将所有数据、以及设备状态实时地显示给用户,让用户能够直观地看到电池状态和EMS工作效果,而且还为用户与EMS的控制交流提供接口,可以让用户设置参数,更改EMS工作状态,达到实时监管和控制的目的。如果没有显示模块人们就无法看到电池和EMS的信息,EMS的报警或提示信息无法通知到客户,一些报警状态得不到及时处理轻则造成电池损坏,重则会导致电动车工作失控,酿成严重事故。同样客户也无法根据情况来调整和控制EMS,也不能完全发挥EMS的作用。可见显示模块的人机交互功能是EMS中不可或缺的组成部分,从显示模块所需的功能看触摸屏是不错的选择。但如果购买市面上的触摸屏,不仅显示内容会受触摸屏本身显示功能固定的限制而降低显示设计的灵活度、影响显示质量,并且市面上触摸屏的价格也普遍较高,给产品增加了很大一部分成本,这无疑会大大降低产品的市场竞争力。基于这种情况本文提出一种以STM32F103单片机为控制核心的比较通用的液晶触摸屏的设计方案。
1 触摸屏的种类及工作原理
触摸屏种类众多,可以分为电阻式、电容式、红外线式、声表面波式、矢量压力传感器等,其中电阻触摸屏使用最为普遍。触摸屏系统一般包括触摸屏控制器和触摸检测装置两个部分。其中,触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给微控制器,它同时能接收微控制器发来的命令并加以执行,触摸检测装置一般安装在显示器的前端,主要作用是检测用户的触摸位置,并传送给触摸屏控制器。触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触摸屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口送到微控制器,从而确定输入的信息。其中触点坐标的求取方法是:如图2所示,给触摸屏的X+加正电压V,X-接地时,在X+,X-方向上会形成均匀的电压梯度,当屏幕有触摸时,可以通过读取Y+的电压,经过A/D转换后计算求得触摸点X坐标。同理,在Y+,Y-方向上加电压,可以通过X+上的值计算出触摸点Y坐标。计算坐标的公式如下:
式中,W 为触摸屏的宽度;H 为触摸屏的高度。
本方案采用的是四线电阻式触摸屏并且不使用专用的触摸屏控制器,直接由STM32F103控制以降低成本。
2 方案用到的主要器件介绍
2.1 STM32F103介绍
方案中主控器件STM32F103单片机使用的是ARM 公司为要求性能高、成本低、功耗低的嵌入式应用专门设计的32位的ARMCortex-M3内核。
拥有可达128KB的嵌入式闪存、20kB的SRAM 和十分丰富的外设:两个1μs的12位ADC,一个全速USB(OTG)接口,一个CAN 接口,三个4 M/S的UART,两个18 M/S的SPI,两个I2 C等。内部还集成了复位电路、低电压检测、调压器、精确的RC振荡器等,大大方便了用户的开发。该系列单片机不仅功能强大而且功耗相当低,在72 MHz时消耗36 mA(所有外设处于工作状态),相当于0.5 mA/MHz,待机时下降到2μA ,是32位市场上功耗最低的产品。综上STM32F103系列单片机的性能完全可以满足液晶触摸显示屏的所有控制需要,内置A/D可以用于触摸屏控制,丰富的I/O 接口可以用于与TFT液晶屏模块的通信,并且其本身自带CAN控制器可以作为与外界通信接口,用STM32F103做主控制器可以减少使用器件从而简化使整体电路,很好地达到降低EMS成本的目标。
2.2 TFT液晶屏模块
本方案选用的是3.5寸的TFT液晶屏模块,工作电压3.3 V,最大工作电流70 mA.支持320×240分辨率,内置230K内存显示可到256K色,可显示文字和图形,采用LED背光设计,使用软件即可对背光亮度进行调节,内置简体中文字库,支持2D的BTE引擎,同时建几何图形加速引擎,可以对显示对象进行复杂的操作如画面旋转功能、卷动功能、图形Pattern、双层混合显示和文字放大等等。这些功能将可节省用户在TFT屏应用的开发时间,提升MCU软件的执行效率并且使画面更加绚丽,显示功能更加丰富,使显示屏显示能力大大增强。提供8位或16位总线接口,方便与MCU的连线,适应性强,连接设计灵活。