ソースを参照

feat:增加纯负载扫频模型

guohui27 1 年間 前
コミット
6ba0988eae

BIN
tests/sim/EbikeLoadFreqSweep.slx


+ 15 - 0
tests/sim/init_model.m

@@ -10,6 +10,21 @@ Psif=0.0048;
 J=2500e-7;
 InerRate=1;
 
+% Load Parameter 
+Trans_ratio=35;
+J_Gear=J*Trans_ratio*Trans_ratio;
+JL = 0.3;   %负载转动惯量
+Bm = 0.1;     %传动轴阻尼系数
+Chain_stiff = 2.5e5;
+K = Chain_stiff / 160;     %柔性连接弹性系数
+m = 1;  %骑行者质量
+
+% Control Parameter 
+J_ctrl=2500e-7*2;
+w0 = 12*2*pi;
+delta1=0.005;
+delta2=0.5;
+
 % AC Voltage 
 Vac=310;
 

+ 3 - 3
tests/sim/m_sequence.m

@@ -1,13 +1,13 @@
 f = 500;
 Ts = 1/f;    %设置采样周期
 n = 12;        %设置数据个数
-Mag = 3;       %设置幅值 
+Mag = 0.1;       %设置幅值 
 p = 2^n-1;
 ms = Mag * idinput(p,'prbs');
 t = 0:Ts:Ts*(p-1);
 %M =[t',ms];   %生成M序列
-t2 =  0:Ts:Ts*(3*p-1);
-ms2 = [ms;ms;ms];
+t2 =  0:Ts:Ts*(20*p-1);
+ms2 = [ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms;ms];
 M =[t2',ms2];   %生成M序列
 
 

+ 1 - 1
tests/sim/sim_board/peripheral

@@ -1 +1 @@
-Subproject commit 1f1c65651a75b403083175704ddc47e4b3fcef25
+Subproject commit ed5ae538b4ff00d9ebaad085da03062f60558d9b

+ 43 - 6
tests/sim/sweep_etfe.m

@@ -4,13 +4,50 @@
 % Simulink配置:将输入和输出信号接入同一个Scope,变量名‘spd’,与第8、9行对应,array格式
 % 第11行:M序列时间间隔默认为200us,T设置为0.0002
 
-figure(6)
-u=out.spd(:,2);    %输入信号
-y=out.spd(:,3);    %输出信号
-
+figure()
 T = 0.002;
 N = 2^12;
+
+u=out.spd1(:,2);    %输入信号
+y=out.spd1(:,3);    %输出信号
+% for i=1:1:4100
+% y(i,1)=-4000;
+% end
 data = iddata(y,u,T);
-me = etfe(data,512,N)
-bode(me,'b')
+me1 = etfe(data,512,N);
+
+% u=out.spd2(:,2);    %输入信号
+% y=out.spd2(:,3);    %输出信号
+% data = iddata(y,u,T);
+% me2 = etfe(data,512,N);
+% 
+% u=out.spd3(:,2);    %输入信号
+% y=out.spd3(:,3);    %输出信号
+% data = iddata(y,u,T);
+% me3 = etfe(data,512,N);
+% me2 = me2-me3;
+
+% u=out.spd5(:,2);    %输入信号
+% y=out.spd5(:,3);    %输出信号
+% data = iddata(y,u,T);
+% me5 = etfe(data,512,N);
+
+% u=out.spd6(:,2);    %输入信号
+% y=out.spd6(:,3);    %输出信号
+% data = iddata(y,u,T);
+% me6 = etfe(data,512,N);
+% 
+% u=out.spd7(:,2);    %输入信号
+% y=out.spd7(:,3);    %输出信号
+% data = iddata(y,u,T);
+% me7 = etfe(data,512,N);
+% me6 = me6-me7;
+
+
+P = bodeoptions;
+P.FreqUnits='Hz';
+
+bode(me1,P,'b')
+
+
 % title('Random')