机械工程论文

您当前的位置:学术堂 > 工程论文 > 机械工程论文 >

电机控制系统开发及模型设计

来源:硅谷 作者:王海滨;闫鹏程;武涛
发布于:2020-09-02 共1744字

  摘要:随着现代控制技术的发展, 控制算法越来越复杂, 控制算法的自动验证和代码自动生成已经成为趋势。传统的电机控制算法开发是系统仿真, 编写代码, 最后测试。采用传统手工编程的方式去编写复杂的控制算法, 对于初学者来说难度非常大。对于算法设计人员来说, 需要一种方法能够解决以上问题。

  关键词:基于模型的设计; Embedded Coder; 磁场定向算法; 永磁同步电机; PIL;

目录

  1电机控制系统开发流程…………………………………………………………1

  2建模规范检查与测试…………………………………………………………2

  3处理器在环测试…………………………………………………………3

  4总结…………………………………………………………4

  文内图表…………………………………………………………5

  图1 PIL工作流程图…………………………………………………………6

  图2 PIL仿真结果图…………………………………………………………7

  图2 PIL仿真结果图…………………………………………………………8

  参考文献…………………………………………………………9

永磁同步电机

  Matlab提供的基于模型设计平台 (Model Based Design, MBD) , 可以实现从需求分析到代码验证的整个开发过程, 用户可以建立系统级模型的仿真验证, 优化系统参数, 自动生成高效的目标器件专用代码。利用Matlab提供的开发环境, 用户可以开发和验证控制算法, 成功的完成从算法的设计验证到自动生成代码过程。

  1 电机控制系统开发流程

  在开发中, 首先是通过文本需求建立可执行文档, 在这一部分中, 主要是建模, 通过建模可以避免传统文本的弊端, 通过可视化和可执行化的模型避免文本需求的歧义和冗余。建模之后, 为生成符合相关安全标准的代码, 需要对模型进行建模规范检查, 使用Simulink V&V工具集可自动完成这一流程。为验证算法的正确性, 模型检查通过后, Matlab提供的System Test (系统测试) 与Simulink Design Verifier (设计验证器) 工具可以完成对控制系统的测试。模型测试后, 使用Embedded coder工具生成嵌入式代码, 通过编译连接生成目标代码, 下载到处理器中做代码的等效性测试, 如处理器在环测试 (PIL) 等。通过这完整的流程, 从文本需求到系统测试提供了一个统一的平台, 方便开发人员交流, 极大的提高了开发的效率。

  2 建模规范检查与测试

  模型出来并且可以编译之后, 首先要做建模标准检查, 这个过程使用工具Simulink Verification&Validation工具集提供的model advisor自动化的完成。Model Advisor可以理解模型的静态检查, 用来验证模型是否正确的搭建出来。这是建模检查的第一步, 对建立的模型进Model Advisor检查, 这在设计初期非常重要, 用户通过检查, 能够找出模型中与建模标准或者安全标准不相符合的部分, 对模型中隐含的问题给予警告, 并且指导用户修改, 是代码生成前重要的工作。Model Advisor提供了常见的建模标准和安全标准供用户选择, 同时通过API接口, 用户可以建立自己公司的建模标准。

  3 处理器在环测试

  图1 PIL工作流程图  

  处理器在环测试是在Simulink中搭建被控对象的模型, 而将控制器算法代码下载到目标处理器中去执行, 通过串口或者网络接口通信, 对处理器和Simulink进行实时数据交换, 这种硬件在环实时仿真技术可以反映控制器的实际工作情况, 得到算法的执行时间, 便于及早的发现错误。其工作原理如图1所示。

  PIL环节是基于模型设计中非常重要的环节, 因为系统控制系统模型的仿真只能验证算法的正确性, 但是由于算法对处理器性能要求很高, 算法的执行时间直接关系到整个控制系统是否稳定。在电机控制系统中, 如果FOC算法的执行算法的时间大于PWM的周期, 则会导致整个系统无法工作。

  对于处理器在环测试设置比较复杂, 所以为能够完成自动化的测试, 本文建立自动化的测试程序如下:

  其中model为系统仿真的模型, 通过上述程序既可以自动进行PIL测试。用户运行profile (IDE_Obj, 'execution', report) 即可以生成代码实时运行的结果如图2所示。

  图2 PIL仿真结果图  

  图2 PIL仿真结果图  

  4 总结

  基于模型的设计优势在于算法的早期验证, 使得开发者可以将主要精力放在算法开发上, 代码则由Matlab自动生成, 很好的提高工作效率。在实际的开发中, 将算法生成为函数进行调用, 一般底层驱动和控制流程使用汇编语言或者C手工编写。如果通过Matlab对底层驱动建模则十分复杂, 得不偿失, 控制流程开发也没有C语言灵活。

  参考文献
  [1]刘杰。基于模型的设计及其嵌入式实现[M].北京:北京航空航天大学出版社, 2010.
  [2]The MathWorks, Inc.Embedded coder6 Geting Started Guide, April 2011.
  [3]The MathWorks, Inc.Embedded coder 6 User's Guide, April 2011.
  [4]The MathWorks, Inc.Stateflow 7 Geting Started Guide, April 2011.

作者单位:安徽理工大学电气与信息工程学院
原文出处:王海滨,闫鹏程,武涛,欧栋杰.基于模型设计在机电系统开发中的应用[J].硅谷,2014,7(05):53+52.
相关内容推荐
相关标签:机电工程师论文
返回:机械工程论文