基于STM32F407的直流电机双闭环调速系统设计*

2021-06-07 03:29施志荣唐艺明
九江学院学报(自然科学版) 2021年1期
关键词:直流电机字节驱动

施志荣 唐艺明

(漳州职业技术学院电子工程学院 福建漳州 363000)

随着现代工业技术的发展,电机的速度、位置和转矩的精确控制已经变得越来越广泛和重要了。系统使用基于Cortex-M4内核的STM32F407 IGT6单片机为控制器,结合双闭环调速技术,实现了直流电机的精确调速[1]。

1系统的总体设计

系统由电源、LabView上位机、STM32F407I GT6控制器、电机驱动电路、霍尔传感器和直流电机组成,系统结构如图1所示。

图1 系统结构框图

2硬件设计

2.1控制器的选择

系统的控制器选用STM32F407IGT6为主控芯片。STM32F407IGT6控制器通过PC6和PC7引脚检测霍尔编码器产生的速度信号,结合电机驱动电路实现对电机的速度控制。同时,电机驱动模块上还增加了电流的采集电路,控制器通过芯片的PF10引脚采集电机的电流信号实现电流的闭环控制。在电机启动的过渡过程中,调速系统的电流环能够充分利用电机允许的过载能力,让电机尽可能以最大的电流启动,缩短调节时间,从而使直流电机具有快速的响应特性。

2.2驱动电路的设计

在中、小容量的直流电机调速系统中,电机驱动通常采用常见的H桥电路[2],其电路如图2所示。

图2 H桥电路

H桥电路的4个桥臂通常使用MOS电力场效应晶体管来搭建。由于P型MOS管导通电阻大、难做到高耐压大电流的型号,所以同样性能的MOS管,N型MOS管比P型MOS管便宜。IRFS3607的N型MOS管,最大电压75V、内阻7.34mΩ、最大电流80A。系统使用4个型号为IRFS3607的N型MOS管来搭建H桥电路。

当主控芯片控制Q1、Q3管导通,Q2、Q4管关断时,电流从左至右经过电机,电机开始正向旋转;当主控芯片控制Q2、Q4管导通,Q1、Q3管关断时,电流从右至左经过电机,电机开始反向旋转。

在4个桥臂的驱动过程中,因为STM32F407IGT6输出的3.3V的PWM高电平能够驱动下桥臂的N-MOS管导通,所以Q3、Q4管可以直接使用STM32F407IGT6芯片引脚进行控制。而上桥臂的N-MOS管无法直接使用STM32F407IGT6芯片引脚驱动,因此需要使用自举电路将PWM信号升压到27 V左右才能驱动Q1、Q2管。IR2104S是一款专用的MOS管半桥驱动芯片,带有ShutDown引脚,可以同时驱动两个N-MOS管导通。因此,系统使用IR2104S加1个自举电容和1个自举二极管来实现对上下桥臂N-MOS管的驱动,具体的半桥驱动电路如图3所示。

图3 半桥驱动电路

2.3电流采集电路

通过在低端MOS管的下方串联一个阻值微小的采样电阻R9可以将电机的电流信号转换为电压信号,电路如图4所示。

图4 电流采集电路

R6、R7、C10、R10和R11组成差分滤波电路对转换后的电压信号进行滤波处理。MAX4334ESD是一款具有四通道的运算放大器芯片。使用MMAX4334ESD的运放通道1放大滤波后的电压信号。该通道的同相输入端经过一个上拉电阻R5接0.8V的抬升电压。这个抬升电压VCC_08V由MAX4334ESD的另一个运放通道2组成的电压跟随器配合精密电阻R13和R14提供。因此,电流采集电路的最终输出输入关系是:

(1)

其中,Isensor表示采样电阻R9的电流,即直流电机的电流值;Vsensor表示采样电阻R9两端的电压值;VCurrent_amp表示MAX4334ESD运放通道1的输出电压值。采样电阻的电压Vsensor经过放大后可以直接接到STM32F407IGT6的PF10引脚上,控制器通过ADC转换通道采集到VCurrent_amp的值,然后根据公式(1)可以计算得到直流电机的电流值Isensor。另外,在电流采集电路中,电阻R8和电容C9对MMAX4334ESD的运放通道1的输出信号进行一阶低通滤波处理;二极管D3能将放大器的输出电压VCurrent_amp钳位在3.3 V左右实现保护微控制器ADC引脚的目的。

3电机调速程序设计

HAL库是一个包含STM32系列微处理器所有外设性能特征的软件函数包。通过使用HAL库编程,不需要掌握具体细节就可以轻松使用STM32F407IGT6微处理器的相关外设。因此,在电机调速程序设计时,使用HAL库进行编程并根据系统的功能模块进行划分,将程序进行模块化设计。

3.1系统主程序

主程序的主要功能是上电时进行系统初始化并进入程序的主循环。系统初始化的任务主要包括:复位相关外设,初始化系统滴答定时器和Flash接口;配置系统时钟;串口、按键和编码器的初始化及使能编码器模式;ADC和DMA初始化并启动AD转换及使能DMA传输和中断;高级控制定时器初始化并配置PWM输出功能,同时启动定时器通道和互补通道PWM输出;PID参数的初始化。程序主循环的主要工作是对按键和相关标志位进行循环扫描,当按键按下或有相关中断发生时,CPU便会调用相应的服务子程序进行处理。

3.2PID控制算法设计

电机的闭环控制,就是根据电机的反馈量对电机进行调控。将电机被控量的设定值与传感器检测到的实际值进行比较,得到一个偏差,然后按一定的控制规律计算得到输出量。在实际控制中,PID控制器是应用最为广泛的一种自动控制器。所谓的PID控制就是对偏差进行比例,积分,微分运算,最后得到输出量的控制过程。数字式PID控制器的计算表达式如下:

(2)

式(2)中,k表示第k次采样,e(k)表示第k次采样时刻输入的偏差值,e(k-1)表示第k-1次采样时刻输入的偏差值,u(k)表示第k次采样时刻的输出值,Kp表示比例系数,Ki表示积分系数,Kd表示微分系数[3]。

在实际的电机调速系统中,为了避免积分深度饱和,往往需要对积分进行限幅,而为了提高电机的响应速度又常常需要给定较大的积分初值,如此一来,虽然可以勉强满足控制要求,但是电机电流超调严重、系统稳定性差。采用PID串级控制能够有效地改善调速系统的控制质量。为了减小电流的超调和过饱和现象,达到更好的控制效果,该系统采用双闭环串级调速控制,将速度环的计算结果作为电流环的目标电流进行相关运算,即电流环作为内环,速度环作为外环。速度环+电流环串级调速程序框图如图5所示。

图5 双闭环调速程序流程框图

双闭环调速的功能程序是在系统滴答定时器中断回调函数中实现。系统滴答定时器每隔1ms产生中断并调用一次中断回调函数进行处理。由于电流内环对时间要求高是需要频繁处理的闭环系统、速度外环对时间要求较弱是能够以较长时间间隔处理的闭环系统[4-5]。因此,系统电流内环使用40ms的采样周期,速度外环使用100ms的采样周期。

4上位机程序设计

电机调速系统的上位机是基于LabView软件平台开发的应用程序。上位机与STM32F407IGT6控制器通过串口实现数据传输,具体通信帧格式如表1所示。

表1 系统通信帧格式

每个数据帧总共包含16个字节。帧头为0xAA,长度占1个字节。当上位机接收到0xAA时表示数据传输开始。指令码的取值范围为0x01-0xFF,长度占1个字节,不同的指令码能够完成不同的通信功能,具体指令码功能说明如下表2所示。传输参数长度占12个字节,不同的指令码具有不同的传输参数,没使用到的参数空间使用0x55填充。将指令码与12个字节的参数进行求和并保留最低位的1个字节可以得到校验码。最后,当上位机接收到0x2F时表示数据传输结束。

表2 指令码功能说明

系统运行时,STM32F407IGT6控制器根据霍尔传感器的脉冲值计算出电机的转速,并通过串口将计算结果发送给上位机。上位机转速数据处理程序及其注释如图6所示。

图6 上位机转速数据处理程序及注释

上位机以16个字节为单位将串口接收到的数据读入数组中。当帧头为0xAA、帧尾为0x2F及13个字节的检验和正确无误时,程序提取数组中的指令码。指令码0x88表示12个字节的传输参数为电机的转速数据,程序以4个字节为一个通道提取转速数据并送到曲线显示构件进行显示。

5系统测试与分析

系统使用GM37-545型直流电机进行测试。GM37-545是一个带编码器的直流减速电机。电机的减速比为30,额定电压24V,额定转矩0.53 N·m,最大功率83 W。编码器使用11线的霍尔传感器,减速后的编码线速为330。

在正常工作环境下,速度环采用PID调节,参数分别是:P=2.4,I=0.3,D=0.2;电流环采用PI调节,参数分别是:P=0.35,I=0.6,D=0。电机运行时,转速的测试效果如图7所示。

图7 电机转速测试曲线

从图7的转速曲线可以看出:当转速的设定值为100 r/min时,系统的最大超调为3%、稳态误差小于0.3%。由于电流环的引入,电机的响应能力得到了很好的改善,调整时间不超过4s。电机在第15s的时侯投入测试负载,速度虽然暂时下降为90r/min,但是在随后的6s内又立即调整为100r/min的设定值,完全满足实验的测试要求。

6结论

文章设计了一种基于STM32F407IGT6微控制器的直流电机双闭环调速系统。实验结果表明,该系统具有启动速度快、控制精度高、输出特性好等优点,能够应用于工业生产中的相关控制领域。

猜你喜欢
直流电机字节驱动
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
基于模糊PI控制的驱动防滑仿真系统分析
No.8 字节跳动将推出独立出口电商APP
屈宏斌:未来五年,双轮驱动,砥砺前行
轨旁ATC系统门控柜接收/驱动板改造
No.10 “字节跳动手机”要来了?
简谈MC7字节码
基于FPGA的双绕组无刷直流电机软件设计
直流电机电源设计研究