首页/文章/ 详情

电机控制核心技术:完结篇:TI&DSP_F28335手搓实战系列-永磁同步电机有速度传感器矢量控制

4月前浏览583

导读:基于TI_DSP_F28335的永磁同步电机有感矢量控制(ABZ编码器)C代码手搓基本完成,并在硬件测试平台上验证调试完成,下面把实现过程进行梳理总结并进行局部的优化。

高质量的参考书籍推荐一波:

图1 开发环境-CCS和MATLAB

常见的电机控制的开发环境就是CCS和MATLAB来进行分步验证,协助开发,所以需要熟练使用MATLAB和CCS。

一、创建CCS工程模板架构

CCS工程模板的创建,一般包括:

图2 CCS工程模板的架构

工程模板的创建需要注意的点就是:1、头文件路径的配置;2、烧录方式;3、

二、程序软件架构

主程序的作用是初始化系统和完成主循环,初始化主要包含DSP的时钟、中断、通用IO口的配置信息等的初始化,与DSP关联的外围芯片的初始化,控制系统参数变量的初始化等,初始化中还包括检测直流侧的母线电压并判断是否出现故障,转子初始位置处理等,这些工作准备就绪进入主循环等待中断,主程序流程图如图(3)所示。

图3 主程序结构

故障中断子程序的作用是实现对系统的保护,主要处理IGBT故障及过流、过压、缺相、欠压等破坏性故障。当系统出现故障时,为防止IGBT烧坏,应立即关闭驱动模块的电源,封锁PWM的输出信号,并对故障信息进行记录。故障中断子程序的流程图如图(4)所示。

图4 故障中断子程序的流程图

PWM中断程序是系统软件设计的核心,系统中所用的有感矢量控制策略就是在该部分实现的,PWM中断子程序流程图如图(5)所示。PWM中断子程序的主要作用是进行转子位置计算、转速指令获取、转速环控制以输出所需的电流指令、有感矢量控制策略的实现、电机定子电流的采样、过流、缺相等故障的判断、坐标变换、dq电流环控制以及输出电压指令、SVPWM调制以输出逆变器所需的驱动信号,达到电机控制的目的。

图5 PWM中断子程序流程图

注:TZ保护和故障检测部分需要重点梳理和优化。

三、控制策略模块化实现和测试验证(浮点标幺化实现)

图6 永磁同步电机有感矢量控制系统框图(模块化)

3.1 SVPWM调制

图7 SVPWM生成的马鞍波

总结:SVPWM浮点标幺化实现的重点:

(1)ePWM外设模块的底层配置;

(2)SVPWM计算函数的设计和实现;

(3)生成的ePWM比较值要和PWM波生成要匹配;

3.2 ADC电流采样和ABZ测速、位置获取

图8 电流采样和eQEP位置测算的波形变化

总结:ADC和eQEP外设模块的实现电流采样、速度和位置估算的重点:

(1)ADC外设模块的底层配置;

(2)直流偏置的计算,与模拟值的变化对应;

(3)eQEP外设模块的底层配置;

(4)速度和位置的计算处理;

3.3 坐标变换

图9 静止坐标系下的电流波形变化

总结:坐标变换实现的重点:

(1)首先要明确坐标变换的原则;

(2)位置角的选取;

3.4 PI调节器(电流环和速度环)

总结:速度环和电流环实现的重点:(1)PI调节器的类型和方式的选择;

(2)PI参数的自整定;

(3)抗积分饱和的设计;

3.5 速度规划

图10 加入速度规划(斜坡函数)的速度波形变化

总结:速度规划实现过程中的重点:

(1)速度规划方法的选择;

(2)将速度规划的额内容嵌入到速度环中;

(3)相关参数的设置;

3.6 上位机显示

总结:上位机实现过程的重点:

(1)波特率和通信方式的确定;

(2)显示的设置;

(3)

四、总结和优化

总结在上面第三章做了简单的说明,优化的部分可以简单的归纳为以下几个方面:

(1)SVPWM的调制方式,七段式和五段式;

(2)PI参数的自整定,带宽法和基于零极点对消法;

(3)矢量控制策略,最大转矩电流比控制方式;

(4)ABZ编码器测速方法的替换,MT法或者基于PLL法;

五、后续的开发计划

1、弱磁调速控制;

2、死区补偿;

3、无感控制;

4、初始位置辨识;

5、电机参数辨识;



来源:浅谈电机控制
电源通用MATLAB芯片通信电机控制试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-05-20
最近编辑:4月前
公众:浅谈电机
硕士 签名征集中
获赞 45粉丝 7文章 91课程 0
点赞
收藏
作者推荐

DSP28335系列--SVPWM和ADC外设模块的整理,包括底层配置、实现以及硬件平台的功能实测

导读:本期文章主要把DSP28335中常用到的ADC和ePWM外设模块进行整理、以及在电机控制实现中的功能体现过程的整理总结。一、ePWM外设模块的底层配置和SVPWM计算函数的实现关于SVPWN的理论和ePWM外设模块的基础理论,可以查看下面的往期文章:电机控制入门基础-SVPWM(一更(理论+模型验证))电机控制入门基础-SVPWM(二更(基于TI的F28335的CCS工程代码实现))DSP28335之三相逆变程序SVPWMePWM外设模块的底层配置和SVPWM计算函数可以参考上述贴的超链接,这里主要说一下矢量切换点占空比的实现和计算:正三角增减计数模式下用程序定义的参考量表示的各扇区的电机三相上桥导通时刻对应的占空比: 计算出的矢量占空比之后,再乘以比较寄存器最大值TBPRD(切换时刻是以其作为标准的)得到去标幺化后的Q0格式值的计数值,最后将其赋值给控制电机对应相的比较寄存器。 程序中对PWM模块的配置如下: 倒三角增减计数模式下用程序定义的参考量表示的各扇区电机三相上桥臂导通时刻对应的占空比: 二、ADC外设模块的底层配置和电流、电压采样计算的过程DSP28335之ADC采样模块ADC外设模块和电流采样的处理过程,可以参考上面的超链接,本期文章重点介绍一下ADC外设模块的采样功能在控制板和驱动板上(不连接电机)的测试过程:首先断开电机连接,使用仿真器连续读取AD采样结果寄存器的值,此时的采样值即为电流零点。观察电流零点的稳定性,一般来说,如果电流采样的稳定性较好,AD结果寄存器中只会有最后一两位在波动。若电流零点波动得较严重,说明采样稳定性很差,此时需要在程序中增加滤波算法。理论值为2252。(为什么?)3/4096=1.65/x,x=2252.不连接电机,只能测试零点,寄存器的值(理论值)是2252.三、硬件平台的功能实测3.1 ePWM外设模块的功能测试 值得注意的是,本程序的配置方法是Epwm1A的波形来自ePWM1B的反转,并加入死区时间,我们给EPwm1Regs.CMPB中装入值,产生ePWM1B波形,然后通过死区模块,就产生了对称互补带死区的两路PWM波。死区采用ALC方式,即EPWM1A反转极性。低电平有效,互补输出。具体波形如图: 图带死区的对称互补PWM波形产生原理 注意:该方式适用于低电平有效的驱动芯片。 矢量控制中,一般需要六路并分为三组的PWM输出,配置为两两互补导通的形式,按照寄存器定义配置好模块后,需要验证配置的正确性。 断开电机连接,理论上依次将U、V、W三相的占空比设置为0、100%、50%,使用万用表测量对应端口的电压,0占空比时输出电压应接近0V,100%占空比时接近母线电压,50%占空比时为母线电压的一半。 直接给IGBT开关管的占空比进行赋值: MotDriv.Ta_cmpa = 0.6; MotDriv.Tb_cmpb = 0.4; MotDriv.Tc_cmpc = 0.2; 即给ePWM模块的比较寄存器CMPB中设定值为: EPwm1Regs.CMPA.half.CMPA =0.6*TBPRD=5625(60%); Epwm2Regs.CMPA.half.CMPA =0.4*TBPRD=3750(40%); Epwm3Regs.CMPA.half.CMPA =0.2*TBPRD=1875(20%); ePWM1A ePWM1B ePWM2A ePWM2B ePWM3A ePWM3B 60% 40% 40 60% 20% 80% 程序中通过死区模块,采用ALC:EPWMA反转极性,即低电平有效,互补输出的方式(该方式用于低电平有效的驱动芯片),产生了带死区的互补PWM。 死区占空比为:150/9375=1.6% 因此最终的6路PWM占空比应该为: ePWM1A ePWM1B ePWM2A ePWM2B ePWM3A ePWM3B 61.6% 41.6% 41.6% 61.6% 21.6% 81.6% 硬件验证(重要,完成这部分验证,SVPWM模块的实现到此完成): 实验序号 直流母线电压24V 占空比设置 理论电压 实际电压 1 MotDriv.Vv=0.6 14.4V 14.78V MotDriv.Vv=0.4 9.6V 9.89V MotDriv.Vv=0.2 4.8V 5.00V 实际示波器的实验图(分为两部分:一是ePWM的占空比;二是对应相的相电压。): 在控制板上进行验证。 可见,硬件上对应的PWM引脚输出与理论相符,说明ePWM配置和SVPWM实现正确。 以上的硬件实验是在控制板上进行验证的,但相同的代码放在另外控制板上,PWM引脚没有波形显示,这是为什么? 在ePWM模块底层配置那里加了TZ保护,先将其注释掉,重新上电烧入程序,示波器的波形与上述一致。 调试总结:在调试单个模块时,尽量把所有的保护都关掉。 TI文档关于七段式SVPWM在CCS中的实现(归一化): 3.2 ADC外设模块的功能测试首先断开电机连接,使用仿真器连续读取AD采样结果寄存器的值,此时的采样值即为电流零点。观察电流零点的稳定性,一般来说,如果电流采样的稳定性较好,AD结果寄存器中只会有最后一两位在波动。若电流零点波动得较严重,说明采样稳定性很差,此时需要在程序中增加滤波算法。理论值为2252。(为什么?)3/4096=1.65/x,x=2252. 四、总结图4.1 ePWM外设模块的底层配置示意图4.1 下期文章重点介绍eQEP外设模块和速度、位置的获取,以及预定位+IF控制,测试内环的实现;来源:浅谈电机控制

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈