Teaching Old Motors New Tricks - Part 1

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well good morning and welcome back for day two of the industrial control seminar my name is Dave Wilson and I'll be covering the motor control part of the seminar today motor control is my favorite technical topic I've been doing it now for about thirty four thirty five years and one of the reasons I like it is because with a lot of other engineering disciplines there's kind of a finite limit in terms of what you can do you know like if you become a a Bluetooth expert well once you've learned the whole Bluetooth interface standard well that's about as far as you can go with motor control there are no limits it's the biggest sandbox in engineering I like to refer to it as when you think of all the engineering disciplines that have to come together to make a motor spin you have of course you have power electronics you have analog digital software DSP digital filters you've got dynamics mechanics thermal thermal mechanics heat transfer all these things wrap together to make that little motor shaft go round and round and round and for that reason I think motor control engineers can be the most challenged in terms of you know the things that they have to master in order to make the motor spin but I also think it's fair to say that motor control engineers are perhaps some of the most frustrated engineers that we have the reason is is because you're working on your motor control project and how many of you can relate to this ok so your boss comes in and says well where are you on the schedule and you say well I've got to go do my stability analysis and do this that any other thing he says wait a minute women I'm not asking you to solve world hunger I just want you to make the motor shaft go round and round and round that's what two weeks can you do that and of course you understand that and to make that little shaft go round and round all these things have to come together to make that happen ok it's not apparently obvious to do the uneducated observer all the things that need to go in to make that happen so we're going to talk a little bit about that today hopefully give you enough knowledge about motor control that you can at least go out and make some motor spin and have some fun now obviously with a topic this big there's no way I can comprehensively cover it in one day so I'm going to have to just focus on one piece of it and that is the control side of it most of the stuff I'm going to talk about today is going to be related to algorithm development field oriented control sensorless field oriented control things like that because obviously working for the c2000 group that's what we are are very very much involved with so I decided what would be an appropriate title for this session teaching old motors new tricks the reason I picked that one is because when you look at motor topologies most of them have been around since the 1800s there hasn't been a lot of new development perhaps the stepper motor is the latest change in topology but by-and-large motors have not changed that much over the last let's say fifty to a hundred years what has changed and continues to change in a very very rapid rate is how we control those motors and that of course has been enabled by power electronics reductions in form factor more sophisticated control algorithms which of course have been enabled by faster and faster processors designed to do these types of calculations so I'm going to start right out with going through control systems kind of building on what Richard talked about yesterday and as I go through this hopefully you'll see what we're doing here with our three day industrial control simin are we're starting at kind of a high conceptual level Richard covered the control theory aspect of it yesterday I'm going to bring it down a notch and talk about an application of that control theory which of course is motor control and then tomorrow ken is going to get down to where the rubber meets the road and that's where you're banging bits and registers to make things happen inside of a processor so I want to start off kind of where Richard was yesterday and talk about control theory but I have to correct some of the problems or the misstatements that Richard made yesterday ok just off the bat and I'll need your help to do this could you tell me what the letter is that follows G in the alphabet age it's not H it's H hmm okay not good very good that you got that correct um number two what is that little thing called it's it's like an embedded computer that can run code can run instructions it's called a micro processor not processor okay good so we've already corrected two problems from yesterday's seminar yes Richard okay you're welcome I been doing this for quite a while now and at least I got you to stop saying Zedd and now he says Z because the z-transform just it just didn't cut it you know you got to say z-transform anyway there's probably a few other ones that I could mention but I'm going to let Richard go by relatively unscathed Peyton I forgot was another good one yes Peyton I love that we still got to work on him for that one so oh I'm sure by the way of the three of us I'm the only one that really taught talks without an accent okay because you'll notice right away that Ken is from New Jersey the Garden State so alright let me let's try to reel this back in again then I like to start this session with a true or false question just to kind of get you involved in the discussion and by the way I like very interactive discussions don't feel like you have to wait till a question or answer session if something doesn't make sense or if you just want to make a comment and say Dave that's not true just raise your hand and just say it okay let's be very interactive here and in order to facilitate the mood for doing that I want to start off with a true or false question relate it to control systems now think about this I don't want you to answer right away but just kind of Mull it over in your mind and then we're going to poll the audience and see what the correct answer is control systems need feedback in order to function properly true or false so think about that a little bit and now let's solicit some feedback from you guys is that a true or false statement it's fall who said that all right why do you say that's false hmm okay now is that really a control system then okay you're controlling the output but would you say that is truly a control system oh you don't know uh how many are software engineers in here how many let's see your hands how many are hardware engineers we got a good even split I tend to be a hardware engineer so when as soon as I hear somebody say they're a software engineer my eyes just glaze over and I can't relate to them so okay but no that's a thoughtful answer I appreciate that what about some other opinions here true or false control systems need feedback in order to function properly surely we've got other opinions in here okay so you'd say if it doesn't have feedback it's not a control system okay I think you just did so all right somebody in the back there very well could what do you think properly means or what we bought some suggestions okay okay hmm okay there's a light switch on the wall over there I can control it does it okay okay but you would say that that's still a control you're controlling properly and it is a control system okay other opinions on this I like to do this because I like to get you thinking about what are we talking about when we talk about control systems and control theory you would say false mm-hmm okay okay and I think that's kind of echoing what some of the other people have said as well well yeah go ahead Brett you had to go to comment but you you introduced a new word in this whole discussion feed-forward when Richard talked a little bit about that yesterday okay I want to key off of that because that's going to lead me to where I want to go in this discussion I like doing this because it gets a lot of audience interaction going in fact I'll tell you a funny story when I was in Detroit and we did this seminar it was pretty much divided for some reason on both sides of the room and next thing I know they're arguing with each other I'm completely out of the loop at that point I'm out of control I'm trying to get them to say come on let's go to the next slide in fact during break they continued it out into the hallway I thought they were going to start a fight out in the hallway about what this actually is the point is the way I've worded the question I'm kind of setting you up it's very ambiguous what does properly mean what are we talking about when we talk about a control system and these are things that when I took control theory this is back in the 70s I opened up my control theory book and right away I see a system I think it was an example of a missile tracking system with some feedback and then you turn the page and there it is G over 1 plus G H and then you go to the next chapter and it's about eigenvector eigenvalue x' i went through the whole course never even heard the word feed-forward so you can imagine my surprise when I get out in industry and people are doing control systems without any feedback like that that can't work can it or can it let's look at this let's say that I have a process we're going to call it G 1 now this is unadjusted but it is perfectly predictable now if I want to design a controller such that what I get will equal what I want do I have all the information that I need to know if I know the transfer function of this let's say that this is an amplifier with a gain of 10 point zero zero zero zero zero it doesn't matter what day of the week it is it doesn't matter what the temperature is that's what it is can I design a controller at that point to guarantee that what I get will equal what I want the answer is yes and Richard talked about this yesterday all I need to do is take 1 over X of that in this case it would be 0.1 and then whatever I have coming in here gets multiplied by 0.1 times 10 what do you know it's exactly the same thing that I wanted on my output okay and this is an example of feed-forward now feed-forward works really good for systems that don't have any outside info or any outside perturbations or things that affect the system what happens if you start getting into a problem like this where you have a disturbance that's coming in and affecting your output now can I say that I have enough information to guarantee that what I want will equal what I get no because I don't have enough knowledge about that disturbance now you could argue that if you did have enough knowledge about the disturbance itself you could still design a feed-forward system without feedback I think it was trying to remember which French philosopher it was I think it was Laplace they said if you give me the initial velocity of every particle in the universe I will predict the future well that's that's an example of feed-forward thinking all right that I know everything about everything I know all the perturbations that could affect my system everything else technically you could argue you could do that now that might be a pretty big equation in that case but he's arguing the point that why do we need feedback but if you don't know enough about the disturbance then we have to implement a new structure taking a totally different approach where we take the output we feed it back and compare it to what we want and we generate an error signal which is our difference so we have two competing philosophies feed-forward and feedback and there are examples when we want to use one or the other or in many cases in tandem you might want to use them together to get some really nice performance out of your system now when I do this here we have the familiar G over 1 plus gh where H is my feedback gain but in this case I've just chosen to represent it as one or unity so G over 1 plus gh multiplied by what I want is going to equal what I get so let's take G which by the way is the combination of both of these games and let's set it to 1 what can you tell me about what I will get compared to what I want if G is equal to 1 be 1/2 right is that a good control system if you want 1/2 it's a good control system right maybe what can you tell me about the control system and what I get compared to what I want if G is equal to a hundred solve it now point nine nine or something like that so we're even closer what if G is equal to a thousand or a million well we just keep getting closer and closer to what we what we want so from this simple little exercise we can conclude that high-gain is always a good thing right some people are out there kind of laughing like ah wait a minute where am I going with this no high-gain isn't always a good thing why is that it's because mother nature plays to very cruel tricks on us number one we realize that every game is really a function of frequency if you go out high enough in any natural system any system in nature and look at its frequency response it will always have one more pole than it has a zero it's a simple way of saying that everything eventually rolls off with frequency and it doesn't matter if it's the parasitic capacitance between me and the back wall at some point the frequency response is going to roll off so we can't really have high gain for all frequencies that's the first nasty trick but the second one is even more insidious than that for every pole that we encounter it introduces for every real pole that we encounter it introduces 90 degrees of phase shift in our signal now why does that cause problems well let's say for example that you're running along with your frequency response at you know 100 DB or whatever you hit your first pole in your system so now you're coming down at 20 DB per decade all right how much phase shifter you have 90 now you hit your second pole you're coming down at 40 DB per decade with a phase shift of 180 you keep coming down and finally you get to 0 DB which is the unity gain point now right at that point you have unity gain and 180 degrees of phase shift let's see what happens here's my signal getting injected into my system it comes out the other side of my system the same amplitude because it's unity gain but with 180 degrees of phase shift which means it's inverted right that signal runs back around here it's the minus input of this comparator it's inverted again so now I'm back with exactly what I started with and it just keeps on going it can sustain itself congratulations you've built an oscillator now in most cases that's not what you're trying to do so we have to find ways of stabilizing our system and Richard talked about this yesterday of how you have to look at your poles and zeros of your system to ensure that you don't get oscillations because in most cases that's an undesirable response so we can conclude that high gain and long phase shifts don't go well together high gain and high phase delay are just not compatible let me give you a real world example of that now to illustrate this I'm going to have Richard taking a shower okay he's already getting worried back to Richard have you ever seen this slide yet have you ever taken a shower so Richard steps into the shower what does Richard want well he would like to have some warm water so what does he get when he first turns to stick it on it gets cold water he compares that to what he wants and says that ain't what I wanted and he responds to it with a gain now if you know Richards personality he's a very high gain individual so what he does is he says I'm going to turn that knob all the way up to hot until it saturates the system he can't turn it on anymore the problem is there's a delay in your system it takes a while for that water to get all the way up through the pipe right so by the time it does get up to where it's coming out what does he have he just have warm water he has hot water so once again he says well that's not what I want he says I'm going to respond again with high gain he turns it all the way back to ice-cold takes a while for that water to get up and then he has ice-cold water again now after about an hour of doing this Richard finally realizes I've got so much phase delay in my system that I cannot respond with that high of a game so he starts reducing his gain of his system in other words if it's not exactly what he wants respond with very gentle gain very low gain until finally the system stabilizes so you can see even in scenarios in real life you're dealing with this kind of stuff all the time your brain just automatically figures it out what you know how to stabilize a system well in control systems you have to do that either with you know the math of the of the system looking at the poles and the zeroes of the system you know or some other way but again the point I want to make phase delay in your system and high-gain are incompatible that's why for example you very rarely see fi our filter is used in control loops fi our filters have very very long phase delay in most cases when we design a control loop we are focused only on iir filters or something has manageable phase delay where we cannot create this very very long time delay from the input to the output okay so I guess the moral of the story is don't take showers with Richard that's what I've kind of concluded at least so going back to feed-forward how do we design a feed-forward compensator and the answer is going back to our familiar statement that we made today and yesterday we take whatever the transfer function is of our plant and we do 1 over X of that and the thought process process gosh you've got me saying it now the thought process goes something like this in order to achieve a desired output we need to find out what stimulation signal is required at the plant input right here to get that output if we know the transfer function of the forward direction I can find the transfer function looking backwards in other words 1 over X or 1 over GS and that becomes the transfer function of my feed-forward filter so in this case right here I have a simple integrator with a gain of 2 so if I know that this is the signal that I want to get at the output and it's it's this x squared function I need to supply a a linear ramp so to speak so that it comes in here and gets integrated to create the desired effect on the output so that's how we do it and it works with with all kinds of different transfer functions Richard did point out yesterday there's some cases where you can create some poles that you know you weren't expecting when you do that but by and large that's the way that we we achieve this let me give you an example of how I've used feed-forward to solve a problem it's very common in motor control systems and that is with PWM modulation what do you do if you don't have a regulated bus and this is very common in industrial applications because when you're trying to build a let's say a hundred horsepower motor drive you just can't afford to regulate the bus so what you do is you basically run it through a front end rectifier stage in this case I've chosen just a single phase but you can also have three phase versions of this and then you put it into a DC bus which has a huge bus capacitor on it maybe up to ten thousand microfarads or something like that and what happens is when you are drawing current on your output you can actually see this you can see that the bus will actually have this ripple effect as a result of the fact that it well simply it's unregulated now that ripple will affect the output voltage of your system so here we have a situation I have a desired voltage that I would like to put on one of the phases of that motor here is what the plant looks like now what I've done is I've gone through and just kind of described what the modulation process looks like so first of all I take one of whatever my average bus voltage is I divide by that to create a duty cycle so in other words let's say that my average bus voltage is 100 volts if I if I want to create a 90 volt output well it's 90 divided by 100 I tell me I need a point 9 duty cycle I then feed that into a pulse width modulator which we'll assume right now has a one-to-one transfer function to create the actual pulse width with the desired duty cycle and now these would be uncompensated but what happens is in order to recreate or I should say to create the output voltage that gets multiplied by my bus voltage so if I have zero to one right here and it's a hundred volt bus that means this signals going to be 0 to 100 with a 90 percent duty cycle the problem is that bus level as a function of time is rippling so what you will see is there's going to be this low frequency ripple writing on your PWM envelope and that means your bus voltage or your phase voltage is going to be affected by that so how could how could we solve this problem well one solution might be to take this average output voltage right here run it through some kind of integrator or RC filter run it back in here and compare it to our desired voltage and say well that's not what we wanted and then compensate it that way the problem is now you've got poles in your transfer function in your loop and you can now since you've introduced phase delay you can get into stability issues in this case a much better solution is to use feed-forward and it goes something like this if my transfer function is V bus / or V bus as a function of time divided by the average B bus do 1 over X of that so this is not my feed-forward compensator V bus average divided by V bus of T in order to design this Network I know what V average should be because that's what you my system design requirements are what I don't know is what the real-time bus ripple is I can measure that directly run that into my equation here in real-time solve this expression and then run it into this and what I get on the output now are compensated pwms I actually did this here was an example of the motor current taken with the bus that had severe ripple distortion on it with no compensation and you can actually see that that does in fact affect the current waveform but then when you use feed-forward compensation it really cleans up the waveform very nicely if you look at your pwm signals they look terrible they've got all these little cusps and spikes on them and everything else but when it's combined with the actual bus voltage it straightens everything out and you end up with exactly the voltage waveforms that you wanted so this was a case where the process is well-defined there's no disturbance associated with associated with this practically speaking it was a great candidate for feed-forward and this is in fact the way that most people do it in industry if they want to solve the problem of bus ripple they don't worry about feedback and closing the loop or anything like that they just implement a feed forward controller as shown here so which is wet which is which is best we have feed-forward vs. feedback look at both of these expressions right here both of these diagrams here's the feedback philosophy where we have some system dynamics in order to get the actual trajectory to equal the desired trajectory we solve that problem we try to address that issue by jacking up our game as much as we can and of course we do that while we're doing that we're flirting with stability issues because the higher you get the gain for whatever phase delay is in your system you're going to start seeing some oscillations or you know some instabilities so that's the way we try to get the actual trajectory to equal the desired trajectory now let's look at the feed-forward approach the way we get the actual trajectory to equal the desired trajectory here is we let the feed-forward system do the heavy lifting for us all right and we may have a little bit of feedback in here just because you know drifts of the system over time or things like that we can compensate that with a very low frequency feedback system that you don't have to worry about stability issues with now what's interesting about both of these approaches these diagrams are exactly the same diagram wire for wire connection for connection these are exactly the same diagrams or just twisted around differently to reflect different design philosophies when would you use feedback typically and when would you use feed-forward if you've got a situation where you have lots of perturbations external disturbances on your system that's when feedback works the best because feed-forward just can't handle that but if you're doing something where you're trying to follow a desired trajectory for example and you don't have a lot of external influences on your system that are affecting the output well then you might want to consider using a feed-forward Network and we're going to see a little bit later in some of our field oriented systems in fact we're going to design some systems together as some lab exercises which actually use both because you can take advantage of the benefits of feedback in conjunction with the benefits of feed-forward to make some systems that really really respond well well I want to review the the PI controller yesterday Richard talked about this in the context of the PID controller in most cases for motor control we don't use the D term especially if we're using cascaded design techniques and options I'll tell you what that is in just a minute but in most cases what we have is we have a situation where we have an integrator and a steady state gain in the same topology right here we have a commanded value a measured value we generate the error signal the error signal split up into two paths straight gain and then this is integrated with an integrator gain and then the outputs are combined now this is the parallel P I control topology this is the one that I think most people are familiar with just because it's intuitive you can actually see what's going on here and if you look at the transfer function of this particular system it looks something like this so if I adjust the KP term what it does is it adjust this level right here of the bode plot and if I leave my I term the same what it's also going to do is adjust the controller zero because obviously the higher this gets is going to intersect at a different frequency so as this term goes up the controller zero is going down now if I adjust the I term and leave the P term alone it's going to be adjusted like this and that's going to cause the controller zero to go up so what we see is this frequency right here is actually a function of both the KP and the ki terms well this zero is actually very important to us because when you're designing API current controller for example where we set that zero we would like to be able to do it so that we get pole zero cancellation in our closed-loop frequency response so having this adjusted independently can all of a sudden start shifting our zero and throw off our frequency response that's why a lot of people prefer to use what's called the series P I control topology has anybody seen this one or use this one before a few people have okay now in this case the error signal comes in the first thing that happens it gets multiplied by a steady game which is called ka and then that gets fed forward to the output but it also goes through the integrator and then they're recombined like that now if you look at the bode plot if you look at the frequency response exactly the same frequency response we haven't changed that and you can actually relate the series form of the P I control er to the parallel form as shown here so I can derive one from the other so why would I want to use a series PID controller versus a parallel one the answer to that question is because now I directly control the zero I have independent control of where that zero is and that's going to be a benefit to me as we get into designing the H we design current current loop controllers so in this case right here K a is going to adjust the amplitude not of just this portion of the graph with the entire graph that's the nice thing about it too because this is now in series with my total gain in my system so when I bring that up everything else in the loop that's part of that closed loop gain will also go up it's not just adjusting one part of it and then KB KB is the zero it's exactly equal to the zero so I can set that independently wherever I want that to be so when I put that in the cascaded control structure as shown here when I talk about a cascaded control structure I'm talking about where you have one loop embedded inside of another loop and maybe even embedded in a third loop here's an example where I've got a motor and I want to control the current if you look at the transfer function of the motor windings you'll see that you don't really need a D term that a p.i term is perfectly adequate for doing that and the reason is because you've only got one real pole in your motor winding it's an R over L time constant essentially so you're gonna have ninety degrees of phase shift you don't need any phase lead like the D term gave us when Richard did that yesterday and he showed when you increase the determent give you phase lead we don't need phase lead so there's really no need to have a D term the PI controller can control it just fine now this is the commanded current this is the measured current if I want to design a speed loop how would I design that using this structure right here can I alter it in such a way that I can also control the motor speed and we'll see that the answer is yes we embed this torque loop inside of the speed loop as shown right here so now we have something on the motor some feedback that's giving us velocity information we compare the measured velocity with our commanded velocity to generate an error signal and once again we just need a PI controller to do this and the output of the P I control er for the speed loop is what determines what the commanded input will be for the current loop when you think about that intuitively it kind of makes sense because if my speed is too low what do I want to do I want to generate more torque so that this the motor speeds up or if the speed is too high well the other way I want to generate less torque or maybe negative torque to make the motor slowdown okay and you can go through and do the stability analysis of this and that's another reason people like cascaded loops because the way that you do it you start with the inner loop you do the stability analysis for that get that all set up that the way you want it in terms of its open-loop parameters and then for every loop that you cascade around that you now use the closed-loop transfer function of this treat it as just one closed-loop expression and that now becomes part of the open-loop expression for your velocity loop and then once you get that stable and working the way you like it you can just keep moving on out into the position loop alright so this is just an example of how we can actually cascade different control structures to achieve different outcomes or different effects question was what is the bandwidth requirement relationship between the different parts of the loop here which is a great question in this case right here I need to have my my current loop operating at a much higher frequency than either the velocity loop or the position loop so your bandwidth is going to be set highest right here your and the reason for that is at least with the motor control system the things which affect this current loop are related to the poles of this plant right here which are typically or R over L time constant is going to be much higher than your mechanical poles in your system so this has to be a high enough bandwidth to deal with that and your velocity loop the things that affect your velocity loop are things like inertia torque on your motor that's also part of the transfer function but specifically the inertia of your system the mechanical poles of your system are much much lower so you can usually design these to be lower frequency and then the position loop usually what you do in a digital control system is you run the position loop in there and the velocity loop at the same sampling frequency at a lower bandwidth this one is running at a higher bandwidth so for the systems that that I've designed for example you may have this running at a 10 kilohertz sampling frequency to where the velocity loop and the position loop can run at a 1 kilohertz sampling frequency and again it depends upon mostly the poles the mechanical response in the inertia of your system but in most cases that pole is going to be way way lower than the electrical time constant or the electrical pole of your motor does that answer your question ok well let's take a look at how we design the current the current loop controller using a series P I structure in this case I have and I represented my motor winding as shown here as a series L a series R and then I have a voltage dependent voltage source this is my back EMF voltage and we're going to talk about this later today which is equal to my speed of my motor times some constant which is referred to as the back EMF constant of my machine so obviously as the speed goes faster this voltage source right here is going to get higher and higher I'm sampling the current in this loop either through Hall effect sensors or shunt resistors any number of different ways to do that and I feed it back around here to be my measured current so if you go through the analysis of this system in terms of trying to optimize it how do you get the most stable response without a bunch of peaking in your control loop here's an interesting thing that you'll discover let's start with Kb first if you set Kb remember KB that's the zero right KB is the zero in radians per second if you set that equal to R over L in other words 1 over my time constant of my motor load or my motor winding guess what happens obviously there's a pole zero cancellation and you end up with essentially a first-order system now if you're interested in all the nauseating math that goes behind that I've actually written a series in my blog site it's a ti.com forward slash motor blog and I've got a 10 part series on how to make your Pik or behave and in there I show all the math of what happens and if you do this if you make this substitution right here you will cancel out the pole there and end up with a first-order equation which is nice because first-order equations I mean they just have a simple roll off there's no peeking or anything else question it's wwt I comm forward-slash motor blog all one word okay if you don't make that substitution you end up with a second-order system and of course when you have a second-order system as Richard talked about yesterday you now have the opportunity for complex poles and that's exactly what you end up with you end up with those poles getting close to in some cases the J Omega axis and you get this very you know peaky kind of a resonant effect that you in most cases don't want again another reason why people like to use the series form of the P I control ur versus the parallel form at least for controlling currents on motors is because of this effect right here okay what is K a well it turns out K a sets the bandwidth of my system so if I know what bandwidth I want in terms of my current bandwidth all I have to do is divide ka by L or I should say I'll just set ka over L that is my bandwidth so if I know this and I know this then I can solve for K a and then you've designed your PI controller as Richard talked about yesterday from a generic point of view P I controllers have been done iteratively and somewhat empirically but for this particular application when you're talking about a motor winding with your current controller there really is no ambiguity to it if you don't have this expression right here you're going to get a response that is is second order and will have Peaks in it in its response okay this in fact is the way that we tune the P I current controllers at ti4 all of our field oriented systems what about the velocity loop well this is where it gets really interesting and that's what took up the bulk of my 10 part series on tuning PI loops because now we have a system which is a lot more unpredictable has poles that are much lower in frequency and in many cases the way we synthesized the velocity signal if you've ever looked at the different velocity synthesis techniques you're probably going to have to filter that somehow anyway so you've got another low-pass filter right here in your feedback loop and all these things come together to make a real nice hairy equation with lots of degrees of freedom well again if you go through and read the series that I wrote assuming that what you're really interested in is adjusting the damping factor of your loop of your velocity loop just controlling you know the damping response of that once again you can boil it down into a very confined set of constraints that you can deal with and you end up with these expressions right here now I'm still using a series P I control ER for the velocity loop and in order to confuse the terms of that loop versus the PI controller for the current I chose to use KC and KD in this case so here is what the expression is now KC should equal this expression right here of tau what is tau tau is just my filter poll time constant from my velocity full velocity feedback signal and then KD is equal to this expression and in both cases we have this other little term right here called the what is that is that that's not Sigma it's Delta thank you I never learned the Greek alphabet so I'm still struggling with that to me it's just a symbol so we have Delta here then what is Delta in this case that is the damping factor so what you can do is adjust your damping factor that's the only thing really you have to tune in your system if you know what your low pass filter pole is right here if you know what your system inertia is right here if you know the number of poles in your motor and also your rotor flux you can plug all the was in and this is the only knob then that you have to turn to adjust the damping on your velocity loop to be whatever you want it to be alright there was a comment oh the other comment I was going to made make here is a lot of times I get feedback on my blog people saying what is the rotor flux how do I find what the rotor flux is actually it's easier than you think assuming that you're using SI units metric SI units it turns out that the rotor flux in Weber's is exactly equal to your back EMF constant which is in volts per Radian per second so if you can find that then you help you can go ahead and plug it in right here and use that same value for the rotor flux so again we make some assumptions about you know that we were trying to minimize the amount of peaking that we want because in most cases we just that's not a good thing we plug all those in and we can end up with this expression right here for a permanent magnet let me see right here there's another term right here called K we have to plug these values in for K if this is a permanent magnet motor for an induction motor this is the expression I'm not going to bore you with all the equations because I figure if you're interested in that you can read it yourself on the blog site but I just want to make you aware that tuning your PI loop for a motor control system can be deterministic we can't make that statement in general for P I control loops but when we're dealing with motor control systems we can then you would have to go through and do that substitution where ka is equal to KP and then KB is equal to ki divided by KP I think it was and and solve that again and what you find is is that you're changing things in the case now for your parallel structure you're accidentally moving that the zero around and that's usually not in effect that you want you'd like to keep that zero fixed because it's working with some poles in your system to provide an optimum effect so that's why just the the approach of you know an empirical approach of just keep trying to and values for KP and ki in a parallel form I mean that's pretty much what you have to do is just empirically put things in there because it's always going to be moving your zero in your in your PI controller around which is not a good thing but it can be done okay does that answer your question any other questions about this okay this just shows an example it's kind of hard to see that I know with the with the red color there but you can see different values of damping factor that I've chosen right here the yellow line in frequency that is the that is the frequency of my this is my velocity filter pole and you can see is I get damping factors which approach unity in fact if I have a damping factor of 1 that will turn into an oscillator because it'll become right here on top of the velocity filter pole and it'll just ring so damping factors usually in the area of about I would say 3 to 10 that typically gives a good response of what you're looking for okay yeah it's really hard to pick that up I know in the with the colors of it there we go now you can see them a little bit better and this right here also shows the the time step response for different values of the damping factor so again values between like 3 & & 10 typically give a fairly good response if you start getting out into damping factors you know much greater than that you're getting into very very over damped kind of responses so again it's it's a way for you to tune your velocity loop with just one knob which in most cases is what people prefer versus empirically just trying to put in different values of KP and ki all right well as we talked about yesterday Richard mentioned the fact that we've got an integrator in a PI controller obviously and you run into problems where you can end up with wind-up what's called a wind-up effect and it gets the name from the fact if you take like a watch spring and you wind it up really tight and then you let it go what's going to happen is it's going to unwind but then once it gets back to the rest position it's got like some inertia associated with it and it's going to keep winding up in the other direction and then it'll kind of go back and forth like that that effect is called wind up and the problem is is actually created whenever you have very high frequency transients in your system and I'll give you an example here this is my input command right here let's say I have a step function input command to this P I control loop this is what I want the output to do but because of the poles in my transfer function for my plant it can't do that it can only respond this fast well look at what's happening here the difference between this graph and this graph in this area right here that's all the error that I'm essentially integrating up all right that's actually getting put on the integrator output when I finally do get to the commanded position now my integrator has all this excess if you're looking at in terms of voltage it has all this excess voltage on it you can tell I'm a hardware guy because I'm used to designing old P I control loops with actual integrators in them and what we have to do now is we have to dump that excess voltage but the only way we can do that is to create negative error now so we end up overshooting until finally all this error right here gets dumped back and we're back into the same response that we wanted well if you don't have some kind of protection against your wind up you end up with systems that are very very under damped in fact it can actually overshoot wildly and then undershoot overshoot all because of the wind up in my system so how do we deal with wind up how do we how do we affect that there's different ways to do it one is what's called integrator switching and I've actually used that before and in the thinking behind that goes why do I want the integrator in my control system to begin with it's because I'm trying to get rid of steady-state error well if I'm just starting my move profile am I worried about steady-state error probably not it's only when I start getting close to the desired trajectory or the desired position or the target that I'm really worried about the integrator so instead of letting it integrate through the whole trajectory of the move only switch it on at the last part when my error signal gets below a certain value and then use that is kind of like the landing lights to bring your you know bring it in all the way all right that can work the problem with that is is depending on when you do the integrator switching you can actually create discontinuities in your current waveform so you know if you're dealing with a situation that can have lots of different torque variations on it you know from zero torque to maybe full torque integrator switching is is going to create discontinuities in your control waveform so not a lot of people use that a much preferred technique is integrator clamping and in this case right here we provide some upper and lower limit on the integrator in terms of what it can actually what the value can be and there's all kinds of different ways to set this I read recently an article that I found online apparently somebody had done their master's thesis or something on all the different ways to manage integrator wind-up I think there was like 15 different techniques that he had in his paper probably even more but the most common ones involves some type of clamping as shown here where you set some upper limit or some lower limit and in this case right here what we're doing is we're saying well not not in this particular example but one of the techniques that people use is just to take whatever your saturation limits are for your system and use those as your limits for your integration so if this is a current controller for example the output of my current controller is voltage and if I'm running with a 24 volt power supply for example well then I would have a hard limit where my system saturates it at 24 volts so why have the integrator continue to integrate up into hundreds of volts when in fact I've already clamped my system let's just go ahead and put those limits on the integrator and that works really good for for a lot of applications a better technique that I have found is what's called dynamic clamping and that is shown here where we actually set the limits of the integrator based upon what my P I or what my P term signals are so what I'm going to do is to look at the P out which is right here and use that as part of my equation to determine how to clamp it now the thinking behind this goes something like this if I've got a big error in my system in other words the difference between my commanded value in my measured value is significant so significant in fact that the P term alone is capable of driving my system into saturation then why do I want the integrator doing anything to drive it harder in a situation that doesn't make any sense so by looking at the pee out put term you can say well if the pee output term is in fact that P gain is high enough so that that signal has already put the system into saturation figure that into the equation right here so that we dynamically limit the integrator based upon what the P output term is and I've got some examples I don't know if I have it in this slide set but if you go up on my blog series on that 10 part series you'll see some examples comparing no integrator clamping with static integrator clamping versus dynamic integrator clamping and you can see that it does make in fact a very dramatic difference in the amount of overshoot that you get out of the PI controller one question I get asked a lot is okay you're talking about integrators and P I control loops I know how to do a P term in software how do I do an integrator well an integrator is actually very very easy to implement now again we're not showing any clamping or anything here but in its simplest form all we're doing is creating an adder alright and and what we have here is some kind of summation block and a delay block and the equation is the new output value is equal to the old output value plus the new input value times T and what is T T is our sampling period so by using this expression right here or if you're actually implementing it in C code it is simply this one expression this one line right here and you can make an integrator so it's very very active actually very very easy to implement so let's go now and expand our PI controller into a PID structure as Richard was talking about yesterday now when might you want to use a PID controller in a motor control system well a very common example of that would be if you have like a position control loop and you don't want to do the cascaded structure for whatever reason and well actually a good reason would be probably because it's easier it's quicker to calculate because when you have a cascaded structure you have to go through each one of the blocks and the calculations take a little bit longer but if you don't have a cascaded structure and you want to do it all it's just one mathematical expression then you're going to need something to give you some phase leap because as the example of a position loop you have too many integrators in your transfer function you're going to end up with an oscillator if you don't do something to pull that phase lead back into line so that would be just one example in this case as you can see we take the the error signal and split it up into three different paths now including a derivative function followed by a derivative gain and that also gets added into the output why would you not want to use a D term especially with digital control systems synthesizing a derivative function can be very very noisy so if you've got something on this signal right here which has got a little bit of noise writing on it what is a differentiator all it's going to do is amplify that noise and you end up then creating a system which might have a lot of noise on it so there's advantages and disadvantages I think the cascaded approaches now the really what most people use but you still see people who like to use the the D term how do you implement a differentiator very very similar to the structure of an integrator except that now we have the the 1 over T on the output here being multiplied by that the output the new output is equal to the present input minus the previous input so now we've got we've got the delay term working on the input side times 1 over T and if you translate that in the C code it looks something like this where we now have a two step process right here now let me again try to paint the need for ad term in an example that I think you guys could understand or relate with I usually like to try to draw all these things back into the real world because a lot of times we're doing this stuff in our heads all the time and not even thinking about it so here's another example let's say you're driving down the road and you encounter a sign that looks like this bridge out eight feet ahead now for you drivers in Texas let me translate that for you that means stop here in case you didn't know all right because if you don't then some bad things are going to happen and you're going to end up looking like this so you now are the controller of your control loop you look something like this you have your commanded position what is the commanded position here well it's wherever the sign is located on the street all right that's you want to stop right at that spot not overshoot not even by eight feet or bad things could happen so there's your commanded position you are the controller you have two ways to affect the plant which is the car you have a gas pedal and a brake pedal this would be thought others like in a real motor control servo system this would be like positive voltage and negative voltage or positive current and negative current all right essentially I want to apply positive torque or negative torque now here's my car and I can actually measure or look at the position of the car compare that to where I am in the sign with respect to the sign and then adjust the gas pedal in the brake pedal accordingly now with the information that you have here available to you is that a stable system do you think that we have all the information that we need to make this system stable well the answer is no we don't this is not a stable system and I'll show you why according to the way that this system is designed with the feedback components that we've chosen the only way that I can start putting on the brake pedal is if the error between my commanded position and my actual position starts to go negative so that means I get that this actually exceeds this value and at that point I apply my brake and which point you're you're already too late especially if you're going like 50 miles an hour you can't stop the car on eight feet all right so what do I need to do well in that case I need to incorporate velocity information now what is velocity with respect to position it's the derivative of it this is the same way we same reason we put derivatives in servo control systems is because we can take the position take the derivative of that to get velocity and really when you think about it when you're driving down the road you're doing that all the time your brain is incorporating velocity information into your control loop to make it stable if you were let's say you somehow had a system where you couldn't see how fast you were going all you could see is what your position is relative to the to the actual position that you wanted to stop at well you wouldn't know when to put on the brakes you put on the brakes at a different spot or a different position if you're going 10 miles an hour versus 100 miles an hour right that's why we need velocity information in order to make position servo systems stable again assuming we're not using a cascaded structure so that is then created by this derivative term right here and that can be used to stabilize your system now I've actually designed a digital control system using the PID approach and I was actually able to characterize its response based upon different values of my D gain because V gain the gain on the D term is what determines the sensitivity of your system to speed and that also then determines the stability of your system so let's say again using our car analogy this is where you are right now you're at a red light then all of a sudden the red light turns green starts moving but then up ahead you see another red light so you know that now that position is the position you want to stop at depending on the what kind of sensitivity you have to your velocity you can get different profiles for how you stop let's take an example here this one right here notice that the the D gain is turned way up in other words this system is very sensitive to how fast it's going that would be like the little old man or the little old lady who's very scared or very sensitive about how fast they're going and as a result of that they ride with one foot on the brake all the time you know you've seen those people right well as a result of that extreme sensitivity to their speed they're not going to overshoot but it's going to take them forever to get to the point where they stop at the direct at the right spot now let's take the case of I'll pick on Ken he's not here is he good because ken is from New Jersey and I've seen how they drive in New Jersey it's about as bad as Boston they don't care how fast they're going their D term is dialed way down so what is going to happen in that case Ken is probably going to overshoot the place where you're supposed to stop go out into the intersection and say oops I'm out in the intersection I guess I'll put it in reverse and go back to where I was supposed to be or if you know Ken he'll probably just say aw heck with it and just keep on going all right now here's how we drive in Wisconsin we have a we have our D term sensitivity adjusted just right we're obviously sensitive to how fast we're going but not too sensitive so that we will put on the brakes at the right time so that we coast to a nice stop right at the spot we're supposed to be at so you see my point with position servo systems your sensitivity to how fast you're going is your D gain that's what sets the D term okay and you can get different responses based upon how you adjust that D term but again remember unless you've got an analog velocity sensor you're like a tachometer or something creating a lone oiz velocity signal in a position control system can be very very difficult to do because in many cases you're trying to do it with a discrete position encoder in other words it's just a bunch of square waves and you're trying to get nice velocity velocity signals off of that and that can be very very challenging and one of the reasons also why you might want to consider using a sensor less approach to your to your system the problem with most sensorless techniques is they don't work in in position servos because they're you're trying to go to some position and just hold it at zero speed and that's a very big challenge for foremost sensorless control algorithms so if we go back and look at my system let's look at it from the bode plot point of view here I'm coming down with a position control system and by the way most position servo systems have this same response I'm coming down at 40 DB per decade that means I've already encountered two poles and I am already with a phase shift of minus 180 that is the point where I'm going to crash if I'm not careful because 180 degrees of phase shift combined with unity gain equals oscillator and I want that so if I don't do anything to break my fall I'm coming down at 40 DB per decade I like to think of this as kind of like this is earth or this is the ground this is an airplane coming down I'm coming down too steep I'm going to crash and that's exactly what the phase margin right here shows if you look at the point where it crosses 0 DB right there well actually I do have a little bit of phase margin it's like 2 or 3 degrees technically that means it's not going to burst into oscillation but it also means your response is going to be so severely under dampest to make the system unusable instead what I'm going to do is somewhere right about here I'm going to kick in my my 0 from my differentiator that gives me phase lead which essentially breaks my fall from 40 DB per decade to 20 DB per decade I can now come in for a nice landing and from a phase margin point of view look at all the phase lead that I get out of having the D term and that is what contributes to the stability of your system as Richard was talking about yesterday so let's kind of put a ribbon around this whole discussion and that is if we look at our control system we have you know some kind of controller with a transfer function forward transfer function a plant which is our motor or some mechanical system in most cases that we're trying to control with some kind of feedback gain associated or as shown here and this is now our complete control loop we typically don't see a lot of analog control systems being used anymore for a long list of reasons as shown here low noise immunity changes over temperature hardly any flexibility on and on and on it goes that's why a lot of people are moving now to digital control systems where we have some kind of microprocessor microcontroller which is doing these calculations for us in a sampled system environment in other words it's now discrete time versus continuous time and as Richard talked about yesterday the problem is all those nice analog controllers that we made that we use with analog control systems they don't work with a digital control system we have to find sampled system equivalents of that so we have to turn all of our transfer functions into Z domain expressions which are equivalent to that that is the first challenge the second challenge is of course we're introducing more phase delays because we've got these sampling holes in our system the A to D obviously has a sampling hold which can create phase lag we also have a PWM module which is a sample and hold did you know that that the PWM module is a sample and whole module think about that you calculate a PWM value you drop it into the PWM module and then you return from your interrupt or whatever what happens to the PWM module it keeps generating that same pulse width until you come back and change it some other time it's in other words it's held the value of the pulse width well that's another phase delay in your system and all these different phase delays can add up and cause problems not to mention the fact that you only have a window into what's happening in your system at these discrete points in time we really don't have any guarantee of what's happening in between here so there's lots of challenges with designing a digital control system which brings me to the next blog series that I wrote it's called the 10 commandments of digital control and this was actually one of the earlier blogs I wrote which is up on that same blog site and what this is is this is just kind of I don't know a potpourri of tips and tricks that you can use when designing a digital control system talking about sampling frequency how you choose your sampling frequency compared to the bandwidth of your system goes into a little bit about observers what is an observer how you use an observer things like that so if you're interested in that kind of stuff and you really want to know the truth about digital control systems the things that your mom never told you then you can go to this website and and get more information about that so since Richard talked a lot about control yesterday I don't want to spend too much more time talking about it but what I did want to do was to connect the dots in other words from the theory that was presented yesterday to real systems that actually implement this stuff in a motor control environment in a motor control application and hopefully you got a little taste of that as we bring it down a little bit closer to to reality before I go on to the next section which i think is the most exciting section of the presentation are there any questions on anything we've talked about yet are you still awake good good because if you're not you need to wake up for this next section in fact no I'm not quite ready for a break yet but pretty soon we'll have a break but I want you to now to wake up put your thinking caps on because this next section if you missed this you're going to miss something so important to motor control does anybody have any idea what I'm talking about the most important control technique for motors today actually yeah insta spin is a form field oriented control exactly how many have heard of field oriented control before quite a few of you how many of you have had the privilege to use field or Andy control I won - okay he of you for the rest of you you're in for a real treat this is going to be something that I think it is and I've actually referred to this before I think this is the most exciting development in motor control since the AC induction motor was invented in the late 1800s and the reason for that is is because this is a unified control topology that works with just about every type of motor in fact I could even extrapolate to show that this works with DC motors as well it's the same principle what we're trying to do as the name implies is orient our fields and if you orient your fields properly on a motor all kinds of wonderful things happen okay now we typically see this used today with AC motors because AC motors up to well actually this technique was first conceived in the late 60s 1968 by a researcher at siemens named Felix Blaschke up to that point if you wanted to control an AC machine you had to do it from what we call the stationary frame in other words you had to actually generate the sine waves yourselves and figure out okay how do those sine waves relate to the flux of the motor and it was just a very very complicated technique as Don Novotny who is a professor at university of wisconsin-madison put it he said once we saw field oriented control equations we all just nodded our heads and said well of course this is the way you'd want to control an AC motor whether it's a permanent magnet AC motor whether it's an induction motor whether its interior permanent magnet motor it doesn't matter all these different motors are candidates for field oriented control and I think you'll see why when we get through this field oriented control is an example where we use the Cascade control topology field oriented control in and of itself is a torque control algorithm so what we're talking about here is just the current controller and synchronizing the current controller to the motor flux in such a way that we can get optimum control if you want a speed loop if you want a position loop then you cascade those around the field Orion just like you would as we showed earlier okay so fasten your seat belts and I guess before we get into this let me back up do we do we know whether the WebEx thing is working yet or not because it would be nice to get this one on there if I could get it let me see let me just try to join the internal there we go it seemed like it's back up now what was the thing I was going to search for again that's right no right give me just a second here and we'll get this thing running all right push this out of the way there we go so at least for now it's working so do you have something coming through back there or good all right excellent so let's talk about field oriented control starting out specifically with an AC motor how do we do with an AC motor well here we have a situation where I have this motor that it's a three-phase motor and you can see that the three phases are distributed in all these different slots right here inside the stator I'm referring to the stator as the part of the motor that is stationary so it's called the stator this is the rotor which is the part that's rotating pretty easy to figure that out the three phases of of my windings are all distributed equally throughout the machine throughout their circumference of the machine in these stator slots as shown right here and what I'm going to do is I'm going to put currents in these windings it's a three-phase machine so obviously three phase currents in the windings in such a way as to create this rotating magnetic field as shown by the colored band that is turning there now if I put the rotor inside of here you can see that the rotor in this case has permanent magnets on it it's going to try to follow that rotating magnetic field of the stator and in this case right here it's following it perfectly now looking at the way that that rotor is tracking the magnetic field of the stator can you tell me anything about what the motor torque is at this point in time it's zero exactly because it's following the field perfectly what if I put my thumb against this thing it started loading it down what would you expect to happen to the angular relationship between the stator magnetic field and the rotor magnets start what is start start lagging a little bit right and that's exactly the effect that you have if we look at the curve and this was something that I actually plotted from a simulation of the Toyota Prius motor you can see that if the angular alignment between the rotor flux and the stator magnetic field is the difference is truly zero then yes we have zero torque but as I start applying more and more torque to my my rotor you can see that that's going to translate into further and further phase lag where the rotor is lagging the stator flux until I finally get to a point of 90 degrees at that point I'm generating the most torque that I possibly can for that given current on that motor and if I try to apply more torque than that I go over the fallout curve right here and what's going to happen is the motor is going to lose control it's going to lose synchronization it's just going to flop around on your bench like a fish out of water okay so the goal is obviously to not let it get over here because this part of the region is unstable from here to here is stable but we'd also like to be able to flirt with right at the top of that curve because that's where we get maximum torque for AM and that's what field oriented control is going to allow us to do and to allow us to do it in a stable way so that we don't have to worry about coming over the edge of that curve right there okay so the way that we do that is we first of all need to know on our rotor what is the angle of the rotor flux and there's different ways that we can get this and that's basically it's a big discussion in the area of field oriented control is how do you determine the angle the rotor flux but once you know the angle of the rotor flux well then you know exactly where you need to position your magnetic vector on the stator we said we want that to be 90 degrees with respect to that because that's what gives us maximum torque per am so here in this example let's go ahead and run this and in real time as this motor is spinning in order to generate a current vector or essentially a magnetic flux vector on the stator to be 90 degrees with respect to the rotor flux I'm going to apply threeway the three phase currents to each one of the windings and I've synchronized this diagram to this diagram in such a way so that you can actually see you know when the for a B and C when the currents have to be positive peaking or negative peaking all right now let's say that I want the motor to go faster what do I do do I change the angle of my stator flux with respect to the rotor flux now I always want to leave that at 90 degrees that's the magic maximum port per amp value instead I increase the amplitude of my current waveform leading these waveforms still perfectly synchronized to the position of the rotor flux so in other words I just made my current vector bigger and I can continue that you know ad nauseam now I'm at even a higher torque which means in most cases that your waveforms are going to be faster because the motor now is sped up unless of course it's under some heavy load alright if I want to calculate what the torque is this is what the torque will be first of all I need to know how many poles how many rotor poles my motor has in this case it only has two a north and a south you actually have some rotors that have multiple patterns of poles north and south across the rotor so how many of your poles I have I divide that by two this is just a scaling constant right here 3 over 2 and this right here defines what the torque is and this is the rotor flux all right which we're going to assume for now is constant that we can't do anything to affect that what is this term right here this is the vector portion of the current waveform which is 90 degrees with respect to the rotor flux that's why it's called Q because Q stands for quadrature so if it's quadrature to the rotor flux that means it's at 90 degrees with respect to the rotor flux now that doesn't mean that my current amplitude or my current vector has to be at 90 degrees for this expression to work it could be at 80 degrees instead of 90 degrees I could have you know 80 degrees what this expression says is it's only the portion of the vector that resolves onto the axis which is 90 degrees with respect to the rotor flux is the only portion of the current that generates torque the other portion of that current which is the the portion that is directly aligned with the rotor flux does not produce any torque okay does that make sense so when you look at all this right here this is a constant I can't change the amount of holes that my motor has for now we're going to assume that my rotor flux is constant the only thing that's adjustable is the amount of the current which is exactly quadrature to the rotor flux and that's what I adjust it and that's how you typically do it in a field oriented system is adjusting that component of the current waveform so to do field oriented control let's just let's try to see it from a high-level point of view and if I'm doing it on a digital processor I get an interrupt I go out and I measure the rotor flux angle using sensor door centralist techniques but I need to know what the angle that rotor flux is then I regulate the current vector to be at 90 degrees with respect to the rotor flux by adjusting these three phase currents in such a way that it creates a vector which is 90 degrees to it and then I exit my interrupt service routine and this is something that may be done in most cases like it you know ten thousand times a second so that means every 100 microseconds I'm going out and checking what the new angle is of the rotor flux recalculating my three currents to give me a current which is exactly quadrature to that and then I exit yes ah that's a good good question let's think about that your motors whipping along all of a sudden you hit it with a torque impulse what's going to happen assuming that all you're doing is controlling the torque or the current you're not controlling speed you're just putting current waveforms out there your motors going to start slowing down right and it'll slow down at a at a rate that is commensurate with the inertia of your system and everything else but it's going to start slowing down as the motor is slowing down the angle of your rotor flux is going to start that angular movement or angular velocity is also going to slow down right the way that this algorithm works is we don't care what that angle is whatever it is instantaneously we're taking like a still picture of that rotor for that particular interrupt whatever it is wherever it is we need to calculate the currents to be at 90 degrees with respect to that I've actually seen systems where it's a field oriented control system and all of a sudden they hit it with a mechanical stop like a brake this just immediately ping the motor just stops and you can go feel the torque it's still exactly the same because it's always synchronized to that rotor angle whatever it turns out to be does that does that make sense okay any other questions about that this is a good section to ask questions on if you don't get it because you'll regret it later if you don't yes ways to a variable frequency drive on the motorways well this time my computer just shut down let's take a break but before we do that I want to answer your question so say that again concept of changing the the phase of the current so what you're basically going to have to do is change the frequency is a way for alright your frequency of your current waveform has to be synchronized to the angular frequency of the motors is spinning that's exactly right exactly right so any other questions on that okay ten o'clock let's take a break I'll get my machine rebooted and then we'll take it from there we'll try to be done maybe in about 15 minutes in and come back in and do it again
Info
Channel: Texas Instruments
Views: 163,009
Rating: 4.9327397 out of 5
Keywords: Feedforward, Feedback, Stability analysis, Cascaded controllers, PI control, PID control, Current controllers, Velocity controllers, PI tuning, FOC, Field Oriented Control, Sensorless FOC, InstaSPIN-FOC, MotorWare, Observers, Space Vector Modulation, d-q axes decoupling, Field Weakening, PMSM control, ACIM control, IPM motor control, MTPA
Id: fpTvZlnrsP0
Channel Id: undefined
Length: 84min 2sec (5042 seconds)
Published: Wed Feb 19 2014
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.