MATLAB How to simulate a Brushless dc motor drive in MATLAB/SIMULINK? thanks.

Click For Summary
SUMMARY

This discussion focuses on simulating Brushless DC (BLDC) motors in MATLAB/SIMULINK, specifically addressing challenges with voltage source inverters and hysteresis current blocks. Users shared resources, including master's theses and MATLAB files, to aid in simulation. Key suggestions include using an M-code block for bridge voltage coding and starting with a brushed DC motor model for simpler simulations. The conversation highlights the importance of understanding the control schemes, such as PWM and hysteresis, for effective modeling.

PREREQUISITES
  • Familiarity with MATLAB/SIMULINK, specifically version 7.9.0 (R2009b)
  • Understanding of Brushless DC motor principles and control schemes
  • Knowledge of voltage source inverters and their simulation
  • Basic concepts of hysteresis current control in motor applications
NEXT STEPS
  • Research the implementation of M-code blocks in MATLAB/SIMULINK for motor simulations
  • Learn about voltage source inverter modeling techniques for BLDC motors
  • Explore adaptive zero-crossing detection algorithms in MATLAB to resolve simulation errors
  • Investigate the differences between brushed and Brushless DC motor models for accurate simulations
USEFUL FOR

Engineers, researchers, and students involved in motor control systems, particularly those working with Brushless DC motors in simulation environments like MATLAB/SIMULINK.

tonylim456
Messages
9
Reaction score
0
I have uploaded the journals which related to the brushless dc motor. I encountered the problems as i don't know how to simulate the voltage source inverter of the Brushless dc motor system (the generation of inverter line to line voltages) and the hysteresis current block. i really need help.. thank you so much. I tried it for a month, still have get it.. i appreciate anyone who can help me. thanks
 

Attachments

Physics news on Phys.org
tonylim456 said:
I have uploaded the journals which related to the brushless dc motor. I encountered the problems as i don't know how to simulate the voltage source inverter of the Brushless dc motor system (the generation of inverter line to line voltages) and the hysteresis current block. i really need help.. thank you so much. I tried it for a month, still have get it.. i appreciate anyone who can help me. thanks

Hello.

I have run across a few masters thesis papers that show how to simulate BLDC motors. They were written within the last decade. One was from sweden . . wish I had the links.

I think the challenge depends on how accurately you want to model the motor. For most controller purposes, it can be modeled as a brushed DC motor. Is this sufficient, or are you attempting a lower level simulation?

If you wish to go in more depth, then I would offer the idea of using an M-code block in simulink to code the bridge voltages to the motor. There are switch blocks that you can send signals to tell them to switch the connections under certain conditions.

I don't know anything about hysteresis current blocks in BLDCs.
 
I just saw the 2nd attachment you provided. That is definitely an in depth model.

It looks like current hysteresis is a control scheme, not a model of the actual BLDC motor. Are you implementing this controller or the PWM method?
 
DragonPetter said:
I just saw the 2nd attachment you provided. That is definitely an in depth model.

It looks like current hysteresis is a control scheme, not a model of the actual BLDC motor. Are you implementing this controller or the PWM method?

Hello dragon,
Actually i just require a lower simulation which i can take the value of rpm and the torque from this motor simulation. and i come across one report which is doing the same brushless dc motor and i have uploaded "THE LINK of the file: http://www.mathworks.com/matlabcentral/fileexchange/5042-simulink-simulator-for-a-brushless-dc-motor ". the report is likely showing pretty much of everything as in theory and together with the MATLAB/SIMULINK simulation. however, when i try to run the simulation the following error come out. I have to admit my Matlab's skill is not up to the standard yet. Any good suggestion to find up what is the error? and how to fix it as i am using Matlab 7.9.0 (R2009b) thanks.
"At time 0.000515931912672372, simulation hits (1000) consecutive zero crossings. Consecutive zero crossings will slow down the simulation or cause the simulation to hang. To continue the simulation, you may 1) Try using Adaptive zero-crossing detection algorithm or 2) Disable the zero crossing of the blocks shown in the following table."

thanks for you kindly reply. appreciate it so much, thanks God
 
Last edited:
tonylim456 said:
Hello dragon,
Actually i just require a lower simulation which i can take the value of rpm and the torque from this motor simulation. and i come across one report which is doing the same brushless dc motor and i have uploaded in this reply. the report is likely showing pretty much of everything. however, when i try to run the simulation the following error come out. I have to admit my Matlab's skill is not up to the standard yet. Any good suggestion to find up what is the error? and how to fix it. thanks.
"At time 0.000515931912672372, simulation hits (1000) consecutive zero crossings. Consecutive zero crossings will slow down the simulation or cause the simulation to hang. To continue the simulation, you may 1) Try using Adaptive zero-crossing detection algorithm or 2) Disable the zero crossing of the blocks shown in the following table."

thanks for you kindly reply. appreciate it so much, thanks God

Sorry, I don't know anything about that error. Seems like you should start in smaller and simpler steps til you have a better understanding of the motor simulation. Why are you using their model other than that its for the same motor? Their model includes the control scheme as well.
 
DragonPetter said:
Sorry, I don't know anything about that error. Seems like you should start in smaller and simpler steps til you have a better understanding of the motor simulation. Why are you using their model other than that its for the same motor? Their model includes the control scheme as well.

actually i am doing a project which is fuzzy logic vs PID conventional controller of an room air conditioning system which respect to energy perspective. I am using brushless dc motor to represent compressor of the air conditioning system as 80% of the energy consumption is based on the motor(compressor). thus, i just have to get a simple brushless dc motor where i can get the torque and speed(rpm) and then i will be able to calculate the energy use of the motor. any suggestion of the motor i can use for compressor of air conditioning system other than brushless dc motor? as i search through the journal and articles, most of the compressors of air conditioning system are brushless dc motor. thanks..
 
DragonPetter said:
Hello.

I have run across a few masters thesis papers that show how to simulate BLDC motors. They were written within the last decade. One was from sweden . . wish I had the links.

I think the challenge depends on how accurately you want to model the motor. For most controller purposes, it can be modeled as a brushed DC motor. Is this sufficient, or are you attempting a lower level simulation?

If you wish to go in more depth, then I would offer the idea of using an M-code block in simulink to code the bridge voltages to the motor. There are switch blocks that you can send signals to tell them to switch the connections under certain conditions.

I don't know anything about hysteresis current blocks in BLDCs.

First: I think the swedish report you're talking about is this:
http://webfiles.portal.chalmers.se/et/MSc/BaldurssonStefanMSc.pdf

Secondly:
Can you explain what you mean by
"I think the challenge depends on how accurately you want to model the motor. For most controller purposes, it can be modeled as a brushed DC motor. Is this sufficient, or are you attempting a lower level simulation?"

I'm trying to implement a linear BLDC motor of this type: http://www.faulhaber.com/uploadpk/EN_LM1247-02_MIN.pdf

However all relevant papers on the subject is on rotational and not linear (however, this conversion is not a problem I think.)

My problem is that I don't get the model to work. How would an implementation by doing it via the simpler DC-motor? As I know it, it is modeled as: U=Ri(t)+L\frac{di(t)}{dt}+U_{emf}

How can I relate this modell to a 3phase DC motor controlled by a PWM inverter? And how do I convert the "phase-phase" values in the datasheet for the motor? Divide it by \sqrt{3}?



The purpose of my modelling is to derive a control algorithm suitable for implementation i a microcontroller.
 
Last edited by a moderator:
brupet said:
Can you explain what you mean by
"I think the challenge depends on how accurately you want to model the motor. For most controller purposes, it can be modeled as a brushed DC motor. Is this sufficient, or are you attempting a lower level simulation?"

Simply that the BLDC is not really a brushed DC motor, and so modeling it as a brushed motor is not 100% accurate or true to the actual way a BLDC works, especially ones that are not designed or manufactured ideally. A brushed motor model won't behave like a BLDC in all conditions, and you won't be able to look at all of the details, like the current in each winding or the trapezoidal EMF with a generic brushed model.

The thing is that a BLDC can be modeled very much the same as a brushed motor, and it works for a lot of conditions. If I never had made a BLDC simulation model, I would start with a brushed and then work up from there because a lot of the models they talk about in the literature are pretty complicated and confusing. I had started my own attempt to have a more complex and accurate model, but I didn't have time and put it aside.
 
here's a related application note from TI

http://www.ti.com/litv/pdf/slua076


maybe you'll find more in their extensive library..
http://www.unitrode.com/products/apps_prt.htm
is just one shelf.
 

Similar threads

Replies
21
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
12
Views
3K
Replies
34
Views
5K
Replies
6
Views
9K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
3
Views
2K
  • · Replies 12 ·
Replies
12
Views
9K