Motoharw平台电机控制策略Simulink仿真实现

一、理论基础

HCU的控制算法开发是一个极其复杂的过程。其过程包括多个步骤:功能概念定义、算法开发、软件编程、底层操作系统和驱动程序开发、匹配标定及验证、ECU软件灌装等。这些步骤在多数情况下相互关联且反复循环。MotoTron公司的基于产品级ECU的控制策略快速开发平台(包括:MotoHawk算法开发软件,MotoTune刷写及标定软件,产品级ECU硬件)配合ATI公司的VISION标定工具,可为客户提供一套完整的解决方案。

MotoHawk - Production ECU-based Rapid Prototyping

MotoHawk是基于MotoTron的ControlCore产品级软件架构和产品级ECU硬件下的策略开发软件,开发人员在Matlab/Simulink/Stateflow/RTW 编译环境下编写基于体系结构的应用软件,其可应用在ECU开发、标定及测试的各个阶段。MotoHawk利用产品级ECU硬件平台,集成了车上常用的传感器接口和执行器驱动,大大缩短了从开发到产品化的周期,降低成本。  

二、核心程序

基于motoharw平台的电机控制策略模型simulink仿真实现_电机控制策略

这个是基于原来那个模型,做了部分简化,然后增加了一个stateflow控制模块,其内部的状态转移结构如下所示:

基于motoharw平台的电机控制策略模型simulink仿真实现_数据_02

速度大于2000为状态0,速度小于2000位状态1,如果没有外部输入激励,状态2.

登录后复制

clc;clear;close all;warning off;%加载数据load train_data.matdata1    = a(:,2);data2    = a(:,3);
E        = data1 - data2;Ec       = diff(E);E        = E(1:length(Ec));pstudy1  = E;pstudy2  = Ec;
trnData1 = pstudy1;trnData2 = pstudy2;trnData  = [trnData1,trnData2,data1(1:length(Ec))];
%由训练数据直接生成模糊推理系统numMFs = 7;%隶属度函数个数mfType = 'gbellmf';
%类型fisMat = genfis1(trnData,numMFs,mfType);[x1,mf1] = plotmf(fisMat,'input',1);
%初始隶属度函数[x2,mf2] = plotmf(fisMat,'input',2);%初始隶属度函数figure;subplot(121);
plot(x1,mf1);title('E-Initial membership functions');subplot(122);plot(x2,mf2);
title('Ec-Initial membership functions');%使用进行给定数据的神经模糊建模numEpochs=400;
%训练次数fisMat1=anfis(trnData,fisMat,numEpochs);%训练后模糊推理系统的隶属函数曲线[x1,
mf1]=plotmf(fisMat1,'input',1);[x2,mf2]=plotmf(fisMat1,'input',2);figure;subplot(121);
plot(x1,mf1);title('E  - Fiual Membership Functions');subplot(122);plot(x2,mf2);
title('Ec - Fiual Membership Functions');% save patient1.mat fisMatsave patient2.mat fisMat1figure;
plot(data1(1:length(Ec)),'b');hold onplot(evalfis([E,Ec],fisMat1),'r-o');hold off;1.2.3.4.5.6.7.8.9.10.11.
12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.

三、仿真测试结果

为了测试方便,我这里做的简化,主要有如下几个方面:

第一、去掉了原来的模糊控制器,这样仿真速度可以快点,测试简单;

第二、将控制模型简化了,用一个传递函数来表示;

第三、增加了stateflow状态转移控制器。


仿真结果如下所示:

基于motoharw平台的电机控制策略模型simulink仿真实现_电机控制策略_03

基本上信号的输入输出都需要借助工具箱中的CANread和CANsend模块进行输入输出。因为这个涉及到硬件,所以你这边自己需要根据硬件设备对CANread和CANsend做简单的配置。

然后我仔细看了下硬件设备的接口配置,所以我们需要预留如下接口,作为在环设计的输入和输出接口。

再整个模型中,首先放如下如下的模块:

基于motoharw平台的电机控制策略模型simulink仿真实现_状态转移_04

另外,再设置下canread和canwrite就可以了。我提供的第一个文件夹的工程,就是用来给你熟悉设备使用的。




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空