基于STM8S105的直流永磁无刷电机控制器设计。功率驱动模块:驱动电路主要用来控制功率管的开通与关断,其可以是集成的驱动芯片(如IR2130等)也可以使用独立的元器件搭建而成。集成驱动芯片电路比较简单,而且控制较为精确,独立元件搭建的驱动电路相对复杂,没有IR2130中的一些高级保护功能,但是在实际的电动车的控制系统中不会产生太大的影响。
为了降低控制器成本,本文中采用分立元件搭建的驱动电路。控制器软件设计。控制器软件总体设计控制器软件从结构上分为三个部分:1)STM8_FWLIB操作芯片外围设备的接口函数;2)STM8_MC_frameWORK底层控制模块;3)MC_FWLIB_SCALAR上层控制模块。其中三部分相互之间的联系:上层控制模块主要负责控制策略的生成,其实现与硬件无关,而底层控制模块与外设接口函数相配合,对硬件设备进行操作。
Virtual I/Os主要用于上层控制模块对底层控制模块功能的调用。它不直接访问微控制器的寄存器,而是通过虚拟的I/O来操作端口。Drive structure主要包含以及驱动设备的一些变量参数。控制器软件总体流程图如图5所示。主要功能模块包括:1)系统参数初始化。包括虚拟定时器初始化、系统时钟初始化、端口初始化、各个定时器的初始化等。2)ADC数据采集。通过ADC模拟通道采集油门电压,母线电压以及母线电流,电池电压等相关参数,并存储到数据缓冲区内供相关程序的读取调用。3)霍尔信号捕获与电机的换相。通过TIM2的脉冲捕获功能,捕获霍尔信号的变化,并判断电机转子位置,通过电机转子位置控制相应MOS管的导通,实现电机准确换相。4)脉宽调制信号更新。通过ADC采集油门信号,经过换算得到油门大小,进而设置PWM占空比,实现对电机速度的调节。