论文部分内容阅读
摘要:作为机电一体化电机产品,无刷直流电机具有较好的可控性和宽调速范围,应用极其广泛,根据其控制系统的特点,分析和讨论了无刷直流电机的控制系统,设计并实现了基于STM32F103ZET6控制器的无刷直流电机控制系统。运用该芯片的GPIO模块、PWM模块和定时器模块等,并加入高效的PID算法,实现了无刷直流电机的启动停止控制、位置检测和闭环调速三大主要功能。实验结果证明,此控制系统成本较低廉,运行效果良好,性价比较高。
关键词:无刷直流电机;STM32F103ZET6;控制系统;PID算法
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)09-0239-03
1 概述
随着电子技术的发展,新型机电一体化电机即无刷直流电机出现了,它是现代电机技术、电子技术和控制理论相结合的产物。由于市场需要的增长,无刷直流电机广泛应用于自动化装置,航空航天,汽车,电子消费,医疗设备,办公自动化及日常生活等各领域。无刷直流电机(即BLDCM)可想象成一个定转子倒置的直流电动机,其中永久磁性在转子上,而绕线在定子上。相对于有刷直流电机,该电机没有电刷和换向器的火花、磨损问题,不需要经常维护。具有高转速、高效率、高可靠性、能耗低、噪音低、寿命超长、可伺服控制、简单易用和较低成本的特点。这些优点使得它得到迅速的发展和普及,现在已经成为最具有发展前途的电机产品[1]。
按照无刷直流電机的工作原理,电子开关的换相取决于转子磁极位置信号,目前主要有两类技术能够得到转子位置信号。第一类技术是采用无位置传感器的控制技术,其核心内容是通过间接的转子位置信号的检测,代替直接用转子位置传感器获取转子位置磁极信号。事实上,无位置传感器控制技术是从软件和硬件控制两方面着手,增加了控制的复杂性而降低电机结构复杂性。位置检测方法及电路主要包括:反电动势过零点法,反电动势比较法、3次谐波反电动势检测法、反电动势积分检测法,续流二极管法等等[1]。
反电动势积分检测法是比较门限值和悬空相反电动势的积分量,某相绕组的换相时刻是当积分量与门限值相等的时候,这种方法的优点:在控制过程中不需要获取转速信息,只需要调节门限值的大小来实现无刷电机的滞后换相或超前,对开关信号也不是很敏感;但是也存在缺点,就是有积分累计误差和门限值设置问题[2-4]。反电动势3次谐波检测法通过反电势的3次谐波来决定电机的换相时刻,优点是相位延迟较小,转速适用范围较大;但是因为低速噪音信号的不断积累,往往会造成换相不准确,使得在积分过程中产生了误差[5-6]。
第二类技术是通过安装位置传感器获取转子信号,比如霍尔元件,该技术被广泛采用。利用三个霍尔器件(圆周空间配置有两个方案:相互间隔60度或间隔120度),转子每旋转60度(120度)电度角,则某个霍尔器件改变其状态,那么与之相对应的逆变器内的某一相的开关状态随着更新变化一次,如此开关状态变化六次(或称六步)就完成了一个电气周转,霍尔器件输出响应的“0”和“1”两种状态的方波,从而判断转子绕组的位置[7-8]。霍尔传感器具有尺寸小、质量轻、制造成本低、方便大规模生产等多个优点,符合本设计的设计需求,本系统中采用霍尔传感器来测量转子的位置信息[9]。
在控制算法方面, BLDCM(无刷直流电机)一般采用PID算法控制[10],这种控制是早先发展起来的一种控制策略,具有诸多优点如算法成熟简单、可靠性高、稳定性好等,因此被广泛应用于控制系统中,据统计,工业控制方面的控制器中有多达90%的PID类型的控制器。
2 系统设计
无刷直流电机(BLDCM)由三相定子和转子组成,定子绕组感应磁场与转子磁场相互作用产生力矩使电机转动。控制无刷电机转动,必须知道转子的当前位置,本文控制系统中采用霍尔传感器来测量转子的位置信息,由3个霍尔元件产生的电平的时序来判断此刻的转子位置,并对相应的定子绕组进行通电。每一次换相都会有一组绕组处于正向通电,第二组绕组反向通电,另外一组不通电,由此驱动电机转动[1][7]。
2.1 系统硬件实现
2.1.1 器件选择
系统以STM32F103ZET6(以下简称STM32)为主控芯片,STM32具有丰富的PWM通道、高级定时器和AD转换通道,适合用于电机控制的设计。在实际使用过程中,若要使用某模块功能,只要配置好相应的模块寄存器就行,并不需要编写复杂的相应程序,如此就可以使用主要精力提高硬件电路性能,遇到运行过程中出现的问题,可以进行方便及时的调试和维护[11-14]。另外,该芯片外部引脚丰富,本系统只使用了少量引脚,其他部分可留做更多扩展功能的开发应用。
2.1.2 硬件功能设计
本控制系统由电源部分,驱动电路,STM32微控制器,位置、速度检测,计算机串口通信等组成。STM32可以处理采集收回的电流和位置信号等各种数据,实现BLDCM的控制算法,以及输出无刷电机旋转所需要的脉冲信号,主控芯片STM32则根据给定的指令生成相应的PWM脉冲信号,以此控制驱动系统的开关时间,使无刷直流电机的转速达到预期值。
(1)驱动电路
驱动部分选用芯片A4931,它是一款完善的三相无刷直流电机的前置驱动器,该设备可驱动多种N沟道的功率场效应晶体管(MOSFET)。支持的马达供电电压高达30V。换相逻辑由相隔120度三个霍尔元件的输入信号决定。还带有三路霍尔元件输入用于控制触发逻辑,并且具备转子锁定保护功能。A4931输出电流的大小取决于外部MOSFET的容量。转子锁定保护检测延时由连至CLD引脚的外部电容来设置。ENABLE,DIRECTION,BRAKE输入可用于控制电机的转速,位置与转矩。提供两种电流控制方式,即可采用外部信号,通过ENABLE输入脚对MOSFET进行PWM控制,也可利用芯片内建的PWM电流调节器实现。由于A4931具备同步整流特性,无论采用哪种电流控制方式,都能确保在电流衰减时开通适当的MOSFET,避免无谓的功率损耗。下面简单介绍几个主要控制引脚的功能及用法。 使能输入端(ENB):允许接外部PWM信号,ENB为高电平关闭合适的驱动,负载电流开始衰减。如果ENB保持低电平,电流会持续增加,直到达到内部电流控制电路设置的水平。典型的PWM频率在20KHz到30KHz之间,调节占空比可控制速度。可利用主控芯片STM32的定时器TIM产生PWM信号控制电机运行,调整PWM信号的占空比就可以改变无刷电机的转速。
刹车模式(BREAK):逻辑低电平加到BREAK引脚上激活刹车模式,而逻辑高电平允许正常工作。
方向信号(DIR):通过高低电平控制马达方向。
具有可驱动6个N沟道的功率MOSFET,对低功率耗散同步整流,内部欠压锁定(UVLO)和过热关机电路,霍尔元件输入,PWM电流限制,停机时间保护,FG输出,待机模式,锁定检测保护等功能和特点。
场效应管采用双N沟道逻辑电平的FDS8949,具有高功率和电流处理能力,与驱动芯片A4931一起组成了无刷直流电机的驱动部分,如图1 所示。
(2)位置、速度检测电路
正交编码器,又名增量式编码器或光电式编码器,可以对多种电机实现闭环控制,用于检测运动系统的位置和速度。它是直接利用光电转换原理每转过单位角度就输出一个脉冲信号,通常为A、B和Z相输出。A相、B相为相互延迟1/4周期的脉冲信号,根据延迟关系可以区别正反转,即如果A相超前B相,那么电机的旋转方向就是正向的。如果A相落后B相,那么电机的旋转方向就是反向的,Z相称为索引脉冲,每转一圈产生一个脉冲,作为基准用来确定绝对位置。
在本设计中,将霍尔传感器的三个引脚与STM32F103ZET6芯片的外部引脚相连,充分利用该芯片的外部中断功能,将其设置为外部中断捕获模式。
系统中使用的是1024线正交编码器,通过单片机IO口对正交编码器输出脉冲波形进行双边沿检测,通过定时器累计一定时间内的脉冲数,可计算出当前速度,使得转速检测精度大大提高,转速误差大大降低。
(3)速度PID调节
PID控制算法是控制理论中最成熟的一种控制算法,也是生产过程中最普遍采用的控制方法,在机械、机电、化工等行业中得到了广泛的应用。绕组内电流的大小决定着电机的转速,通过控制芯片输出可调的PWM信号控制开关管通断,改变绕组电流达到调速的目的。相对于位置式PID算法,增量式PID算法不需要累加误差,能达到比较好的控制效果,机器出现问题时影响范围较小,不会严重影响生产过程,满足无刷直流电机的要求,所以本系统选择增量式PID控制算法[15]。
2.2系统软件实现
系统程序主要由硬件初始化,位置检测,换相,速度检测,速度PID调节等组成。硬件初始化主要是初始化要用到的GPIO端口,中断控制,PWM模块,定时器TIM等。位置检测主要是通过单片机IO口检测编码器输出脉冲信号来确定转子的位置信息,只要设定需要的圈数和转速,通过串口通信,就能够控制电机在预定转速下完成预定的圈数后自动停下来。换相是经过检测单片机IO口霍尔电平状态来计算转子位置,并根据当前转子的位置信息改变电流流向。同时间隔一段时间读取预定的转速,并转换成相应占空比的PWM信号对无刷电机进行调速控制,保证系统良好的静态特性和动态特性,为了满足实时性控制要求,程序大部分在中断中调用。
闭环调速过程即速度PID调节,进入闭环调速过程后,先要计算实际转速,在进行过流检测,判断当前电流是否超过设定的故障电流,若电流超过设定的故障电流,就需要减小PWM输出达到减小电流的目的,再比较当前速度和给定速度实现速度闭环调节,当速度达到指定速度且不过流时退出闭环调节过程。
3 结论
实验结果表明,本文中控制系统能够实现对无刷直流电机的相关控制,结合精确的PID算法,能够很好地控制电机的转速,且运行稳定。通过串口通信,使得该系统具有良好的启动停止、换相、调速特性,无刷直流电机运行稳定可靠。使用STM32设计无刷直流电机的驱动控制系统,系统程序精简,硬件设计结构简单,成本较低,系统可靠性高,有较高实用性,可推广使用。
经过长时间的实践证明,本系统相关器件的设计是合理的。最终结论:系统方案具有可行性、实用性,且安全可靠。
参考文献:
[1] 譚建成.永磁无刷直流电机技术[M].机械工业出版社,2011.
[2] 周武,普清明,尚重阳.无刷直流电动机的反电动势积分法位置检测技术研究[J].工矿自动化,2009(8):63-65.
[3] 李声晋,马晖,卢刚,等.基于反电势积分补偿法的无刷直流电动机控制[J].微特电机,2008,06:37-39.
[4] 赵伟.基于STM32的无刷直流电机控制系统设计[D].南京信息工程大学,2016.
关键词:无刷直流电机;STM32F103ZET6;控制系统;PID算法
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)09-0239-03
1 概述
随着电子技术的发展,新型机电一体化电机即无刷直流电机出现了,它是现代电机技术、电子技术和控制理论相结合的产物。由于市场需要的增长,无刷直流电机广泛应用于自动化装置,航空航天,汽车,电子消费,医疗设备,办公自动化及日常生活等各领域。无刷直流电机(即BLDCM)可想象成一个定转子倒置的直流电动机,其中永久磁性在转子上,而绕线在定子上。相对于有刷直流电机,该电机没有电刷和换向器的火花、磨损问题,不需要经常维护。具有高转速、高效率、高可靠性、能耗低、噪音低、寿命超长、可伺服控制、简单易用和较低成本的特点。这些优点使得它得到迅速的发展和普及,现在已经成为最具有发展前途的电机产品[1]。
按照无刷直流電机的工作原理,电子开关的换相取决于转子磁极位置信号,目前主要有两类技术能够得到转子位置信号。第一类技术是采用无位置传感器的控制技术,其核心内容是通过间接的转子位置信号的检测,代替直接用转子位置传感器获取转子位置磁极信号。事实上,无位置传感器控制技术是从软件和硬件控制两方面着手,增加了控制的复杂性而降低电机结构复杂性。位置检测方法及电路主要包括:反电动势过零点法,反电动势比较法、3次谐波反电动势检测法、反电动势积分检测法,续流二极管法等等[1]。
反电动势积分检测法是比较门限值和悬空相反电动势的积分量,某相绕组的换相时刻是当积分量与门限值相等的时候,这种方法的优点:在控制过程中不需要获取转速信息,只需要调节门限值的大小来实现无刷电机的滞后换相或超前,对开关信号也不是很敏感;但是也存在缺点,就是有积分累计误差和门限值设置问题[2-4]。反电动势3次谐波检测法通过反电势的3次谐波来决定电机的换相时刻,优点是相位延迟较小,转速适用范围较大;但是因为低速噪音信号的不断积累,往往会造成换相不准确,使得在积分过程中产生了误差[5-6]。
第二类技术是通过安装位置传感器获取转子信号,比如霍尔元件,该技术被广泛采用。利用三个霍尔器件(圆周空间配置有两个方案:相互间隔60度或间隔120度),转子每旋转60度(120度)电度角,则某个霍尔器件改变其状态,那么与之相对应的逆变器内的某一相的开关状态随着更新变化一次,如此开关状态变化六次(或称六步)就完成了一个电气周转,霍尔器件输出响应的“0”和“1”两种状态的方波,从而判断转子绕组的位置[7-8]。霍尔传感器具有尺寸小、质量轻、制造成本低、方便大规模生产等多个优点,符合本设计的设计需求,本系统中采用霍尔传感器来测量转子的位置信息[9]。
在控制算法方面, BLDCM(无刷直流电机)一般采用PID算法控制[10],这种控制是早先发展起来的一种控制策略,具有诸多优点如算法成熟简单、可靠性高、稳定性好等,因此被广泛应用于控制系统中,据统计,工业控制方面的控制器中有多达90%的PID类型的控制器。
2 系统设计
无刷直流电机(BLDCM)由三相定子和转子组成,定子绕组感应磁场与转子磁场相互作用产生力矩使电机转动。控制无刷电机转动,必须知道转子的当前位置,本文控制系统中采用霍尔传感器来测量转子的位置信息,由3个霍尔元件产生的电平的时序来判断此刻的转子位置,并对相应的定子绕组进行通电。每一次换相都会有一组绕组处于正向通电,第二组绕组反向通电,另外一组不通电,由此驱动电机转动[1][7]。
2.1 系统硬件实现
2.1.1 器件选择
系统以STM32F103ZET6(以下简称STM32)为主控芯片,STM32具有丰富的PWM通道、高级定时器和AD转换通道,适合用于电机控制的设计。在实际使用过程中,若要使用某模块功能,只要配置好相应的模块寄存器就行,并不需要编写复杂的相应程序,如此就可以使用主要精力提高硬件电路性能,遇到运行过程中出现的问题,可以进行方便及时的调试和维护[11-14]。另外,该芯片外部引脚丰富,本系统只使用了少量引脚,其他部分可留做更多扩展功能的开发应用。
2.1.2 硬件功能设计
本控制系统由电源部分,驱动电路,STM32微控制器,位置、速度检测,计算机串口通信等组成。STM32可以处理采集收回的电流和位置信号等各种数据,实现BLDCM的控制算法,以及输出无刷电机旋转所需要的脉冲信号,主控芯片STM32则根据给定的指令生成相应的PWM脉冲信号,以此控制驱动系统的开关时间,使无刷直流电机的转速达到预期值。
(1)驱动电路
驱动部分选用芯片A4931,它是一款完善的三相无刷直流电机的前置驱动器,该设备可驱动多种N沟道的功率场效应晶体管(MOSFET)。支持的马达供电电压高达30V。换相逻辑由相隔120度三个霍尔元件的输入信号决定。还带有三路霍尔元件输入用于控制触发逻辑,并且具备转子锁定保护功能。A4931输出电流的大小取决于外部MOSFET的容量。转子锁定保护检测延时由连至CLD引脚的外部电容来设置。ENABLE,DIRECTION,BRAKE输入可用于控制电机的转速,位置与转矩。提供两种电流控制方式,即可采用外部信号,通过ENABLE输入脚对MOSFET进行PWM控制,也可利用芯片内建的PWM电流调节器实现。由于A4931具备同步整流特性,无论采用哪种电流控制方式,都能确保在电流衰减时开通适当的MOSFET,避免无谓的功率损耗。下面简单介绍几个主要控制引脚的功能及用法。 使能输入端(ENB):允许接外部PWM信号,ENB为高电平关闭合适的驱动,负载电流开始衰减。如果ENB保持低电平,电流会持续增加,直到达到内部电流控制电路设置的水平。典型的PWM频率在20KHz到30KHz之间,调节占空比可控制速度。可利用主控芯片STM32的定时器TIM产生PWM信号控制电机运行,调整PWM信号的占空比就可以改变无刷电机的转速。
刹车模式(BREAK):逻辑低电平加到BREAK引脚上激活刹车模式,而逻辑高电平允许正常工作。
方向信号(DIR):通过高低电平控制马达方向。
具有可驱动6个N沟道的功率MOSFET,对低功率耗散同步整流,内部欠压锁定(UVLO)和过热关机电路,霍尔元件输入,PWM电流限制,停机时间保护,FG输出,待机模式,锁定检测保护等功能和特点。
场效应管采用双N沟道逻辑电平的FDS8949,具有高功率和电流处理能力,与驱动芯片A4931一起组成了无刷直流电机的驱动部分,如图1 所示。
(2)位置、速度检测电路
正交编码器,又名增量式编码器或光电式编码器,可以对多种电机实现闭环控制,用于检测运动系统的位置和速度。它是直接利用光电转换原理每转过单位角度就输出一个脉冲信号,通常为A、B和Z相输出。A相、B相为相互延迟1/4周期的脉冲信号,根据延迟关系可以区别正反转,即如果A相超前B相,那么电机的旋转方向就是正向的。如果A相落后B相,那么电机的旋转方向就是反向的,Z相称为索引脉冲,每转一圈产生一个脉冲,作为基准用来确定绝对位置。
在本设计中,将霍尔传感器的三个引脚与STM32F103ZET6芯片的外部引脚相连,充分利用该芯片的外部中断功能,将其设置为外部中断捕获模式。
系统中使用的是1024线正交编码器,通过单片机IO口对正交编码器输出脉冲波形进行双边沿检测,通过定时器累计一定时间内的脉冲数,可计算出当前速度,使得转速检测精度大大提高,转速误差大大降低。
(3)速度PID调节
PID控制算法是控制理论中最成熟的一种控制算法,也是生产过程中最普遍采用的控制方法,在机械、机电、化工等行业中得到了广泛的应用。绕组内电流的大小决定着电机的转速,通过控制芯片输出可调的PWM信号控制开关管通断,改变绕组电流达到调速的目的。相对于位置式PID算法,增量式PID算法不需要累加误差,能达到比较好的控制效果,机器出现问题时影响范围较小,不会严重影响生产过程,满足无刷直流电机的要求,所以本系统选择增量式PID控制算法[15]。
2.2系统软件实现
系统程序主要由硬件初始化,位置检测,换相,速度检测,速度PID调节等组成。硬件初始化主要是初始化要用到的GPIO端口,中断控制,PWM模块,定时器TIM等。位置检测主要是通过单片机IO口检测编码器输出脉冲信号来确定转子的位置信息,只要设定需要的圈数和转速,通过串口通信,就能够控制电机在预定转速下完成预定的圈数后自动停下来。换相是经过检测单片机IO口霍尔电平状态来计算转子位置,并根据当前转子的位置信息改变电流流向。同时间隔一段时间读取预定的转速,并转换成相应占空比的PWM信号对无刷电机进行调速控制,保证系统良好的静态特性和动态特性,为了满足实时性控制要求,程序大部分在中断中调用。
闭环调速过程即速度PID调节,进入闭环调速过程后,先要计算实际转速,在进行过流检测,判断当前电流是否超过设定的故障电流,若电流超过设定的故障电流,就需要减小PWM输出达到减小电流的目的,再比较当前速度和给定速度实现速度闭环调节,当速度达到指定速度且不过流时退出闭环调节过程。
3 结论
实验结果表明,本文中控制系统能够实现对无刷直流电机的相关控制,结合精确的PID算法,能够很好地控制电机的转速,且运行稳定。通过串口通信,使得该系统具有良好的启动停止、换相、调速特性,无刷直流电机运行稳定可靠。使用STM32设计无刷直流电机的驱动控制系统,系统程序精简,硬件设计结构简单,成本较低,系统可靠性高,有较高实用性,可推广使用。
经过长时间的实践证明,本系统相关器件的设计是合理的。最终结论:系统方案具有可行性、实用性,且安全可靠。
参考文献:
[1] 譚建成.永磁无刷直流电机技术[M].机械工业出版社,2011.
[2] 周武,普清明,尚重阳.无刷直流电动机的反电动势积分法位置检测技术研究[J].工矿自动化,2009(8):63-65.
[3] 李声晋,马晖,卢刚,等.基于反电势积分补偿法的无刷直流电动机控制[J].微特电机,2008,06:37-39.
[4] 赵伟.基于STM32的无刷直流电机控制系统设计[D].南京信息工程大学,2016.