- 基于ARM的小功率電動汽車控制器開發
- 高志剛編著
- 3222字
- 2021-03-10 14:17:42
第1章 緒論
近些年來,采用蓄電池供電的小功率電動汽車逐漸進入人們的視野。這種類型的電動汽車具有體積小、低速轉矩大、充電方便、車輛售價低、單位里程行駛成本低等優勢,受到了市場的歡迎。以山東省市場為例,在當地政府的積極支持下,加上山東省作為農業大省、人口大省的市場需求推動,山東省成長為小功率電動汽車的產銷大省。據統計,2016年全國小功率電動汽車銷量達100萬輛。其中,山東省就銷售了61.83萬輛,2013年以來銷量延續4年保持50%的高速增長,已成為山東省汽車工業突出的新增長點。
根據山東省汽車行業協會對外公布的統計數據顯示,2016年山東省的小功率電動汽車產銷量分別達到62.26萬輛和61.83萬輛,同比均增長47.76%,產銷量占全國總產量的50%以上。2017年3月9日,山東省政府發布了《山東省“十三五”戰略性新興產業發展規劃》,展示了山東省政府對于規范四輪小功率電動汽車管理的決心。規劃中明確提出大力支持小功率電動汽車發展,推動安全、適用、便捷、低成本的小功率電動汽車發展,著力滿足鄉村出行需求;到2020年,建成聊城、臨沂、棗莊、濰坊、德州等一批新能源汽車產業集聚區,純電動轎車、載貨電動車等各類新能源汽車產量達到100萬輛。
此外,電動低速代步車、電動觀光車、物流車、環衛車等也都采用了與小功率電動汽車相似的技術路線。其采用蓄電池為車輛提供電能,利用控制器將蓄電池提供的直流電壓轉變為交流電壓并驅動交流電動機,電動機經減速器和差速器后驅動車輪轉動。基于成本和可靠性方面的考慮,一般小功率電動汽車前輪設計為轉向,后輪則集成后驅動、減速器和差速器。
小功率電動汽車控制器(本書中簡稱為控制器)作為車輛中的核心部件,其負責接收駕駛員的駕駛指令信息,用來控制電動機運行,其性能的好壞對于車輛的正常行駛具有重要作用。
從功能上來說,控制器的功能主要包括以下幾個方面。
(1)接收駕駛員的輸入信息,并據此控制動力電機的旋轉方向和輸出力矩。駕駛員的信息包括擋位信息、油門踏板信號、剎車踏板信號等。
(2)檢測車輛狀態并采取應對措施,如回收車輛的制動能量(也稱饋能制動)、電子防溜坡等。
(3)控制儀表盤顯示車速、電池電壓等信息。
(4)采集電機轉速、溫度等信號,完成對動力電機的高性能控制。
本書介紹了基于STM32F103VBT7芯片的小功率電動汽車控制器的開發方法。STM32F103VBT7是意法半導體(ST)公司生產的基于Cortex-M3內核的一款32位ARM微處理器。該系列芯片主頻為72 MHz,集成了定時器、CAN(Controller Area Network,控制器局域網絡)、ADC(Analog to Digital Conversion,模數轉換器)、SPI(Serial Peripheral Interface,串行外設接口)、I2C(Inter-Integrated Circuit,內部整合電路)、USB(Universal Serial Bus,通用串行總線)、UART(Universal Asynchronous Receiver/Transmitter,通用異步收發器)等多種功能,具體特性如下。
● 基于ARM 32位的Cortex-M3內核。ARM是微處理器行業的一家知名企業,研發和提供多種處理器的架構、相關技術及軟件。Cortex-M3是ARM研制的一個32位的處理器內核,該內核在低功耗、低成本、高性能等方面具有較突出的優勢。
● 最高72 MHz工作頻率。一般采用外接20 M晶振,通過配置芯片內部的倍頻電路后產生72 MHz時鐘信號。芯片內置了單周期乘法和硬件除法電路,可顯著提高乘除法的執行速度。
● 從16k到512k字節的FLASH程序存儲器,STM32F103VBT7中的最后四個表明了芯片的引腳數目和存儲容量等信息。
? “V”位置字符表示引腳數目,其中T表示36腳,C表示48腳,R表示64腳,V表示100腳,Z表示144腳;
?“B”位置字符表示FLASH的容量,其中4表示16 k字節,6表示32 k字節,8表示64 k字節,B表示128 k字節,C表示256 k字節,D表示384 k字節,E表示512 k字節;
?“T”位置字符表示芯片的封裝形式,其中H表示BGA封裝,T表示LQFP封裝,U表示VFQFPN封裝,Y表示WLCSP64封裝;
? “7”位置字符表示芯片的工作溫度范圍,其中6表示-40~85 ℃,7表示-40~105 ℃。
●芯片內部提供最大為96 k字節的SRAM(Static Random-Access Memory,隨機存取存儲器)。
● 支持2.0~3.6 V單一電源供電。
●芯片內部具有上電/斷電復位管理電路、可編程電壓監測器。
●芯片內部具有多個晶體振蕩器。
●芯片內部內置時鐘PLL(Phase Lock Loop,鎖相環)倍頻電路。
●芯片內部有2個12位ADC模數轉換器。
? 轉換范圍:0至電源電壓,最大允許的電源電壓為3.6 V。
? 具有雙采樣和信號保持功能。
? 內置溫度傳感器,可以直接獲取芯片溫度。
●芯片內部有2個DMA(Direct Memory Access,直接內存存取)控制器,共12個DMA通道并分為2組:第一組名稱為DMA1,有7個通道;第二組名稱為DMA2,有5個通道。
●芯片支持的外設有定時器、ADC、SPI、USB、I2C和UART等。
●芯片具有SWD(Serial Wire Debug,串行單線調試)和JTAG(Joint Test Action Group,聯合測試行為組織)接口。
●芯片內部具有多個定時器,功能包括捕獲輸入脈沖邊沿、輸出特定占空比的方波信號、進行脈沖計數等。
●芯片多數端口兼容5 V電壓信號。
STM32F103系列處理器芯片售價低、性能可滿足一般場合的需要,因而在控制器領域具有很強的競爭力。目前已經廣泛應用在電源、電機控制、手持儀器、掃描儀等設備中。市場上一些典型的小功率電動汽車控制器中,也大量采用了STM32F103系列芯片。在一些傳統的電機控制和工業伺服等領域,該芯片也得到了廣泛的應用。該芯片成本低、內設資源豐富等特點可以滿足多種工業場合和消費電子場合的需求,具有較好的應用前景。
本書介紹了基于STM32F103VBT7的小功率電動汽車控制器的完整開發過程,控制器的額定電池電壓為60 V(例如可利用5節12 V鉛酸蓄電池串聯得到),額定功率3.3 kW。本書包括控制器的硬件電路設計、功能電路設計和軟件開發等多個方面,既可以作為學習STM32F103VBT7的參考,也可以作為學習電機和小功率電動汽車控制的教材。并且其中的一些典型電路的設計,對于從事電力電子變換器等領域的技術開發人員,也有一定的借鑒意義。
本書以介紹STM32F103VBT7的使用方法為線索,根據實際產品的功能需求不斷展開論述,最終給出了詳細的小功率電動汽車控制器實現過程,為讀者提供了正確而完整的基于STM32F103VBT7的小功率電動汽車控制器解決方案。本書的行文順序兼顧了項目開發的先后次序,按照項目進展的需求介紹相關內容。通過本書,讀者可以了解STM32F103VBT7芯片的使用,理解研發小功率電動汽車的關鍵技術,提高項目開發效率。
第2章介紹STM32F103VBT7芯片的軟件開發環境Keil μVision,包括軟件的安裝以及如何添加源文件和編譯下載程序等。
第3章介紹C語言編程的相關知識,包括 C語言語法簡介、C語言數據類型、C語言關鍵詞介紹、C語言函數介紹和宏定義等在控制器開發過程中需要用到的知識。
第4章介紹控制器UART接口的使用,包括硬件電路的設計和軟件編程。并且基于已有的計算機軟件,介紹了一種通過上位機軟件觀察和修改處理器中的內存變量的方法,為開發控制器功能、實現在線調試提供了條件。
第5章介紹控制器操作外部EEPROM(Electrically Erasable Programmable Read Only Memory,電可擦除可編程只讀存儲器)的方案,包括硬件的設計方案和軟件的編寫。利用該功能,控制器的生產廠家可以設計一些基礎參數,如電壓電流保護閾值、最大允許行駛速度等;而控制器的銷售商、售后工程師或者用戶也可以在實際使用中,微調功能參數,改善控制器性能。
第6章介紹控制器的I/O操作方法,以及對應的控制器的繼電器控制、數字I/O信號的處理電路等內容。該功能可以用來處理用戶輸入的車輛擋位信息和故障信息等,并可以完成故障燈閃爍等。
第7章介紹ADC電路的設計和功能實現,該功能可以用來采集蓄電池電壓、直流母線電容電壓、控制器的輸出電流、油門踏板信號和溫度傳感器信號等。
第8章介紹PWM(Pulse Width Modulation,脈沖寬度調制)電路的設計和功能實現,利用該功能將輸出6路方波信號,該信號經過驅動電路后控制主電路中的MOSFET工作。本章還介紹了相應的硬件電路的設計方案。
第9章介紹測量電動機轉速的方法。具體包括:利用脈沖邊沿測量方波周期的方法,該方法可用于測量電動機在較低轉速時的速度;利用固定周期累計的脈沖數的方法來計算電動機轉速,該方法可用于測量電動機在較高轉速時的速度。本章描述了處理脈沖的硬件電路方案和軟件實現方法。
第10章介紹CAN通信功能的硬件方案和軟件設計,可以實現驅動儀表工作,可實時顯示車輛運行狀態。
第11章介紹控制器程序的總體設計框架。基于前述章節完成的分項功能,本章將所有功能進行整合,設計了控制器的整體軟件框架和各功能模塊的實現方法。