FOC电机控制理解与实战之公式软件编写

  大家好,又见面了,前两篇博文我们知道了电机的基础知识以及FOC的基础知识,今天我们就来把理论变为实践。我们一起来看看代码中怎么写。我想这也是大家比较关心的事情了。我这里主要是以ST的芯片为例进行讲解。注意这款芯片我相信大多数人应该都比较熟悉,就算不熟悉也没关系,因为我这里面设计的算法知识将不涉及到ST芯片的知识。好了让我们开始吧。  首先我们来回顾一下上一篇文章的四种变化,Clark变化将采集的三相变两相得到iα,iβ,再经过Park变化变为Id,iq。通过电流环变为Ud,Uq,通过反Park变化变为Uα,Uβ.最后通过反Clark变化变为Ua,Ub,Uc。回顾完了我们来再来看看代码中是怎么实现的。 

Clark变化:iα = ia; iβ = (ia+2ib)/√3

#define URADI3           18919  /* 2^15/(√3)=18918.61362 */

#define SHURADI3       15      /* >>15 相当于除以32767*/

这里使用了Q15格式。目的主要是方便计算

Park变化公式:  id = iαcosθ + iβsinθ ,iq = -iαsinθ + iβcosθ

cosang与senang为角度值,至于怎么算出来的我们后面聊

#define SHFTSEN     14  /* amp. 2^14 */*这个在进行角度计算的时候扩大了2^14倍,所以这里>>14.

Park逆变化公式:Uα = Ud*cosθ-Uq*sinθ  Uβ = Ud*sinθ+Uq*conθ

同上:cosang与senang为角度值,至于怎么算出来的我们后面聊

#define SHFTSEN     14  /* amp. 2^14 */** 这个在进行角度计算的时候扩大了2^14倍,所以这里>>14.

上面那些公式什么的都简单的很,我们只需要按照公式写代码就可以了,现在让我们上升一点点高度,来看看电流环。

重要点:Uref是Ud与Uq合成的

这点知道了后,后面的就简单很多了。来我们来一起看看代码。电流环:输入iq与id,输出uq,ud。首先我们先求出的Ud,然后我们知道了Ud,Ufmax,是不是也就相当于知道了Uq呢。为什么呀,因为Uref是Ud与Uq合成的呀。代码里面是怎么写的呢,这里面的备注我都标注的比较清楚。大家可以看一下

都写到这一步了,本来我准备把公式怎么作用到电机里面去放到下一讲的,当时兴致来了,干脆就一起写了吧。接下来我们来看看代码里面是怎么判断扇区和写桥臂作用时间的。根据前一章我们知道了判断扇区的公式。

那么代码就很好写了呀。来一起看看吧。

这里我把注释写的很全很全了。我想大家看起来也不会很困难。至于整体的代码我可能要等到我把我的视频拍完到时候再发出来。

好了,这篇文章我们就到这里,下篇文章我们来聊一聊无感估算角度的FOC观测器。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 2
收藏 5
关注 84
成为作者 赚取收益
全部留言
0/200
  • dy-XEiWnKug 2023-09-10 02:21
    大佬讲得太通透了
    回复