Explaining PWM in this kind of topic, is like explaing addition and subtraction while going for integration. ;-) I would find so more explaination at the last part of the video to be more useful.
Same as everyone, I really appreciate this motor control series -- thank you! I have a question. You mention frequently that the voltage applied to the phases contributes to the speed of the motor, which is why PWM would be helpful to control the speed. We are talking about synchronous motors yes? What I'm trying to decipher is how commutation frequency contributes to motor speed. If the frequency of commutation does not increase, how can the motor spin faster by increasing voltage only? Second question: If the answer to that question is you need to increase commutation frequency to increase motor speed, then in synchronous motors, what voltage contribute to? It makes sense that you could get a stronger magnetic field, but what would that do? Increase torque? Overall power? Thank you for your time.
Hello, Brian. I'm not from Matlab team but I think I can help you. The voltage applied in the DC bus is directly related to motor speed and torque. The PWM frequency, also known as switching frequency (f_{sw}) is responsible to modulate the voltages in switches to generate the three-phase voltages. The point in the video is to show that if the PWM frequency is too low... think as 5Hz or 10Hz, for example... even you can control the bus (acquire the setpoint), it changes are significantly to the motor since the PWM is too slow... Then, you need to ever consider a enough sampling time and, consequently, switching frequency. 5kHz is most of time sufficient for grid-tied power converters PWM (another power electronics application) for example... but is normal to see in literature 10-50-100kHz (the switching frequency impacts in the harmonics, that are related to filter response, values and cost, for example). Hope my brief explanation helps. Best regards
i had the same question when i was watching these videos. I think it has to do with the trapezoidal control versus FOC. Trapezoidal control - control speed with voltage (think of it as controlling the speed of brushed DC motor with voltage), FOC - control speed with frequency (think of it as controlling the speed of AC synchronous motor with frequency)
As for as I know, in a practical way with trapezoidal control, commutation (frequency) is always fixed to to rotor rpm. 2 phases are used for driving the motor and 1 phase is used as sensor to determine the rotor position. If you draw it then you get a resistor divider, where the resistor divider are the coils of 2 phases. By doing so you know the rotor position and when to commutate. When you want to increase or decrease speed, the pwm duty cycle have to change of the active 2 phases and thus the current will change. Commutation is irrelevant for the speed of the motor, but you have to know when to commutate. FOC is a different story, more complicated, but there are good video's on RUclips.
Hey there, i am also building the bldc motor controller in my project, but I can't animate the rotor position. when I write animateRotorPosition in command windows then following error occurs: Unrecognized function or variable 'animateRotorPosition' if someone know please help me
Some people love the French language, for me there's something about listening to smart girls talk that really gets me. I know how magnet motors work but not much more. I'm looking forward to building controllers on my PC.
I have a doubt if pwms are generated in 120 degrees phase shift and we are generating 6 pwms if we want to change the duty of the PWMs means the phase is not correctly matched...can you please help me to resolve the problem
Dear, I am Abby from Changzhou Songjie Electrical motor Co., LTD company. We have a history of over 10 years in producing brushless motors and stepper motors.We have customers all over the world. Especially in the Mexican market,We sell very well. Our brushless motors are very popular in your country,Because our brushless motor has a long working life. Low noise. Low temperature rise.If you are interested,Please do not hesitate to contact us.We are looking forward to your inquiry.
great job Melda Ulusoy, thanks. Is it possible to connect this model to PV array in MATLAB simulation which is powered as Simulink components to feed simscape inverter.
First of all thank you for the great tutorial! I am having a problem though running the animation. The viewer window opens just fine but the rotor isn't moving, I can see only the initial state of the motor. Can somebody help what I am missing here?
I came to this series as is was trying to develope a sine wave BLDC motor driver. Aaand you just look like someone who left me and I'm crying 🤣🤣🤣🤣😭😭😭😭😭😭😭😭😭😭😭
Merhaba Melda Hanim Ingilizce anlamiyorum.Yada cok az diyelim.Ama mevzu BLCDMotorlar ve Kontrollü.Ben kendi capimda bir motor gelistirmeye calisiyorum.Ama bana bu hususda akademisyen insanlar lazim.Yardimci olurmusunuz,selamlar
Explaining PWM in this kind of topic, is like explaing addition and subtraction while going for integration. ;-) I would find so more explaination at the last part of the video to be more useful.
Same as everyone, I really appreciate this motor control series -- thank you! I have a question. You mention frequently that the voltage applied to the phases contributes to the speed of the motor, which is why PWM would be helpful to control the speed. We are talking about synchronous motors yes? What I'm trying to decipher is how commutation frequency contributes to motor speed. If the frequency of commutation does not increase, how can the motor spin faster by increasing voltage only? Second question: If the answer to that question is you need to increase commutation frequency to increase motor speed, then in synchronous motors, what voltage contribute to? It makes sense that you could get a stronger magnetic field, but what would that do? Increase torque? Overall power? Thank you for your time.
Hello, Brian. I'm not from Matlab team but I think I can help you.
The voltage applied in the DC bus is directly related to motor speed and torque. The PWM frequency, also known as switching frequency (f_{sw}) is responsible to modulate the voltages in switches to generate the three-phase voltages.
The point in the video is to show that if the PWM frequency is too low... think as 5Hz or 10Hz, for example... even you can control the bus (acquire the setpoint), it changes are significantly to the motor since the PWM is too slow... Then, you need to ever consider a enough sampling time and, consequently, switching frequency.
5kHz is most of time sufficient for grid-tied power converters PWM (another power electronics application) for example... but is normal to see in literature 10-50-100kHz (the switching frequency impacts in the harmonics, that are related to filter response, values and cost, for example).
Hope my brief explanation helps.
Best regards
i had the same question when i was watching these videos. I think it has to do with the trapezoidal control versus FOC. Trapezoidal control - control speed with voltage (think of it as controlling the speed of brushed DC motor with voltage), FOC - control speed with frequency (think of it as controlling the speed of AC synchronous motor with frequency)
As for as I know, in a practical way with trapezoidal control, commutation (frequency) is always fixed to to rotor rpm. 2 phases are used for driving the motor and 1 phase is used as sensor to determine the rotor position. If you draw it then you get a resistor divider, where the resistor divider are the coils of 2 phases. By doing so you know the rotor position and when to commutate. When you want to increase or decrease speed, the pwm duty cycle have to change of the active 2 phases and thus the current will change. Commutation is irrelevant for the speed of the motor, but you have to know when to commutate.
FOC is a different story, more complicated, but there are good video's on RUclips.
Great explanation, great visualation, very usefull info.
Çok teşekkürler
Hey there, i am also building the bldc motor controller in my project, but I can't animate the rotor position. when I write animateRotorPosition in command windows then following error occurs:
Unrecognized function or variable 'animateRotorPosition'
if someone know please help me
Some people love the French language, for me there's something about listening to smart girls talk that really gets me. I know how magnet motors work but not much more. I'm looking forward to building controllers on my PC.
Thanks, I was looking for a refresher. This was good. Now I need to look at 36 pulse modulators for pure sine waves.
Teşekkürler Melda.
What is the advantage of using buck converter against using the direct commutation logic circuit
This was beautiful put LOVED IT,this is exactly what I needed in my life right now. God bless .
I have a doubt if pwms are generated in 120 degrees phase shift and we are generating 6 pwms if we want to change the duty of the PWMs means the phase is not correctly matched...can you please help me to resolve the problem
the simulation of the same model presented run for a long time and does not stop for me is there any solution please ?
very nice, comprehensive and understandable......thank you
Thanks very good
خیلی عالی بود متشکرم
Hi there can’t you make a video in how to wire this PMW item to a mide drive 3000w 3 phase wire motor
Please help me i need to simulate BLDC motor control using PID controller
Great explanation. Like your new look too.
Does anyone know of anyone who makes a drive that would allow you to send the pwm sig to the igbt?
Well explained..can plz make one about regeneration process with bldc?
Hello Ameesha, were you able to obtain any references for implementing regeneration with BLDC in Simulink?
Dear,
I am Abby from Changzhou Songjie Electrical motor Co., LTD company. We have a history of over 10 years in producing brushless motors and stepper motors.We have customers all over the world. Especially in the Mexican market,We sell very well. Our brushless motors are very popular in your country,Because our brushless motor has a long working life. Low noise. Low temperature rise.If you are interested,Please do not hesitate to contact us.We are looking forward to your inquiry.
Very good work
Thank you very very much
great job Melda Ulusoy, thanks. Is it possible to connect this model to PV array in MATLAB simulation which is powered as Simulink components to feed simscape inverter.
is there is any video on sensorless bldc??
Great good explain
how make motor spin in reverse direction?
in invert the 6 steps
Hi. Make one but with position Control, Please.
Thanks
First of all thank you for the great tutorial! I am having a problem though running the animation. The viewer window opens just fine but the rotor isn't moving, I can see only the initial state of the motor. Can somebody help what I am missing here?
I modifed above animation file. to generate a movie it works for me.
Here I attach my code.
close all
clear
% Below parameters are defined in the Simulink model
% Sample time
% Ts = 1e-5;
% Number of pole pairs
% p = 1;
% Initial rotor angle in degrees
% th0 = 0;
% Sector
% sector = 6;
mdl = 'Switching_Pattern';
open_system(mdl);
sim(mdl);
pause(5)
obj = VideoWriter('Swithing_video','MPEG-4');
open(obj)
axis([-3 3 -3 3])
hold on
%
r = 1.2;
theta = linspace(0,2*pi);
x = cos(theta);
y = sin(theta);
x1 = 0.8*cos(theta);
y1 = 0.8*sin(theta);
xa = cos(0);
ya = sin(0);
xb = cos(2*pi/3);
yb = sin(2*pi/3);
xc = cos(-2*pi/3);
yc = sin(-2*pi/3);
xat = r*cos(0);
yat = r*sin(0);
xbt = r*cos(2*pi/3);
ybt = r*sin(2*pi/3);
xct = r*cos(-2*pi/3);
yct = r*sin(-2*pi/3);
hf = figure(1);h = plot(x,y,'k-',[0 xa],[0 ya],'k-',[0 xb],[0 yb],'k-',[0 xc],[0 yc],'k-',xa,ya,'ko',xb,yb,'ko',xc,yc,'ko',x1,y1,'k-');grid
set(hf,'Color',[1 1 1])
ha = gca;
set(ha,'Visible','off')
ht1 = text(xat,yat,'A');
ht2 = text(xbt,ybt,'B');
ht3 = text(xct,yct,'C');
set(ht1,'FontSize',14);
set(ht2,'FontSize',14);
set(ht3,'FontSize',14);
axis([-1.2 1.2 -1.2 1.2])
axis equal
set(h(5),'MarkerSize',20)
set(h(6),'MarkerSize',20)
set(h(7),'MarkerSize',20)
switch_pattern = ans.Switching;
init_switch_pattern = num2str(switch_pattern(1,:))
switch init_switch_pattern
case num2str([1 0 0 0 0 1])
set(h(5),'MarkerFaceColor',[1 0 0])
set(h(7),'MarkerFaceColor',[0 0 1])
case num2str([0 0 1 0 0 1])
set(h(6),'MarkerFaceColor',[1 0 0])
set(h(7),'MarkerFaceColor',[0 0 1])
case num2str([0 1 1 0 0 0])
set(h(5),'MarkerFaceColor',[0 0 1])
set(h(6),'MarkerFaceColor',[1 0 0])
case num2str([0 1 0 0 1 0])
set(h(5),'MarkerFaceColor',[0 0 1])
set(h(7),'MarkerFaceColor',[1 0 0])
case num2str([0 0 0 1 1 0])
set(h(6),'MarkerFaceColor',[0 0 1])
set(h(7),'MarkerFaceColor',[1 0 0])
case num2str([1 0 0 1 0 0])
set(h(5),'MarkerFaceColor',[1 0 0])
set(h(6),'MarkerFaceColor',[0 0 1])
end
for i=1:500:length(ans.theta1)
l1 = 0.7;
ro = ans.theta1(i)*pi/180;
xr1 = l1*cos(ro);
yr1 = l1*sin(ro);
xr2 = -l1*cos(ro);
yr2 = -l1*sin(ro);
hold on,hl1 = plot([xr1 xr2],[yr1 yr2],'m-');
set(hl1,'LineWidth',3)
hpr = plot(xr2,yr2,'ko');
hpb = plot(xr1,yr1,'ko');
set(hpr,'MarkerSize',20)
set(hpb,'MarkerSize',20)
set(hpr,'MarkerFaceColor',[1 0 0])
set(hpb,'MarkerFaceColor',[0 0 1])
ro1 = ans.theta1(i);
for l = 1:numel(ro1)
switch_pattern1 = num2str(switch_pattern(i,:));
ro = ro1(l)*pi/180;
xr1 = l1*cos(ro);
yr1 = l1*sin(ro);
xr2 = -l1*cos(ro);
yr2 = -l1*sin(ro);
set(hpr,'XData',xr2);
set(hpr,'YData',yr2);
set(hpb,'XData',xr1);
set(hpb,'YData',yr1);
set(hl1,'XData',[xr1 xr2]);
set(hl1,'YData',[yr1 yr2]);
switch switch_pattern1
case num2str([1 0 0 0 0 1])
set(h(5),'MarkerFaceColor',[1 0 0])
set(h(6),'MarkerFaceColor',[1 1 1])
set(h(7),'MarkerFaceColor',[0 0 1])
case num2str([0 0 1 0 0 1])
set(h(5),'MarkerFaceColor',[1 1 1])
set(h(6),'MarkerFaceColor',[1 0 0])
set(h(7),'MarkerFaceColor',[0 0 1])
case num2str([0 1 1 0 0 0])
set(h(5),'MarkerFaceColor',[0 0 1])
set(h(6),'MarkerFaceColor',[1 0 0])
set(h(7),'MarkerFaceColor',[1 1 1])
case num2str([0 1 0 0 1 0])
set(h(5),'MarkerFaceColor',[0 0 1])
set(h(6),'MarkerFaceColor',[1 1 1])
set(h(7),'MarkerFaceColor',[1 0 0])
case num2str([0 0 0 1 1 0])
set(h(5),'MarkerFaceColor',[1 1 1])
set(h(6),'MarkerFaceColor',[0 0 1])
set(h(7),'MarkerFaceColor',[1 0 0])
case num2str([1 0 0 1 0 0])
set(h(5),'MarkerFaceColor',[1 0 0])
set(h(6),'MarkerFaceColor',[0 0 1])
set(h(7),'MarkerFaceColor',[1 1 1])
end
end
frame = getframe(gcf);
writeVideo(obj, frame)
delete(hl1)
delete(hpr)
delete(hpb)
end
close(obj)
is ther an explanation about the controller subsystem on the model?
I came to this series as is was trying to develope a sine wave BLDC motor driver. Aaand you just look like someone who left me and I'm crying 🤣🤣🤣🤣😭😭😭😭😭😭😭😭😭😭😭
Is there a way to use the same system, but to control by desired angle?
I really need this info
With hall sensores can move minimal steps with low pwm duty
Ma'am please i need STATCOM and SVC module
Это вящее пояснения товарищ инженарь
Is there any company in India which uses bldc mechanism in washing machines?
How do you do with dead time between change of phases?
Modern microcontroller timers have dead time settings built in.
Thanks
This girl is amazing
😈
Great!! Thanks
Thank you very much for the valuable information، I want simulink MADA withe turbine
Incredible smart woman
احسنت
Merhaba Melda Hanim Ingilizce anlamiyorum.Yada cok az diyelim.Ama mevzu BLCDMotorlar ve Kontrollü.Ben kendi capimda bir motor gelistirmeye calisiyorum.Ama bana bu hususda akademisyen insanlar lazim.Yardimci olurmusunuz,selamlar
Love u ma'm
nice! clearly, i am sure... she is very beautiful
you are so beautiful
I like,s you
nhi degi.
Kendi insanımızdan kendi dilimizde de paylaşım beklemek hakkımız sanırım.
Zeynel Abidin Delikan Hakkin falan degil.
Hakkın felan değil. Zaten bu video da kendi insanının kendi platformundaki paylaşımı değil. Kolay gelsin.
@@alperengoktas7380 Ben de ayni görüsteyim
the girl in the thumbnail is just clickbait !!! 0 stars