其实不管是之前的三相异步电动机的控制还是现在比较火的直流无刷或者永磁同步电动机,要想做到精确控制,都离不开两个家伙,Park 变换和 Clark 变换。也就是我们经常说的矢量变换。通俗的讲就是用来做三相变两相交流,两相交流变两相直流。将 ABC 左边变换到旋转 dq 坐标,基本思想就是将交流电动机等效为直流电动机,转矩和励磁分别做独立控制。

 

 

 

而 Clark 和 Park 正是图中的数学变换公式,正是这两货,将电机的控制推上了新的理论高度,也大量的应用于实践,平常的变频器,逆变器等很多的电力电子产品,新能源产品都会涉及到这两变换,所以说弄懂这两个家伙至关重要,以前我们都是靠自己去用软件实现这些代码,而如果对电机理论或者数学不过关,还是有一些困难,现在很多的芯片厂商都提供电机控制的库,大大简化了控制的代码量,ST 去年开源了电机控制算法,库版本的可以随便下载,而源码的需要申请批准就可以下载。我们来看下这两家伙的实现,首先来看 Clark 变换,将第一幅图中的公式进行推倒。这就是我们要通过软件实现的变换。

 

alpha = a

 

beta = -(2*b+a)/sqrt(3)

 

 

可以看到按照公式实现后进行了一个限幅处理,这个是必须的。

 

既然将 ABC 变换到了阿尔法贝塔坐标,那么如何将阿尔法贝塔变换到 dq 坐标呢,同样将公式变换

 

     d= alpha *sin(theta)+ beta *cos(Theta)              

 

     q= alpha *cos(Theta)- beta *sin(Theta)

 

 这就是要实现的将两相交流左边变换到两相旋转静止坐标的公式,即 park 变换公式。

 

 

这样我们就将三相交流电机的问题转换为了直流电机的控制,解耦了控制难度。而在最后我们还需要将 Park 变换在逆变换为三相坐标系,就是所谓的 Park 逆变换,留给大家思考。这种变换其实我们在大学的时候电类专业学过,可能当时很多人不是很懂,没关系,等做项目的时候,做产品的时候在去回顾复习,就能够很好理解了。