tms320f28335simulink模型驱动sipmsm【字数:17791】

摘 要本文针对永磁同步电机控制系统使用DSP等微控制器代码开发难度高、开发周期长且手动转化为C代码效率低的问题,采用基于Simulink模型的嵌入式C代码自动生成并部署的方案。在Simulink环境下快速搭建算法模型并验证,通过Simulink的硬件支持包对接模型与实际硬件系统,将仿真的控制算法直接转化为嵌入式C代码工程,并编译为DSP可执行文件进行下载。采用基于Simulink模型的DSP嵌入式C代码自动生成的设计,使用矢量控制算法控制永磁同步电机。首先是Simulink模型进行硬件开发的软件环境的搭建,之后对实际的硬件环境进行了分析,然后在Simulink中建立了矢量控制算法并部署到硬件,最后针对调试参数与监控数据较为繁琐的问题利用LabVIEW设计了上位机软件,最后在硬件平台成功地验证了本文的研究内容,印证了本课题的可行性与优越性。
目 录
1绪论 1
1.1课题研究背景 1
1.2课题研究现状 1
1.3课题研究主要内容 2
2基于Simulink模型驱动的环境搭建 3
2.1 基于Simulink模型的设计所需的软件 3
2.2 CCS 6.0 IDE的安装与配置 3
2.3 ControlSuite的安装 4
2.4 Texas Instruments C2000 Ware的安装 4
2.5 Simulink C2000硬件支持包的安装 4
3 F28335永磁同步电机控制板设计 7
3.1 TMS320F28335最小系统 7
3.2 三相逆变桥及其驱动 8
3.3 旋变位置与速度测量电路 9
3.4 母线电压采集电路 10
3.5 母线电流采集电路 11
3.6 相电流采集电路 12
4 Simulink矢量控制算法的搭建与代码生成 14
4.1 永磁同步电机矢量控制算法简介 14
4.2 基于Simulink模型的矢量控制模型搭建 15
4.2.1 母线电压电流采样模块 15
4.2.2 相电流采样模块 15
4.2. *好棒文|www.hbsrm.com +Q: ^351916072# 
3 旋变解码芯片数据读取与电角度的计算 16
4.2.4 ePWM模块 19
4.2.5 中断触发程序搭建 20
4.2.6 Clark变换与Park变换模块 21
4.2.7 Park反变换模块 22
4.2.8 SVPWM调试模块 22
4.2.9 转速电流双闭环模块 26
4.3 矢量控制模型的自动代码生成 27
4.3.1 模型参数设置 27
4.3.2 自动代码生成工程报告 27
6 LabVIEW上位机软件设计 29
6.1 LabVIEW上位机软件设计思路 29
6.2 LabVIEW串口通讯程序设计 29
6.3 LabVIEW前面板设计 32
6.4 LabVIEW整体程序框图设计 33
7 实验环境搭建与验证 35
7.1 实验环境搭建 35
7.2 实验数据与波形 37
8 总结 40
8.1 全文总结 40
8.2 对环境和可持续发展的影响 40
8.2.1 课题对环境和可持续发展的影响 40
8.2.2 涉及的法律法规 40
参考文献 42
致谢 43
附录 44
附录A DSP控制板总电路 44
附录B DSP控制板实物 45
附录C LabVIEW上位机完整程序框图 46
1绪论
1.1课题研究背景
随着电机控制技术的不断进步,一方面控制算法越来越先进复杂,MCU/DSP控制芯片不断推陈出新,传统的电机控制系统开发流程,即建模、控制器设计、仿真、硬件原型制作,嵌入式驱动与控制软件开发,系统调试,定型,交付的流程越来越不能适应生产力的发展,不利于效率的提升。
传统的开发模式需要电机控制算法开发人员精通各种仿真验证技术和控制算法,而实际的算法部署又需要专业的嵌入式微控制器开发人员将控制算法部署到具体的硬件,而后进行上电验证运行。若算法未达成设计的性能要求,则需要重新设计升级算法,而后再进行一个完整的流程,这样极大地降低了开发的效率,延长了开发周期。因此为了加快进度往往需要算法设计人员同时精通微控制器的开发,即算法设计人员同时担任嵌入式微处理器开发的工作,这样虽然减少了人员数量,和中间环节,但是也使得算法开发人员既不能专注于算法的设计,也跟不上微处理更新换代的速度,使得效率并没有实质性的提升。
1.2课题研究现状
随着永磁同步电机控制技术的发展,控制器选择趋势是向外设资源丰富、运算性能强大的DSP,甚至是FPGA。性能强劲、外设丰富固然为更好地部署先进的控制算法建立了良好的环境,于此同时也提升了开发难度与周期。
MATLAB & Simulink软件广泛应用于控制算法仿真与验证,随着其影响力的不断壮大,传统电机控制系统的开发模式的弊端也越加凸显出来,各芯片厂商与MathWorks开始合作推出各自的硬件支持包,使得Simulink仿真模型直接生成嵌入式C代码成为了可能。
随着Simulink硬件支持包的不断扩展,其功能模块也越来越完善,能实现的功能越加丰富与强大。同时微控制器计算性能的提升,时钟频率的提升,越来越多的先进外设的加入(如浮点运算单元),性能已不再是限制控制算法发展的瓶颈,因此Simulink生成的代码具备了与传统模式开发的代码相媲美的性能。因此开始有越来越多的开发人员开始应用这一技术,并在国外被广泛应用实验教学、汽车仿真控制、数字图像处理、通信等领域。
虽然Simulink开发嵌入式应用已经成为一种切实可行的方法,但是与传统开发方式仍有很大区别,这些是非常值得注意的问题。首先是区别于C开发顺序执行的特性,Simulink是基于数据流的,并不存在顺序执行的概念,因此传统编程思维与Simulink生成代码的逻辑实现完全不同,因此在处理时序的时候非常麻烦,往往需要使用状态机来实现时序。此外Simulink中以数据流代替了变量的作用,并且默认使用双精度浮点计算,因此在建模时需要格外注意变量的类型。总体来说Simulink基于模型的开发模式存在着诸多的限制,因此要在此基础上做开发必须对其非常熟练,能够灵活的在有限的模块的基础上实现既定的功能。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/1116.html

好棒文