前言:上个月预告要推出对ST的高频注入代码解读,后面看了下代码,一言难尽。。。
机缘巧合之下,有位朋友给出了另外一份代码,那就拿这个填坑吧~~~
简介:本文采用的是方波注入的方式,并非脉振,注入电压的幅值是标幺值0.3,注入方波的频率和PWM频率成线性关系,最后选取750Hz.
//高频注入主函数,ZLSPD表示zero and low speed position detection
代码解读:
知乎文章修改字体比较麻烦,也不能改变颜色,以下代码中文注释即为我的解读,阅读不便望理解。
void ZLSPD (HPF *iq, HPF_COEFF *k, HFI *h, NS_ID *n, CLARKE *i, PHASEVOLTAGE *v)
{
static _iq kp,
dIq,
IqOld,
thetaErr,
volt_hfi;
static Uint16 Squ_PRD,
squ_cnt,
NS_cnt;
//在复位状态机下,复位角度误差,采样记录的Iq,方波幅值,计数器等关键信息
/********************************************
* Reset State
********************************************/
if(h-