基于STM8S903K3的直流无刷电机电流控制

2020-04-01 08:45孟宪洋田晋宇王创创熊兴中
关键词:直流电机闭环串口

孟宪洋, 田晋宇, 高 棚, 王创创, 何 平, 熊兴中

(1.四川轻化工大学自动化与信息工程学院, 四川 自贡 643000;2.暨南大学智能科学与工程学院, 广东 珠海 519072;3.香港理工大学建筑及房地产学系, 香港 999077)

引 言

科技的发展和新材料的出现促使无刷直流电机(Brushless Direct Current Motor, BLDCM)的控制方式从模拟控制转变到了数字控制,特别是电子换向器技术的不断发展,使得电动机的控制方式日益成熟,机械电刷和机械换向器等器件逐渐被晶体管取代[1]。直流无刷电机与传统电机相比,不仅能够提高了电机的工作效率,而且提升了产品的综合竞争力和使用性能[2]。其中关于控制器的定制化出现在不同的市场环境中,但因其品牌、功能的不尽相同,对控制器的功能、性能要求云泥之别[3]。

因此,开展无刷直流电机控制系统的高性能、高水平研究,对推动无刷直流电机相关产业的自动化水平的发展有很重要的意义。

早在20世纪五十年代的时候,哈利森等人已经尝试利用晶体管换向电路代替电刷与换向器等部件,标志着无刷直流电机的诞生[4]。1987年,SIEMENS和BOSCH两家公司陆续推出永磁自同步伺服系统和驱动器[5]。近年来,由于我国对稀土永磁材料的充分研发,也间接推动了永磁材料电机的发展。

然而相对于国外控制技术的水平,我国无刷直流电机控制系统的发展起点低,时间落后,即使近几年在核心技术的不断突破环境下,取得了较快的发展,但一些重要的参数(例:调速宽度和位置控制精度等)和国外涉及无刷直流电机控制系统仍然有一定的差距。

无刷直流电机作为新型的机电一体化设备[6],不仅可以保持有刷直流电机优良的调压调速特性,而且在军民领域机电作动系统(EMA)中彰显旺盛的生命力[7]。

因此,本项目开展了对无刷直流电机控制系统的平台搭建、联机测试、验证算法可行性研究[8]。

1 系统方案设计

本项目采用的控制系统是双闭环控制系统,根据其控制方式的不同划分为转速、电流闭环调节系统和STM8下的转速、电流闭环调节系统。与传统的闭环控制方式相比,基于STM8的无刷直流电机调速系统具有更高的控制精度、可靠性、实用价值。

双闭环控制系统的主要特点是在转速PI调节器后加入电流PI调节器构成转速、电流双闭环调节系统,能够更好地克服单闭环系统动态过程中转矩(电流)的控制问题[9]。其中转速、电流双闭环调节系统结构如图1所示。

为了使实际转速与其给定值保持在一定的误差下,把电流调节器下输出PWM占空比的信号作为三相换向电路的输入信号,从而改变电枢电压,达到对转速控制的目的[10]。其中基于STM8的转速电流双闭环系统结构如图2所示。

图1 转速电流双闭环调节系统结构图

图2 基于STM8的转速电流双闭环系统结构图

2 系统的硬件设计

本系统的硬件由多个部分构成,因此被划分成许多不同的工作区域。硬件的设计开发,应满足整体简洁、布局合理、操作方便、功能完善等特性[11]。其中以STM8S903K3为控制芯片的直流无刷电机电流控制器,设计的硬件框图如图3所示。

STM8S903K3控制芯片接收输入输出设备(I/O)读取由位置传感器输出的脉冲信号,从而确定电机的转子位置,然后传送给MOSFET驱动器HY1808以输出对应的逻辑电平,从而驱动控制器实现电机旋转。本系统读取的是PWM控制信号,由转速调节器产生,能够使电机在转速误差范围内跟随其设定值。

STM8S903K3控制芯片的数模转换器(A/D)采集端口,采集、取样电机的相电流信号,实现电流闭环条件下控制电机的运转,同时实现电机在运行状态下的过流保护等功能[12]。

图3 硬件电路总体框图

2.1 控制芯片STM8S903K3的参数

为了满足在不同的工作环境下的需求,选取STM8S903K3为控制芯片。主要在于其片内器件高度集成化,包括16 MHz的STM8S的8位单片机、最高可达8 Kbytes闪存、1 Kbyte RAM、640 bytes EEPROM、10-bit ADC、2个定时器、UART、SPI等[13]。

为了获得良好性能,又可以降低功率的消耗,引入了时间控制器。时间控制器灵活多变也可独立控制各个时钟源,能实现无故障切换主时钟和CPU时钟机制。同时采用通用寄存器控制FLASH程序存储器和数据EEPROM,利用这些寄存器可以实现编程、写保护、配置各种模式[14]。另外,还包括I/O的外部中断能力、独立看门狗模块、串行外设接口传输等功能架构了高性能、低功耗的微处理器等。

2.2 控制系统硬件设计

通过分析本系统的硬件总体框图,可以将系统的硬件设计分为以下几个方面:功率驱动电路设计、转子位置传感器设计、电流采样与过流保护设计等。

2.2.1 功率驱动电路设计

功率驱动电路采用的是三相桥式电路和开关器件场效应管MOSFET。每一个状态各有不同相的上、下桥臂开关管导通。上桥臂的功率管和采样线相连接,并采用自举供电的方式为上桥臂栅极驱动提供正浮地电源[15]。图4是两相导通星形三相六状态的无刷直流电机接线原理图。

图4 两相导通星形三相六状态的无刷直流电机接线原理图

其控制过程为:直流电源加载在逆变器上,使得电机转子产生起动转矩后转动。此时,位置检测装置开始检测转子的位置信号,同时将信号送给控制器,控制器通过对位置信号进行逻辑转换来控制逆变器中功率开关管的导通顺序,使得定子电枢电流不断换向,以产生方向恒定的电磁转矩作用在转子上,使得转子始终以恒定的方向旋转。

2.2.2 转子位置传感器设计

为了快速、精确地获得转子位置信号,通过比较选取了结构简单、成本较低的磁敏式传感器。磁敏元件采用霍尔集成电路,在磁场作用下产生霍尔电动势,经整形、放大后得到所需的位置信号(电压信号)。霍尔集成电路结构如图5所示。

图5 霍尔集成电路

2.2.3 电流采样和过流保护设计

负载电流在启动、过载和堵转情况下会变得很大,通过电流采样和过载保护设计,使得控制器减小PWM的输出脉宽来解决电流过大问题。

2.4 STM32/STM8开发工具

图6 STM8、STM32开发工具界面

3 系统的软件设计

为了实现电机的启动,必须要确定经过霍尔集成电路整形、放大后得到的位置信号下的HALL的运行状态。当HALL的状态确定下来以后,根据上下管的导通条件并依照HALL换向表,即对应打开上桥所对应上桥臂开关管的PWM信号及开通对应的下桥臂的开关管。一旦电机产生转动后,HALL信号发生变化,控制器进入捕获输入中断,从而在中断状态中重新根据HALL状态进行换相,这样就能够实现电机的正常运转。

主程序实现的基本功能:

(1) PA4,PA5指示端闪烁,指示系统处于工作状态。

(2) 上桥臂开关管PC1,PC2,PC3,输出占空比20%的PWM信号,即高电平占20%。

(3) 上电根据HALL状态换相,并在输出PWM信号后,电机转动。同时HALL信号不断改变,然后进入捕获中断,进行及时换相。如此实现电机的运转控制。

本系统设计了由电流调节器构成电流环,通过电流元件的反馈作用稳定电流。以及转速调节器构成转速环,通过转速检测元件的反馈作用保持转速稳定,最终消除转速偏差,从而使系统达到调节电流和转速的目的。由上述原理设计的软件设计流程图如图7所示。

图7 软件设计流程图

3.1 主程序模块

主程序如图8所示,主要包括转速计算、电流检测与过流保护、电池电压检测、换相控制、PWM信号生成等。在系统上电后,系统软件从主程序开始执行,所以首先要对系统进行初始化,然后程序进入主循环实现对电机的运行控制。在主循环里,包括命令运行状态和转速的控制等。

图8 系统主程序结构图

3.2 初始化子程序模块

初始化子程序结构如图9所示,主要包括设置看门狗、配置控制寄存器、I/O配置、初始化变量、中断控制等。在系统上电后,开始初始化,变量存储默认数据以后,会占用一定的空间。

图9 初始化子程序结构图

3.3 电流调节器设计

电流调整就是控制PWM信号的产生,通过改变PWM的占空比来调节电流的平均值,再通过ADC把电流模拟量变成数字量,比较参考的电流值与计算的电流值,达到调整电流的目的。

3.4 RS232串口通信

通过MAX232串口转接板将MCU输出的TTL的USART信号,转换成PC标准的RS232电平,使MCU与PC机通过RS232接口进行通信。图10中清晰的表明串口通信的关键是串口按位(bit)发送和接收字节,即使按字节(byte)比并行通信慢,但是可以在发送数据的同时接收数据。包括起始位、数据位、校检位和停止位组成,通讯双方以约定的通讯协议和通信速率进行通信。编程时,首先由main()函数进行系统初始化,串口通信标志位检测数据是否发送或接收成功,然后根据串口协议判断执行命令,实现闭环控制,等待中断时触发电流采样等。

图10 RS-232电平的串行数据帧格式

3.5 转速计算程序设计

无刷直流电机的每个周期会产生六个变化的信号,通过测得固定时间段τ的霍尔变换次数就能得到转速。

(1)

其中:v是转速、N是霍尔信号变化次数、p是极对数。图11是调速子程序结构图。

图11 调速子程序结构图

3.6 仿真分析

本系统采用MATLAB对系统进行实验论证。MATLAB/Simulink是常见的,且富有特色的仿真环境。它不仅可以直接利用系统仿真模块,而且可以创建模块,实现对系统和电路的仿真。

Simulink是MATLAB重要的功能之一,它提供一个运动的、变化的系统图形建模仿真和参数分析的高度智能的集成环境。在该环境中,不需要大量书写程序,只需要通过直观、简便的动态操作和参数设置与调整,就可构造出复杂、完备的系统。

依据分析直流无刷电机工作原理得到的结果搭建出BLDCM的仿真系统中各个部分,如换向器模块、逆变器模块、电源模块等。然后将各个部分进行组合,形成一个统一的整体。通过仿真得出运行结果,再用仿真结果来验证理论分析是否正确。以位置信号为霍尔信号、无刷直流电机位置传感器两相导通星形三相六状态控制方式为例进行仿真,如图12所示。仿真得到的无刷直流电机特性如图13所示。

图12 无刷直流电机有位置传感器仿真系统

图13 仿真结果

分析图12和图13可以发现,由于闭环反馈控制的存在,带有负载的电机转速最终接近且稳定于3000 rpm。同时也可看出,电机上面电枢电流的方向切换,即功率管道通的顺序是正确无误的,确保了电机的正常运转。电机的转速等参数也符合我们预定的控制基本要求。

4 结束语

针对无刷直流电机控制研究课题,选用的意法半导体公司的高性能单片机STM8S903K3为主控芯片,能够更好地实现电流控制器的各项性能指标。在深入研究无刷直流电机双闭环控制系统的基础上,采用了比较完备的双闭环调速控制,同时运行速度环和电流环进行调速控制,以此满足电机快速性、稳定性、准确性的动态响应。

针对一种基于控制120度HALL传感器的直流无刷电机为例,利用微控制器的中断功能实现对电流进行实时监测,同时基于RS232协议的通信协议对速度进行监测调控。最后通过仿真验证了控制系统的有效性。

猜你喜欢
直流电机闭环串口
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
浅谈AB PLC串口跟RFID传感器的通讯应用
基于安全闭环的“两客一危”动态监管平台
一种新型烟气含氧量闭环动态自适应控制系统的研制和应用
基于四元数卷积神经网络的移动机器人闭环检测
基于FPGA的双绕组无刷直流电机软件设计
直流电机电源设计研究
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索