APP下载

基于STM32纯电动客车控制器的设计*

2022-10-28王国义余兴国

关键词:直流电机总线客车

王国义,袁 涛,余兴国,李 昊

(安徽机电职业技术学院互联网与通信学院,安徽 芜湖 241002)

电动汽车以其节能环保、高效率、低污染、安全的优点受到人们的喜爱,成为人们出行的重要交通工具之一.电机、电池、控制器是电动车的3大部件,其中控制器是电动车的大脑,控制着整个电动车的运行.为了统筹管理电动汽车控制系统中的各个电子控制部件,需要一个整车控制器来完成这些工作,控制器的性能直接影响电动汽车的运行情况.目前,市面上的控制器只是完成整车的控制工作,不能根据路况的好坏平滑地调节驱动电机速度[1-3],使电动车达到最佳运行状态.因此,笔者拟分析电动客车的运行特性,研发一款性能优越、安全高效的电动车控制器,以期电动车可以在不同的路况上调节驱动电机速度.

1 控制器芯片的选择

考虑电动客车的控制单元、实现功能、后续升级等因素,以及系统的可靠性、安全性和连续性保证,选择STM32系列的芯片作为控制器的微控制单元.该芯片是嵌入式应用设计的Cortex-M3内核,有支持位带操作,内部集成了高度的模数转换器 (Analog to Digital Converter,ADC)、编码器接口电路、定时器等丰富的资源.芯片上有上电复位、看门狗定时器及掉电检测单元等监控单元,可以满足低成本、低功耗的不同场合的开发应用需求.

2 控制器的整体设计

如图1所示,纯电动客车控制器主要由电机驱动系统、电池及电池管理系统、仪表显示系统和控制器局域网 (Controller Area Network,CAN)总线系统构成.纯电动客车控制系统中用电机取代发动机,通过微处理器输出信号控制逆变电路中的功率开关管,从而实现电机运行状态的有效控制;电池是纯电动客车控制系统的动力源,电池管理系统主要检测和管理电池的电压、电流及温度;CAN总线将分布在纯电动客车车身上的各种模块信号传送给微处理器,微处理器发出的控制信号又通过CAN总线传递给车身上的各种模块;仪表显示系统对开关量、模拟量、电机转速、车速及各种监测节点信息进行实时显示[4-5].

图1 控制器的整体结构Fig. 1 Overall Structure of Controller

3 纯电动车控制器硬件设计

根据实现功能和控制要求,控制器采用模块化的设计思想.传感器采集各种信息并接收CAN总线上的信息,微处理器分析处理采集的数据信息,再以命令信号的方式通过CAN 总线传送到相应的控制单元系统,完成相应的动作[6-8].

3.1 最小系统

STM32系统的时钟电路如图2所示.系统工作时需要2个晶振:一个是高速外部时钟(图2(a)),频率范围为4~16 MHz,PLL倍频用,一般为8 MHz;另一个是低速外部时钟(图2(b)),系统待机或低功耗使用,使用频率为32.6 kHz,用于RTC及看门狗.

图2 时钟电路Fig. 2 Clock Circuit

STM32系统的复位电路如图3所示.由于STM32是低电平复位,因此在硬件电路设计时也是低电平复位.图3中R5和C5构成上电复位电路.

图3 复位电路Fig. 3 Reset Circuit

3.2 电源电路

STM32系统中的+48 V电压由外部的蓄电池提供,用于整个无刷直流电机的控制系统,其中+15 V为功率开关管和驱动电路提供工作电压,+5 V为各种检测电路供电,+3.3 V为系统提供工作电压.STM32系统的电源电路如图4所示.

图4 电源电路Fig. 4 Power Supply Circuit

图4中:系统的+15 V电压经三端稳压调节器AMS1117-3.3稳压得到+3.3 V电压,供微处理器STM32工作使用;C6和C7起到滤波去噪作用;输出端的C8和C9对输出的电压进行滤波去噪,得到稳定的+3.3 V电压;R1和发光二极管D1组成串联电路,是+3.3 V电压输出的提示电路.

3.3 电压检测电路

纯电动客车在行驶的过程中逐渐消耗电能,如果电量不足以继续行驶,那么不仅会影响行驶速度和运行状态,而且蓄电池因过度消耗电能还会导致损坏,因此有必要对蓄电池的剩余电量进行实时监测,一旦出现低于设定的电压就采取相应的解决措施.车载低压控制系统的蓄电池为+48 V,而STM32微处理器控制系统采用的是+3.3 V,所以需要通过转换电路将+48 V的电压转换为STM32微处理器能够识别的电压.这里采用精密电阻分压的方式,将蓄电池的+48 V分压到3.3 V以内,便于微处理器采集和分析.STM32系统的电压检测电路如图5所示.

图5 电压检测电路Fig. 5 Voltage Detection Circuit

图5中:R42和R45构成分压电路,采集的电压送给微处理器的PC3端口,若检测到电压低于设定的保护电压阀值,则控制器关闭输出,极性电容C32最高耐压值100 V.

4 纯电动车控制器软件设计

4.1 PWM直流调速原理

广泛采用脉宽调制(Pulse Width Modulation,PWM)技术控制直流电机电枢的电压,再通过改变电机电枢电压的接通时间和通电周期的占空比来调节电机速度.STM32微处理器通过改变脉冲的时序来控制电机的速度,即脉冲“ON”的时间越长,电机旋转的速度越快,脉冲“ON”的时间越短,电机旋转的速度越慢;再通过控制输出电压“ON”的时间与脉冲 “OFF”的时间的比例,同时保持频率恒定,来改变加在电机端子上的平均直流电压.直流电机PWM调速系统如图6所示.

图6 直流电机PWM调速系统Fig. 6 Speed Regulation System of DC Motor PWM

4.2 系统软件设计

在硬件电路的基础上,依据控制需求按照结构化、模块化思路进行软件开发,采用功能独立的方式进行编程.系统软件主要由主程序和子程序组成.首先,系统开启上电,初始化各个模块,主要是初始化定时器 T0、定时器T1、uart数据结构、GPIO、时钟等;然后控制器开启中断,检测电压、电流、客车速度、电机转速等信号,当检测到客车启动信号时就开启PWM定时器,执行对应的PWM子程序,输出不同百分比的PWM,当检测到客车停止信号时就关闭PWM子程序,使客车停止.系统软件主程序流程如图7所示.

图7 系统软件主程序流程Fig. 7 Main Program Flow of System Software

4.3 PWM波形

对STM32微处理器相关寄存器进行设置,通过控制器输出不同占空比的PWM,进而改变电机电枢上的电压,实现直流电机速度调节.不同百分比的PWM波形如图8所示.

图8 不同百分比的PWM波形截图Fig. 8 PWM Waveforms with Different Percentages

代码实现过程如下:

Void PWM2_2_Init(u16 arr2,u16 psc2)

{

RCC→APB1ENR|=1≪1;∥TIM3时钟使能

GPIOA→CRL&=0XF0FFFFFE;∥PA6输出

GPIOA→ODR|=1≪6;∥PA6上拉

TIM3→ARR=arr2;∥设定计数器自动重装值

TIM3→PSC=psc2;∥预分频器不分频

TIM3→CCMR1|=7≪4;∥CH1 PWM2模式

TIM3→CCER|=1≪0;∥OC1输出使能

TIM3→CR1=0x8000;∥ARPE使能

TIM3→CR1|=0x01;∥使能定时器3

}

5 结语

通过分析纯电动客车控制功能,设计了一款基于STM32的纯电动客车控制器,并在硬件电路的基础上编制出符合控制需求的软件算法程序.控制器通过输出不同百分比的PWM来调节直流电机的速度,传感器采集的信息通过CAN总线实时传递到微处理器STM32中,控制器进行分析判断后发出相应的命令执行对应的程序,从而实现准确、高效的控制.虽然控制器可以输出不同百分比的PWM波形,但是还不能从1%~100%连续输出PWM波形,因此在推广应用控制器的同时,应继续对其作改进以实现连续可调.

猜你喜欢

直流电机总线客车
基于模糊自适应ADRC的无刷直流电机控制技术
砥砺奋进“十三五”,看安凯客车“出海”进阶之路
关于CAN总线的地铁屏蔽门控制思路论述
基于24V直流电机调速的应用
基于霍尔位置信号的无刷直流电机直接转矩控制
20周岁的女青年是否可以申请中型客车准驾车型驾驶证?
Q&A热线
PCI9030及其PCI总线接口电路设计