直流无刷电机控制系统设计与实现
图21 模拟PID控制原理图
PID控制系统中,三个控制量所起的作用分别是:P控制将误差固定比例修正。I控制将误差取时间的积分。D控制将误差进行微分防止被控量的严重超调。
从公式中推出增量式PID控制算法为:
?u(k)?u(k)?u(k?1)
=Kp(e(k)?e(k?1))?Kie(k)?Kd(e(k)?2e(k?1)?e(k?2)) 下面是增量PID算法,程序设计中用的最常用的增量PID算法[8]: u(k?1)?u(k)?q0*e(k?2)?q1*e(k?1)?q2*e(k); (2)
TsTd?)TiTs
Tdq1?Kp*(1?2)Ts Tdq2?KpTs
q0?Kp*(1?4.7 matlab gui 串行通信界面设计
为了更好调节PID,设计matlab gui界面,能够很方便的调节PID。界面如图22:
图22 PID参数整定界面
15
直流无刷电机控制系统设计与实现
5直流无刷无感电机测试结果及结果分析
5.1 H_PWM_L_PWM的波形
直流无刷电机的驱动波形有很多种方式可以选择,比如:PWM_ON调制、ON_PWM调制、H_PWM_L_ON调制、H_ON_L_PWM调制、H_PWM_L_PWM调制。我选用的是H_PWM_L_PWM调制方式[9],图23是六路PWM的其中两路,其他的几路基本都一样,用来控制直流无刷电机的顺利运转。
图23 H_PWM_L_PWM波形
5.2端电压对地波形
图24是电机对地的电压波形,和原理的很接近,也算理想。
图24 端电压对地波形
16
直流无刷电机控制系统设计与实现
5.3位置检测波形
电机的位置检测波形图如下所示,它是通过模拟中性点[10]得到的,经过光耦隔离输入到单片机的霍尔接口,通过判断单片机接口的电平来驱动电机的旋转步伐,单片机接口电平如表2所示。图25为位置检测的波形虽然有点毛刺,但经过单片机内部的软件滤波,仍然能够好的识别电机转子的位置,并进行电机的换相。
图25 位置检测波形
表 2 位置检测电平
PA6 0 0 0 1 1 1 PA7 0 1 1 1 0 0 PB0 1 1 0 0 0 1 十六进制 0x01 0x03 0x02 0x06 0x04 0x05 5.4电流波形
直流无刷电机刚启动时的电流非常大,此时容易烧坏电机,因此要加保护电路,驱动电路也要有足够的电流驱动能力,否则电机转不起来。示波器观察的波形如何下图26所示,符合电机启动的原理电流波形[11]。
17
直流无刷电机控制系统设计与实现
图26 电流波形图
5.5实物图
图27是动手焊的电路板,是直流无刷电机的驱动电路板,驱动电路用的集成模块IPM构成。该电路很好的实现了无刷电机的启动、停止及转速控制能功能。达到了预期效果。
图27 实物图
18