摘要:提出一種基於STM32F103單片機的用於電動車電池能量管理系統(EMS)的液晶顯示觸控螢幕的設計方案,該方案以STM32F103作為核心控制器。STM32F103通過I/O口與四線電阻觸控螢幕相連,利用自帶的A/D轉換功能檢測觸摸並計算觸點坐標實現觸摸功能,並通過自身的I/O接口與TFT液晶屏模塊實現通信,控制實現顯示的功能。
本文引用地址:http://www.eepw.com.cn/article/200172.htm0 引 言
電動車一直以清潔環保而備受關注,加上能源危機加劇、油價不斷上漲,電動車也越來越受到用戶的青睞。電動車一般採用鋰電池供電,由多個單體電池串聯成電池組作為動力電源。但由於各個串聯單體電池特性不能保證完全一致,因此相同的電流下充電放電速度也會不同,如果不進行均衡幹預,電池壽命會大大縮短,因此需要實時監控各個單體電池的狀態、總電壓、總電流,根據狀態適時進行電池充放電均衡,並且充放電均衡時,均衡狀態也要實時進行檢測,所以就有了電動車電池能量管理系統(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 方案用到的主要器件介紹
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的連線,適應性強,連接設計靈活。