
平头哥半导体有限公司的剑池集成开发环境(以下简称“CDK”)已发布最新版本V2.10.5,请及时更新。 自中科昊芯推出专题阐述HXS320F28034双电机有感FOC控制系统实现以来,第一期主要分析了双电机有感FOC控制原理,第二期着重分析了永磁BLDC的霍尔位置开环控制。 本期采用CDK-V2.10.3版本与AioneMotor_DSC28034电机驱控一体板联合开发内置霍尔位置传感器的永磁BLDC双闭环调速,特点是实现方法简单、硬件成本低,相比FOC转矩脉动较大。 BLDC的双闭环调速原理如图1,系统给定转速nref与通过每60度换相的时间间隔求得的BLDC实际转速nfbk相比较,经速度PI调节器运算得到电流给定值iref,与电流采样的反馈值ifbk进行比较,经电流PI调节器输出调制波信号,与PWM模块输出的三角波信号相比较得到调制的脉宽信号,按“六步换相”算法驱动逆变器,实现双闭环调速。

图1
依照上述原理,设计HXS320F28034永磁电机双闭环控制系统如图2,通过GPIO按键控制电机使能与转速给定,经双闭环PI调节输出PWM波的导通脉宽从而实现电机调速,

图2
硬件连接如图3

图3
系统所采用的软硬件开发环境详见《芯教程|平头哥CDK助力中科昊芯HX2000系列芯片之双电机有感FOC控制系统专题(一)第一期:双电机有感FOC控制原理》。
根据上述分析,基于CDK开发双闭环调速,代码包括:PWM的外设Gpio引脚配置、三路三相PWM波输出配置,霍尔位置采样与转速计算、电流采样、PI调节算法、按六步换相输出的EPWM事件触发中断服务程序,主程序执行调用。
其中霍尔位置采样与转速计算、电流采样代码为:
void speed_cal(void)
{
/*定义脉冲计数器Speed_cnt:求解两个换相点间的时间*/
Speed_cnt++;
/*判断该时刻是否换相*/
if(Hall!=Hall_old)
{
/*换相时,记录两个换相点间计数*/
HallTime=Speed_cnt;
/*换相时,计数清零,使记录的计数值为两个换相点间的变化值*/
Speed_cnt=0;
/*换相时,以该时刻的霍尔位置信息作为当前时刻霍尔位置值*/
Hall_old=Hall;
}
/*通过计算换相时间,求解转速speed=60/p/(Speed_cnt*6*PWM中断周期)*/
Speed=50000/HallTime;
}
void current_phase(void)
{
/*电流零点校准,令驱动上电,电机使能前一时刻的电流为0*/
adcdata[3]=adcVal[0]+current_offset;
/*根据运放电路求解BLDC的实际电流值,变比根据驱动一体板电路确定*/
i=_IQ8mpy(_IQ8div(adcdata[3]-2048,2048),_IQ8(1.65)*_IQ8(16.5/1000));
} CDK上开发永磁电机双闭环控制程序,其编译结果为:

编译通过后,就可以开始调试了,其调试结果如下:

调试后,永磁电机的转动效果如下:

往期回顾:
《芯教程丨平头哥CDK助力中科昊芯HX2000系列芯片之双电机有感FOC控制系统专题(一)》
《芯教程丨平头哥CDK助力中科昊芯HX2000系列芯片之双电机有感FOC控制系统专题(二)永磁电机开环控制》
关于中科昊芯
“智由芯生 创享未来”,中科昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构RISC-V,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制及电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。
