资讯详情

使用Simulink进行无刷直流电机控制仿真

这段时间才开始接触Matlab中的Simulink模拟,我结合自己的专业,用它Simulink由于无刷直流电机的模拟,Simulink工具箱中有许多可用的模块,因此建模过程变得非常简单。

在Matlab界面中new->model之后,找到Simulink Library Browser,系统中有许多模块。接下来,我们需要找到我们需要的模块。在了解无刷直流电机的工作原理后,我们需要找到直流电源、三相逆变桥和无刷直流电机模型。Simulink这些模型也可以通过搜索关键字直接找到,即DC Voltage Source、Universal Bridge、Permanent Magnetic Synchronous Machine。下一步是连接相应的信号,如下图所示

da00fdb3c3c92c3ec1157165e1cfc6ce.png

其中,可以设置直流端电压,逆变桥可以选择开关设备类型,我们在这里选择Mosfet,PMSM我们选择反电势波形trapezoidal即梯形波,根据实际值设置电机参数相电阻、相电感、反电势常数和极对数。Universal Bridge对应以下桥式拓扑结构。

d94e80b735dac71f5251964b8c49cf20.png

然后添加相应的负载Tm,通过给定函数,可以模拟突加载、突减载和任意变化的载荷。然后是开关信号g,下面将详细介绍。模型构建完成后,如下图所示。

8c041355b1a4b28b6852fe01fbdfd830.png

PMSM通过输出端给出的信号Bus Selector选择,我们需要使用三相霍尔信号来获得相应的开关逻辑,这也是模拟的关键,在整个模型中Subsystem1是实现开关逻辑的算法。我们可以根据霍尔的真实值表通过相应的逻辑门实现,但模型不灵活、繁琐,无法模拟先进或滞后的外观。这就是为什么我在这里使用它Matlab Function来实现的。

98743f579e57e1a1bb1aff93dee0345f.png

如上图所示,这是一个换相逻辑模型,其中我使用下桥臂恒通和上桥臂恒通PWM调制方法导通Mosfet,目前空比的给定方法是常数,后续可以根据转速环进行PI给定。换相是根据换相真值表来的。

霍尔信号

Mosfet导通真值表

导通相

Ha

Hb

Hc

Q1

Q2

Q3

Q4

Q5

Q6

0

0

1

0

0

0

1

1

0

CB

0

1

0

0

1

1

0

0

0

BA

0

1

1

0

1

0

0

1

0

CA

1

0

0

1

0

0

0

0

1

AC

1

0

1

1

0

0

1

0

0

AB

1

1

0

0

0

1

0

0

1

BC

下一步是根据真值表编写相应的开关逻辑代码,

1 function [y1,y2,y3,y4,y5,y6] =fcn(ha,hb,hc,theta)2 y1=0;y2=0;y3=0;y4=0;y5=0;y6=0;3 tmp=hc*4 hb*2 ha;4 if tmp==4

5 y1=0;y2=0;y3=0;y4=1;y5=1;y6=0;6 end7 if tmp==6

8 y1=0;y2=1;y3=0;y4=0;y5=1;y6=0;9 end10 if tmp==2

11 y1=0;y2=1;y3=1;y4=0;y5=0;y6=0;12 end13 if tmp==3

14 y1=0;y2=0;y3=1;y4=0;y5=0;y6=1;15 end16 if tmp==1

17 y1=1;y2=0;y3=0;y4=0;y5=0;y6=1;18 end19 if tmp==5

20 y1=1;y2=0;y3=0;y4=1;y5=0;y6=0;21 end22

23 end

添加代码后,可以配置Mosfet上下桥臂的导通模式,我在这里使用上桥臂PWM调制,下桥臂导通模式,即H_PWM-L_ON方法。一切都准备好了。让我们来看看模拟结果。A相电流、霍尔信号和转子机械角度如下图所示。

2c3027f4f333c0020abd78100e837a72.png

9ab6c80eeb4686ffa82f18291a95a448.png

标签: 无刷电机无位置传感器启动

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台