基于STM32單片機的電池管理系統(tǒng)觸摸屏設計
0 引 言
電動車一直以清潔環(huán)保而備受關注,加上能源危機加劇、油價不斷上漲,電動車也越來越受到用戶的青睞。電動車一般采用鋰電池供電,由多個單體電池串聯(lián)成電池組作為動力電源。但由于各個串聯(lián)單體電池特性不能保證完全一致,因此相同的電流下充電放電速度也會不同,如果不進行均衡干預,電池壽命會大大縮短,因此需要實時監(jiān)控各個單體電池的狀態(tài)、總電壓、總電流,根據狀態(tài)適時進行電池充放電均衡,并且充放電均衡時,均衡狀態(tài)也要實時進行檢測,所以就有了電動車電池能量管理系統(tǒng)(EMS)。實踐證明EMS可以有效延長電動車電池使用壽命,是電動車中十分重要的管理系統(tǒng)。
EMS主要包括:信息采集模塊、充放電均衡模塊、信息集中處理模塊以及顯示模塊。圖1為自主研發(fā)的電動車電池能量管理系統(tǒng)(EMS)的結構圖,其中信息采集模塊主要完成實時采集電池組以及單體電池的電壓、溫度、電流等狀態(tài),對電池進行實時監(jiān)控的同時也為均衡模塊的開啟與關閉提供依據。均衡模塊主要完成對電池特性差異進行補償,根據采集模塊采集來的信息判斷電池狀態(tài),對單節(jié)電池進行充放電均衡,來實現狀態(tài)特性一致。信息集中處理模塊負責將采集得到的數據進行處理、分析、計算(如SOC等),并監(jiān)控均衡模塊的工作,對其進行控制,同時與顯示模塊通信,在整個系統(tǒng)中起著承上啟下的作用。顯示模塊作為唯一的人機交互接口,不僅承擔著將所有數據、以及設備狀態(tài)實時地顯示給用戶,讓用戶能夠直觀地看到電池狀態(tài)和EMS工作效果,而且還為用戶與EMS的控制交流提供接口,可以讓用戶設置參數,更改EMS工作狀態(tài),達到實時監(jiān)管和控制的目的。
如果沒有顯示模塊人們就無法看到電池和EMS的信息,EMS的報警或提示信息無法通知到客戶,一些報警狀態(tài)得不到及時處理輕則造成電池損壞,重則會導致電動車工作失控,釀成嚴重事故。同樣客戶也無法根據情況來調整和控制EMS,也不能完全發(fā)揮EMS的作用??梢婏@示模塊的人機交互功能是EMS中不可或缺的組成部分,從顯示模塊所需的功能看觸摸屏是不錯的選擇。但如果購買市面上的觸摸屏,不僅顯示內容會受觸摸屏本身顯示功能固定的限制而降低顯示設計的靈活度、影響顯示質量,并且市面上觸摸屏的價格也普遍較高,給產品增加了很大一部分成本,這無疑會大大降低產品的市場競爭力?;谶@種情況本文提出一種以STM32F103單片機為控制核心的比較通用的液晶觸摸屏的設計方案。
圖1 EMS結構框圖
1 觸摸屏的種類及工作原理
觸摸屏種類眾多,可以分為電阻式、電容式、紅外線式、聲表面波式、矢量壓力傳感器等,其中電阻觸摸屏使用最為普遍。觸摸屏系統(tǒng)一般包括觸摸屏控制器和觸摸檢測裝置兩個部分。其中,觸摸屏控制器的主要作用是從觸摸點檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給微控制器,它同時能接收微控制器發(fā)來的命令并加以執(zhí)行,觸摸檢測裝置一般安裝在顯示器的前端,主要作用是檢測用戶的觸摸位置,并傳送給觸摸屏控制器。觸摸屏的基本原理是,用手指或其他物體觸摸安裝在顯示器前端的觸摸屏時,所觸摸的位置(以坐標形式)由觸摸屏控制器檢測,并通過接口送到微控制器,從而確定輸入的信息。其中觸點坐標的求取方法是:如圖2所示,給觸摸屏的X+加正電壓V,X-接地時,在X+,X-方向上會形成均勻的電壓梯度,當屏幕有觸摸時,可以通過讀取Y+的電壓,經過A/D轉換后計算求得觸摸點X坐標。同理,在Y+,Y-方向上加電壓,可以通過X+上的值計算出觸摸點Y坐標。計算坐標的公式如下:
式中,W 為觸摸屏的寬度;H 為觸摸屏的高度。
本方案采用的是四線電阻式觸摸屏并且不使用專用的觸摸屏控制器,直接由STM32F103控制以降低成本,如圖2所示。
圖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振蕩器等,大大方便了用戶的開發(fā)。該系列單片機不僅功能強大而且功耗相當低,在72 MHz時消耗36 mA(所有外設處于工作狀態(tài)),相當于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背光設計,使用軟件即可對背光亮度進行調節(jié),內置簡體中文字庫,支持2D的BTE引擎,同時建幾何圖形加速引擎,可以對顯示對象進行復雜的操作如畫面旋轉功能、卷動功能、圖形Pattern、雙層混合顯示和文字放大等等。這些功能將可節(jié)省用戶在TFT屏應用的開發(fā)時間,提升MCU軟件的執(zhí)行效率并且使畫面更加絢麗,顯示功能更加豐富,使顯示屏顯示能力大大增強。提供8位或16位總線接口,方便與MCU的連線,適應性強,連接設計靈活。
3 硬件連接設計方案
3.1 總體構架
液晶觸摸顯示屏系統(tǒng)主要由微控制器STM32F103F103、TFT液晶屏模塊、四線電阻觸摸屏以及與外界通信的CAN總線接口組成。硬件模塊連接如圖3所示,其中四線電阻觸摸屏的觸摸檢測裝置安裝在TFT液晶屏前面用于檢測用戶觸摸的位置,本方案利用STM32F103 自帶A/D 轉換功能,由STM32F103實現觸摸屏控制器的功能來直接控制四線電阻觸摸屏,檢測觸摸信息并計算出觸點坐標。然后STM32F103通過I/O接口與TFT液晶屏模塊通信,將處理好的有效信息通過TFT 液晶屏顯示出來。由于STM32F103內置CAN 總線控制器所以CAN總線接口可以直接從STM32F103的管腳引出,用來與EMS進行通信,完成現實信息采集,設置參數等功能。
圖3 方案總體框圖
3.2 STM32F103F103與四線電阻觸摸屏的接口電路
如圖4所示,STM32F103F103與四線電阻觸摸屏直接通過自身的I/O口連接,實現觸摸屏控制器功能。其中PA8、PA9、PA10、PA11分別作為四個三極管的控制端,通過控制三極管通斷,來控制四線觸摸屏的Y+、Y-、X+、X-.PA1,PA2是兩個A/D轉換通道,分別連接Y+和X+用于計算觸摸點的X和Y坐標。PA3連接內部中斷用于檢測觸摸屏是否有觸摸動作。觸摸屏平時運行時,令PA8、PA9、PA11輸出0,PA10=1,即只讓VT2導通。當有觸摸動作時,D1導通給PA3一個中斷信號,STM32F103接收到中斷請求后立即置PA8=1,導通VT1,這樣在Y+、Y-方向上就加上電壓,同時啟動A/D轉換通道PA2,通過輸入X+上電壓計算出觸摸點的Y坐標,然后同理令PA8、PA10為0,PA9、PA11為1,啟動A/D轉換通道PA1,通過輸入Y+上電壓計算出觸摸點X的坐標。
圖4 STM32F103與四線電阻觸摸屏接口電路
3.3 STM32F103F103與TFT液晶屏模塊控制器的接口電路
如圖5所示,STM32F103F103通過I/O 接口與TFT液晶模塊相連接,雖然很多的TFT液晶模塊中內置的液晶屏控制器都支持SPI 接口通信(如ILI9325)但由于SPI傳輸速度較慢不利于液晶數據的快速傳輸,因此很多液晶模塊都選擇采用并口通信。
其中PB0-PB15分別與D0-D15相連作為數據通信口,PA0、PA4、PA5、PA6、PA7 分別連接RESET、CS、RS、WR、RD,作為控制口,實現復位、片選、指令數據切換、讀寫等控制功能。
圖5 STM32F103F103與TFT液晶模塊接口電路
4 軟件設計
軟件部分的編程采用C語言,一方面主要完成STM32F103對I/O 管腳的配置,用來實現對四線電阻觸摸屏端子狀態(tài)的控制,通過中斷方式檢測是否有觸摸信息,配置A/D轉換通道,讀入電壓根據公式計算出觸點坐標。另一方面主要完成通過與TFT液晶模塊的通信控制,實現觸摸點坐標與液晶屏坐標的對應并有效完成顯示任務。軟件的開發(fā)環(huán)境是MDK,MDK 將ARM 開發(fā)工具RealView DevelopmentSuite(簡稱為RVDS)的編譯器RVCT與Keil的工程管理、調試仿真工具集成在一起,支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能,與ARM 之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%.具體流程如圖6所示。
圖6 程序流程圖
5 結束語
本文提出了基于STM32F103F103單片機的EMS液晶顯示觸摸屏的設計方案。STM32F103F103的高速、低耗的優(yōu)越性能完全可以達到觸摸屏的主控制芯片要求,TFT液晶顯示器可以滿足更復雜、多彩、靈活的顯示任務,符合顯示屏性能不斷攀升的發(fā)展趨勢。本設計充分利用了STM32F103芯片的優(yōu)勢,拋棄了傳統(tǒng)觸摸屏控制器控制觸摸屏的方案,利用自身A/D完成了觸摸屏功能,本方案大大簡化了硬件電路結構,通信更可靠,編程也更加簡潔,最終既能達到EMS顯示要求,出色地顯示和設置了系統(tǒng)所需要的數據,又能降低系統(tǒng)的成本,通過實際使用達到了良好的效果。鑒于當前電動車的快速發(fā)展,本方案可以擁有不錯的應用前景。