matlab 变幅变频的力(旋转机械的启动和停止)

ve7v8dk2  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(171)

我有一台静止模式的机器。当它开始运行时,它的频率线性变化(从0到完全工作频率),然后变得恒定,最后开始线性减少(从完全工作频率到0)。
为此,我编写了以下代码:

te = 300;     % seconds - time to get fully operative 
              % (to arrive from 0 to fully operational frequency) 
              % and to stop (from fully operational to 0)
me = 10;      % eccentric mass
e = 0.5;      % eccentricity of the eccentric mass
omega=0.2;    % fully operational force frequency

%   i need three time vectors 
tt0=[0:0.1:te];                 %   uphill frequency part (from 0 to fully operational frequency)
tt1=[te+0.1:0.1:1.5*te];        %   permanent fully operational frequency part 
tt2=[1.5*te+0.1:0.1:2.5*te];    %   downward frequency part (from fully operational frequency to 0)

tt_1=[tt0,tt1,tt2];             %   whole time vector

n7=numel(tt_1);
n5=numel(tt0);
n6=numel(tt1);
n8=numel(tt2);

%   create a 3 force frequency vectors 
delta_omega1=omega/(n5-1);
delta_omega2=omega/(n8-1);
omega000=[0:delta_omega1:omega];    %   from 0 to fully operational frequency
omega001=omega*ones(1,n6);          %   permanent fully operational frequency part
omega002=[omega:-delta_omega2:0];   %   from fully operational frequency to 0

omega00=[omega000,omega001,omega002];   %   whole force frequency vector

p00=zeros(n7,1);
p_0010=zeros(n5,1);
p_0011=zeros(n6,1);
p_0012=zeros(n8,1);
p_001=zeros(n7,1);

%   force amplitude calculation
for j=1:n7
    p00(j,1) = (me*e*omega00(j)^2);
end
        
   
%   then i create 3 sin force vectors (for 3 different force frequency laws)
 for j=1:n5
    p_0010(j,1) = p00(j,1)*sin(omega/(2*te)*(tt0(j))^2);
end

for j=1:n6
    p_0011(j,1) = p00(j+n5,1)*sin(omega*te+omega*(tt1(j)-te));
end
    
for j=1:n8
    t2=tt2(1);
    p_0012(j,1) = p00(j+n6+n5,1)*sin((-1/2*omega*te+omega*tt2(j)-...
        1/2*omega/te*((t2-te)^2+(tt2(j)-t2)^2)));
end

p_001=[p_0010;p_0011;p_0012];   %   whole force vector

figure (1)
plot (tt_1,omega00)
xlabel('time')
ylabel('force frequency')
grid on;
hold on

figure (2)
plot (tt_1,p_001)
xlabel('time')
ylabel('applied force')
grid on;
hold on

这导致了

这是正确的。
但力图:

是不正确的。
我怎么才能解决这个问题呢?我不需要力图上的任何不连续(因为它会使我的系统产生奇怪的行为,就像这个奇点上的“寄生虫共振”)。

fnatzsnv

fnatzsnv1#

你对力的表述是错误的。对于不平衡力,只有当转速omega恒定时,它的表达式才是me*omega^2*sin(omega*t)。如果转速不是恒定的(就像它线性增加或减小的情况一样),则其完整表达式为

对于旋转机械,你应该在水平和垂直方向上有不平衡力(上面的力矢量上的第二和第三项)。δ为相角,ϕ_DOT为转速,ϕ_DDOT为旋转加速度。请注意,对于线性增大或减小的转速,ϕ_ddot=α=Constant,因此力表达式应该包含一个项
α*cos(phi)
对于恒定加速度,Angular 位置正如您定义的那样。只需正确定义每个时间间隔的初始角位置phi_0(它们不是零,它们是前一个时间间隔的最后位置)。

相关问题