理论教育 数字化矢量控制系统的硬件和软件构成

数字化矢量控制系统的硬件和软件构成

时间:2023-06-27 理论教育 版权反馈
【摘要】:图4-15为一个基于DSP的数字控制系统在电机控制中的典型应用框图。

数字化矢量控制系统的硬件和软件构成

1.全数字化矢量控制系统硬件构成

数字信号处理器(DSP)具有硬件简单、控制算法灵活、抗干扰性强、无漂移兼容性好等特点,现已广泛应用于交流电机控制中。下面对一个DSP的核心功能进行简要描述:

●10~100ns的指令周期;

●单个周期的相乘和乘方运算;

●单周期寻址和算法;

●单周期的可执行指令;

●单周期堆栈推移;

●大于等于16位的字长;

●植于芯片上的内存;

●和外部实际物理信号快速有效的连接。

图4-15为一个基于DSP的数字控制系统在电机控制中的典型应用框图。

978-7-111-38928-6-Chapter05-74.jpg

图4-15 数字化异步电机控制系统框图

在这个系统中,各个模块的功能如下:

1)给定值产生模块的作用为

●多项式拟合;

●模块查表及插值。

2)数字控制模块的作用为

●实现PID调节器算法;

●参数/状态估计;

●磁场定向控制(FOC)变换;

●无速度传感器算法;

自适应控制算法。

3)驱动给定/PWM发生模块的作用为

●PWM发生;

●AC电机的换向控制;

功率因数校正(PFC);

高速弱磁控制;

●直流纹波补偿。

4)信号转换及信号调理模块的作用为

●A-D转换控制;

数字滤波

交流电机控制中,DSP所特有的高速计算能力,可以用来增加采样频率,并且完成复杂的信号处理和控制算法,控制电力电子外围设备,以实现电机的控制和调速。PID调节器算法、卡尔曼滤波、快速傅里叶变换(FFT)、状态观测器、自适应控制及智能控制等,均可利用DSP在较短的采样周期内完成。在自适应控制中,系统参数、状态变量可以通过状态观测器加以辨识。因此利用DSP的信号处理能力还可以用来减少传感器的数量(比如位置、速度和磁链传感器)。

电机控制专用DSP灵活的PWM发生,为电机控制带来了许多的便利;可产生高分辨率的PWM波形,可灵活实现PWM控制,以减小电磁干扰(EMI)和其他噪声问题,多路PWM输出可以进行多电机控制。另外,现成的第三方设备和软件、硬件开发工具简化了外围器件和DSP控制器间的连接及系统开发过程。

2.数字化矢量控制系统的软件构成

下面结合TI公司的电机控制专用DSP,介绍几种电机控制中采用的坐标变换等常用程序模块软件实现方法。为了便于读者理解,程序代码使用TI公司的TMS320F28335的浮点C语言。

(1)克拉克变换(Clark Transform) 克拉克变换是从三相坐标系到两相静止坐标系的变换,是交流电机控制系统中最常用的一种坐标变换。

978-7-111-38928-6-Chapter05-75.jpg

如果考虑无中性线的电机系统中的三相电压和电流之和为零的关系,上式还可以进一步得到简化。

附:克拉克变换的例程:

978-7-111-38928-6-Chapter05-76.jpg

(2)派克变换(Park Transform) 派克变换是矢量控制系统中常用的旋转变换,具有如下形式:

978-7-111-38928-6-Chapter05-77.jpg

附:派克变换的例程:

978-7-111-38928-6-Chapter05-78.jpg

(3)三角函数的计算 TMS320C28x系列DSP在片内的引导ROM中内置了三角函数表,包括正弦表、余弦表和反正切表,所以可以直接调用对应的三角函数,由编译器自动生成底层的查表程序,进行查表使用。具体指令可以查阅DSP的文档。(www.daowen.com)

(4)CAP(捕获)模块和QEP(正交编码脉冲)解码模块 在DSP中,一般使用QEP模块和捕获模块对电机进行测速。光电编码器输出的脉冲一般有ABZ信号(Index信号),A信号和B信号在电机转子一圈输出相同数目的脉冲,并且互相错开1/4周期如图4-16所示。AB的相对相位信息可以用来判断电机的转向。

978-7-111-38928-6-Chapter05-79.jpg

图4-16 光电编码器及输出脉冲信号

1)QEP解码模块

译码器输出直接连到DSP。

●内部逻辑电路可以检测转子转动方向。

●一个定时器可与QEP解码模块结合起来为位置信号计数,并且自动根据电机转向来进行增或者减计数,所以知道了初始位置的偏置,就可以实时根据计数器的值来得到转子机械位置。

●可以产生不同的中断。

DSP的QEP单元的计数器是可读的,需要知道转子机械位置的时候,只需要去读取一下这个寄存器中的数值,然后进行简单的代数运算就可以得到电机转子的角度,如图4-17所示。

知道了转子的位置后,通过微分运算就可以得到转子转速。在实际实现中,一般是每隔固定的时刻来读取一次转子位置信息,然后做微分计算来求得转子转速。

978-7-111-38928-6-Chapter05-80.jpg

由于DSP的计数器会自动根据电机的转向来选择增还是减计数,所以位置差中已经包含了转速的方向信息。

在TMS320F2812的程序中,一般采用定时中断来对QEP计数器的值进行读取,然后根据上式来计算转子转速。但是,定时中断来读取QEP计数器,由于需要有中断响应、程序执行和其他中断的打断等因素,对计数值进

978-7-111-38928-6-Chapter05-81.jpg

图4-17 使用QEP解码模块实现位置判断的程序流程

行采样的时刻并不是非常准确的。所以在TMS320F28335DSP中,其QEP单元自带一个定时器,通过配置可以让DSP的硬件在一定的时刻自动把QEP计数器的数值读取到一个特定的寄存器中,然后再去读取这个寄存器中的数值。这样就保证了采样时刻的准确性。

使用QEP解码模块实现位置和转速计算的TMS320F28335程序可分为初始化程序和转速、位置计算程序。

其中,QEP模块初始化程序如下:

978-7-111-38928-6-Chapter05-82.jpg

978-7-111-38928-6-Chapter05-83.jpg

2)捕获(CAP)模块

QEP解码模块中,电机的转子转速是根据一定时间间隔内,码盘输出的脉冲数来计算得到的,这种计算方法在高速区域精度比较高,又被称为测频法。但是在低速区域,在单位时间内,码盘转过的脉冲数可能很少,这时候码盘的量化误差的影响就非常大,所以在低速区域,一般采用捕获(CAP)方式来计算电机的转速。

捕获方式的原理是让DSP来捕获码盘输出的脉冲的上升或者下降沿,这两个沿就代表了电机转过的角度。同时设定一个定时器计算两次捕获之间所经历的时间,这样就可以计算得到电机的转速。由于电机转速较低,所以两次捕获的时间间隔较长,定时器的量化误差影响就较小。

CAP模块具有下列功能:

●配合一个定时器,捕获单元可以检测上升、下降的时刻。

●可以有效地减少输入信号抖动现象。

●捕获单元的处理结果保存在FIFO中,以简化软件实现的复杂程度。

●捕获事件可以触发中断。

●捕获事件还可用来触发其他功能,例如,触发一个从模拟到数字的转换过程。

在TMS320F2812及其之前的DSP中,QEP/CAP模块要么运行在QEP方式,要么运行在CAP方式,所以需要在电机的某个转速下对模块的功能进行切换。一般设置捕获事件来触发中断,用DSP内部时钟来触发定时器,在捕获中断中读取定时器的值,并计算得到跟上次捕获之间的时间间隔,从而计算得到转速。CAP模块会在捕获发生的时刻,把定时器的值放入FIFO堆栈中,所以也可以在其他程序中定时读取FIFO堆栈的值。CAP模块采用两级FIFO,同时有堆栈状态寄存器,来记录从上次读取到目前位置发生了几次堆栈写入操作,因此读取的时候要根据FIFO堆栈的状态寄存器的值,来判断需要读取上层还是底层的数值,如图4-18所示。

978-7-111-38928-6-Chapter05-84.jpg

图4-18 CAP模块结构

而TMS320F28335中,该模块可以同时运行在QEP和CAP方式。

初始化程序:

978-7-111-38928-6-Chapter05-85.jpg

(5)数字PID调节器 在电机闭环控制中,PID调节器应用得非常广泛,例如转速、磁链、转矩、电流等调节器,都采用PID的形式。

978-7-111-38928-6-Chapter05-86.jpg

写成离散形式为

978-7-111-38928-6-Chapter05-87.jpg

PID调节器的输出一般是系统中的控制量,实际系统中,控制量都有一定的限制,如电机上的电压给定值、转矩给定值等。所以一般在PID调节器的输出施加一定的限幅值。PID调节器中的积分项容易引起控制量的超调,为了减小这种现象,一般也需要对积分项进行一定的改进,在PID调节器的输出达到限幅值时,就停止对积分项的累加,从而有效地减小超调量。

PID调节器的数字化实现方法如图4-19所示。

978-7-111-38928-6-Chapter05-88.jpg

图4-19 PID调节器的数字化实现方法

带输出限幅的PI调节器程序:

978-7-111-38928-6-Chapter05-89.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈