无刷电机三相间的相位问题的研究

        初始轴采用Ualpha,对于极对数为2的电机,在机械角旋转周期0-pi内,其所在电角度控制的电源周期为2*pi,其电角度正弦变化如图1所示。从图中来看,红色曲线横坐标从0开始所对应的电角度超过45度(0.785rad)时,同一高度也可以在不同横轴表示,离峰值越近,纵轴分辨率越弱。

图1

图2

        从图1来看,由于相位差为120度的关系,也无法用其他相来表示唯一的横轴,也不如Ualpha相表示来的便捷,另外对于这极对数为2的电机,单次变化的最小控制电角度必须小于45度(0.785rad),否则控制过程失效。图2代码段表示的是帕克逆变换和克拉克逆变换的过程,Ualpha是sin正弦变化加偏移,偏移是防止输出小于0,加一个偏移量的原因是因为PWM设置值需大于0。

        用来表示图1的代码如下

clear

clc

angle = 0:0.001:pi;

voltage_power_supply=50;

Uq = voltage_power_supply/3;

a = mod(angle*2, 2*pi);% angle*2的2表示极对数2

if a>=0%归一化到0到2*pi之间

    angle_el = a;

else

    angle_el = a + 2*pi;

end

% 帕克逆变换

Ualpha =  -Uq*sin(angle_el);

Ubeta =   Uq*cos(angle_el);

%   克拉克逆变换

Ua = Ualpha + voltage_power_supply/2;

Ub = (sqrt(3)*Ubeta-Ualpha)/2 + voltage_power_supply/2;

Uc = (-Ualpha-sqrt(3)*Ubeta)/2 + voltage_power_supply/2;

figure

plot(angle_el,Ua,'r')

grid on

hold on

plot(angle_el,Ub,'g')

hold on

plot(angle_el,Uc,'b')

        图3表示的是机械角度为0.4rad,即电角度为0.8rad一个向量图,红色是Ualpha相。

图3

        用来表示图3的代码如下

clear
clc
angle = 0.4;%机械角度
Uq=50;
a = mod(angle*2, 2*pi);% angle*2的2表示极对数2
if a>=0 %归一化到0到2*pi之间
    angle_el = a;
else
    angle_el = a + 2*pi;
end
%帕克逆变换
Ualpha =  -Uq*sin(angle_el); 
Ubeta =   Uq*cos(angle_el); 
% 克拉克逆变换
Ua = Ualpha;
Ub = (sqrt(3)*Ubeta-Ualpha)/2;
Uc = (-Ualpha-sqrt(3)*Ubeta)/2;
VA=Ua;VB=Ub*exp(1i*240/360*pi);VC=Uc*exp(1i*480/360*pi);
V=VA+VB+VC;
compass(V,'k');
xlim([-180, 180]);
ylim([-180, 180]);
hold on
compass(VA,'r');
hold on
compass(VB,'g');
hold on
compass(VC,'b');

### 无感无刷电机相电压波形特征 对于无感无刷电机,在六步方波驱动模式下,相电压波形呈现出特定的周期性和规律性。由于该类电机不依赖霍尔传感器或其他位置反馈元件来检测转子的位置,而是通过监测反电动势(Back EMF)的变化来进行换向操作。 #### 反电动势与相电压的关系 当电机运行时,随着转子旋转,定子绕组中的感应电动势会随时变化。在理想情况下,每一步切换过程中,两个导通状态之的过渡会产生明显的过零点现象[^1]。这些过零点可以被用来判断当前转子的具体角度位置,从而实现精确的换向控制。 #### 六步步进下的相电压特性 在一个完整的电气周期内,三个相位A、B、C依次轮流作为高电平输出端口,并且每次只改变一对线圈的状态。因此,各相相对于公共端GND而言会出现如下特点: - **正弦成分缺失**:因为采用了矩形脉冲供电方式而非连续电流源激励,所以实际测得的相差分信号并非标准正弦曲线; - **尖峰脉冲存在**:每当发生开关动作瞬,由于快速上升沿/下降沿的存在,会在相应时刻观察到短暂但显著幅度增大的瞬态波动; - **准梯形分布**:整体来看,单个相上的平均有效值接近于梯形形状,这有助于简化控制系统的设计并提高效率。 ```matlab % MATLAB仿真代码用于绘制典型无感BLDC电机一相电压波形图 t = linspace(0, 6*pi(), 1e3); % 时轴定义覆盖至少一个完整机械周期 V_phase_A = square(t - pi()/2) .* (abs(mod(t, 2*pi()) - pi()) < pi()); % 构造模拟相A电压序列 plot(t,V_phase_A,'LineWidth',1.5); xlabel('Time(s)'); ylabel('Voltage(V)'); title('Simulated Phase Voltage Waveform of Sensorless BLDC Motor'); grid on; ``` 此段MATLAB脚本可用于生成近似描述某一固定时段内的某单一相位所经历的一系列高低交替变换过程图像表示形式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_16728287

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值