Introduction to InstaSPIN™-BLDC Motor Control Solution

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi folks this is Dave Wilson with Texas Instruments and today I'm very excited to talk to you about a new motor control solution that TI has been working on it's called insta spin BLDC now the technology behind insta spin BLDC is actually not new the concept has been around for quite a while and it's based upon the age-old principle that simple is actually better now what we've done is we've taken this technology and we've repackaged it into a form that will be very easy to use by our customers this is actually a sensorless commutation algorithm and I think that the thing I like about it best is how incredibly easy it is to use to get your motor spinning will take very very little effort in fact we feel tested this on many different motors and in each case we were able to get them up and running in a very short time so before we go into the details of what insta spin is let's take a look at brushless DC motor control in general to kind of set the stage for this technology so here we can see a simple brushless DC motor control system and in this case we have a three-phase brushless DC motor driving a rotor which actually has four magnetic poles on it now sometimes there's some confusion as to what is the proper way to drive a brushless DC motor and in fact I've talked to some people who believe it's very similar to the way you drive a stepper motor because of the commutation zones that are associated with a BLDC motor now with a stepper motor what you do is you just energize the coils in whatever predetermined sequence that you that you want the motor to run at and you just kind of cross your fingers and hope and pray that the rotor can keep up with that pattern that you're applying to the stator windings when you can do that with a brushless DC motor but it's probably going to run very rough instead what we want to do is first of all determine what is the position of the rotor at any given moment in time and then based upon that information determine which coils to turn on and off to give us the best torque response out of the motor so we see that with a brushless DC motor we need to at all times have very accurate information as to what angle the rotor is at now the most common or traditional way to do that is with what's shown here in this diagram is to use Hall effect sensors and you can see on the back of this rotor there's a magnetic disk consisting of four magnetic poles and we have three Hall effect sensors and what this will do is basically every time one of those north/south boundaries between the magnets on the magnetic disk crosses under one of those Hall effect sensors the output of the Hall effect sensor will change from a zero to a one or a one to a zero and what this does is this creates intervals or commutation zones which allow us to monitor the angular position of the rotor to within a specified resolution and with this configuration with three Hall effects and a magnetic disk with four sectors on it it allows us to know the motor shaft angle to an accuracy of thirty degrees so this information is fed back to the controller and the job of the controller is based upon what angle that the rotor is at to determine which coils need to be turned on and off to give it the maximum torque in the desired direction that you want the motor to spin so using Hall effect sensors to sense the angle of the rotor shaft actually works very well it's a very robust solution and it goes all the way down to zero speed but there are some problems associated with using Hall effect sensors and the first one and perhaps most obvious one is the additional cost that's involved with using Hall effect sensors not only do you have the cost of the sensors themselves and in many cases the additional magnetic disk on the motor but you also have the additional connectors and wiring involved to get those signals back to the controller and this can be a very big deal especially if your controller and your motor are separated by any appreciable distance but the second problem is reliability remember if we're going to be using connectors to get those signals back to the controller connectors tend to be in many cases vibration sensitive and a lot of times you have problems with you know the signals getting through the connectors it also means you have to have an additional power supply to power the Hall effect sensors and if that power supply goes bad or anything happens to any of the Hall effect sensors you've lost the ability to commutator machine so for these reasons and perhaps other ones as well we would really like to get rid of the Hall effect sensor in fact we'd like to get rid of censored feedback period and this brings us to the topic of sensorless control of brushless DC motors now there's a right way and a wrong way to control a motor using centralist technology and before I introduce you to the insta spin technique let me show you the wrong way to do it here we can see a traditional sensorless commutation scheme based upon timing the zero crossings of the back EMF waveform so what you'll notice in this case is it for every commutation interval there will be two phases that are driven one will be driven high and the other one will be driven low the third phase is not driven and during that time the back EMF signal is ramping either high I should say it's ramping either up or ramping down so the way that this scheme works is for every undriven phase where we're looking at the backing of signal we want to measure the point that it crosses zero and you can see that by the the green lines here so what I'm going to do is take the back EMF signal when it's crossing zero and I run that into a comparator or I run it into an A to D converter input and what I want to do is measure the time at which it crosses zero then I wait until the next commutation interval when another phase is back EMF signal crosses zero and I take a timestamp on that as well now assuming that the motor is spinning at a constant velocity what I can do is take the first time stamp subtract it from the second time stamp to get a time delta and if the back EMF to zero crossings are occurring at the same spot within each commutation interval I now know the width of each commutation interval because it should be the same as the time Delta that I've just calculated so what I'm going to do is to take this time Delta I'm going to divide it by two and then take that value and add it onto the most recently input captured time value when I do that I set that up as an output compared and then I wait for the timer to reach that compare value once that happens it generates an interrupt and then that becomes my commutation interrupt service routine so I keep doing this over and over always calculating the delta time between the zero crossings again that should correspond to my commutation zone width and then always scheduling up a new output compare interval which should again if everything is working correctly it should correspond to the time when I'm supposed to calm you take my machine now there's obviously a few problems with this approach first of all how do you get the whole thing started remember a motor doesn't generate any back EMF when it's just sitting still so just about any sensorless algorithm is going to have to have some kind of starting algorithm just like you do with your car when you step inside your car and you turn the key you actually have a manual starter that just kind of gets the engine turning over and over until finally it kicks in well it's something like that we have to do the same thing with a brushless DC motor and what we typically do is just start supplying some sequences to the motor like you would with a stepper motor yeah I know I said never drive it that way but in this case you have to do something like that to get the motor started so it's going to run rough it's going to you know the rotor is just going to follow the commutation sequence but eventually it will catch on and you'll start getting some back EMF zero crossings but there's another problem with this and that is the whole premise of this is based upon my assumption that I'm running at constant velocity what happens if I'm not running at constant velocity what if I'm accelerating or decelerating since I'm always trying to predict a future event based upon past information then I'm going to always miss my true commutation boundary if the velocity is changing now you can actually implement some observers there's a whole section or a whole different study on observer technology and you can actually track the the change in the commutation zero crossings monitor that and then actually compensate for the acceleration but again it takes a while for it to learn the fact that the speed has changed so even a good observer you're still always trying to predict a future event based upon information which has occurred in the past and then finally as the motor is going slower and slower what you see is your back team if amplitude is getting smaller and smaller so this technique which again is based upon measuring something in the back EMF signal typically doesn't work well at very low speeds so for these reasons and probably a few more that I forgot this does not represent a good way to do central control of a brushless DC motor so let's see how insta spend BLDC addresses some of the issues that were brought up in the previous slide but first of all what is insta spin BLDC well to put it simply it's basically a software method to perform sensorless commutation on 3-phase bldc motors and there's three distinct advantages that I think are worth mentioning at this point first of all it enables very quick commissioning of your motor I mean in most cases you can get your motor spinning very very quickly with minimal adjustments required and we'll talk about that a little bit more in the next slide the second advantage is very robust control even at low speeds because we're not actually measuring something on the back EMF signal we are creating another signal which has much better characteristics at low speed and the final advantage is it has an exceptional ability to ride through velocity perturbations so as your speed is changing we can detect it immediately because we're measuring a signal in real-time that's affected by changes in the speed something else to point out is how many processor pins are required to implement insta spin in a minimal implementation events to spend BLDC you basically only need nine signals that would be six signals for your PWM or perhaps only three PWM s if you're driving a device that has its own dead time circuitry and three signals for A to D inputs which actually measure divided down versions of the phase voltages of your motor and that's it let's take a deeper look at some of the advantages associated with insta spin first of all it's extremely robust and I've talked about this a little bit in the previous slide we've actually field-tested into spin on about 80 different types of motors all of them of course 3-phase bldc motors and in each case the motor was running in under 30 seconds if you can believe that and we actually had it suitably tuned in under two minutes and the reason for this is actually the next bullet is because it's extremely simple you don't need to be a rocket scientist or a motor control PhD in order to use this there's basically only one parameter that you need to adjust to tune the commutation process and that same parameter that you use to adjust the commutation process can easily be changed on the fly if you want to to allow commutation advance at higher speeds another advantage is that we're actually creating a different signal which has much lower noise characteristics at low speeds then the back EMF signal does and that's what we use for commutation and then since we're actually measuring the signal in real time if the speed changes it's changing this signal in real time as well and therefore we can adapt to acceleration changes immediately again unlike the back EMF zero crossing technique at last let's take a look under the hood and see how insta spin BLDC actually works so what I've done here is I've actually replicated the three-phase commutated voltage waveforms for brushless DC motor and once again you can see that for each unpowered phase you can actually see the back EMF signal crossing through zero and have also added the effects of the inductive commutation whenever you turn a coil off because remember there was current flowing in that coil the current has to keep going somewhere because the coil is inductive and as a result of that it creates a voltage spike as shown in the waveforms in the diagram now as you see the back EMF voltage crossing zero during the unpowered phases instead of actually timing the point at which it crosses zero what we're going to do is we're going to integrate the area under the curve after it crosses zero so let's just take phase a for example you see the first instance where we turn off the phase and the back EMF signal appears and it's got a negative slope on it we immediately start an integrator which is trying to integrate in the negative direction but it's bounded by zero so during the portions of the waveform that are positive we can't integrate because like I said the integrator maximum value is clamped at zero but as soon as the waveform cross is zero then the integrator starts integrated negative numbers and then what you see is since this is a linear waveform if we integrate that what we actually get is a quadratic looking waveform and that is what we use to calm you take the motor with now you may remember from your magnetics classes what is the integral of voltage it turns out its flux so the waveform that we're actually recreating to use the commutator machine is flux and all we have to do is set a threshold for when the flux gets to a certain value and that's when we commute eight the machine in other words we're essentially counting the flux lines that are being accumulated as the magnet sweeps past the coil and once we've counted enough flux lines we say okay the rotor must be in the correct angle now to calm you take the machine now what do you suppose would happen if we were to reduce the magnitude of the B threshold values that the flux waveform is being compared against well that means that the flux waveform is going to hit those threshold values earlier so we can see at higher speeds if we want to cause commutation advance to occur all we have to do is to reduce the magnitude of the threshold values so let's spend a little bit of time trying to understand why insta spend BLDC work so much better under conditions where the speed is changing and what I've done in this particular slide is I've drawn out one waveform let's say phase a for example and the commutation boundaries are actually shown by the vertical dashed lines what I will do now is show the zero crossing point that's where I actually want to start integrating and the area that I want to integrate is actually shown by the blue triangle right here so as I integrate that area over time I create a waveform that looks like this and if I set my threshold voltage my negative threshold voltage to exactly the right value the flux will reach the threshold value at exactly the right time at which point I'm supposed to calm you Tate now let's call earlier what we said we said that if we integrate voltage we get flux that means the voltage must be the derivative of flux but let's rewrite that we can actually bust that up to say that it's the partial change of flux with respect to angle times the change of angle with respect to time in other words we busted this up into two different variables one variable is machine dependent and that's equivalent to the back EMF constant of the machine but d theta/dt do you know what that is that's actually the speed that the motor is going at so let's say in this particular example that I want to slow my motor down by 1/6 that means that the amplitude that I'm going to be talking about now will be 1/6 the amplitude of what it was previously and you'll also notice that since the motor is running six times slower now that just one commutation interval is exactly the same width as what six commutation intervals were earlier so now the area that I'm trying to integrate is the red triangle is shown right here but what's interesting is that the area under the curve does not change in other words this is the same triangle that we had before when we had the faster waveform what we lost in amplitude we picked up in time so in other words even though our y-axis got smaller our x-axis got larger by exactly the same proportion so what that means is is even though it's going to take us longer to create that waveform we're still going to hit the threshold at exactly the time when we're supposed to be calm you tating and you'll also notice here that if the speed is changing in real time during the time that I'm integrating that's affecting the back EMF waveform and that will be reflected in the flux waveform so that I'm still guaranteed to calm you Tate at the right time even if the speed is changing dynamically let's take a look at this animation of instace Ben BLDC in action now this is a 3-phase bldc motor where the coils are actually split up among six stay polls and this is a four-pole rotor so what this means is that there's going to be a two-to-one ratio between electrical degrees and mechanical degrees and this animation will actually spin through one complete mechanical revolution so what I've got here is I've got some arrows which show the direction that the current will be flowing we can actually watch the waveforms here once I kick this off and then when we commute 8i actually show which transistors in the inverter are going to be turned on and which ones will be turned off so let's kick this off and watch this thing work and you'll notice I've also included the effects of the inductive fly back you can see those on the voltage waveform and then at every zero crossing I have a vertical dashed line which indicates when the integrator is starting and you can actually watch the flux waveform down here as it integrates up and down and then hits the threshold as soon as it hits the threshold that tells the microprocessor that it's time to calm you Tate and then the processor goes to the next state in the table its lookup table to know which sequence or which pattern to drive the transistors with the previous animation shows in to spend BLDC working with 100 percent duty cycle but it obviously can work with other duty cycle values as well and what I want to show you now is the PWM technique that is used in the first release of this technology it's called bipolar pwms and it's actually a four quadrant regenerative pwm technique so let's take a look at this inverter right here and the way that you typically do this is you're going to be driving two phases of the motor with one phase turned off so in this case I'll be driving transistors 1 2 3 & 4 that represents the two phases a and B but you'll notice phase C which is represented by transistors five and six are going to remain off at this time and what I want to do is to measure the back EMF voltage which is present on the output of coil C now in order to get that back EMF reading I need to know what is the reference point or the neutral node inside the motor and that's where the beauty of this pwm technique really shows its advantage so let's go ahead and turn this on and you'll notice I have transistors 1 & 4 turned on I down at the bottom I plot the motor voltage also the motor current and the DC bus current now think about this for a second transistor 1 is on transistor 4 is on we're going to assume for now that the ohmic losses are the voltage drops across those transistors is negligible and I have no current flowing in phase C at all so what does that mean well that means if I have a balanced load between phase a and phase B that the neutral node should be sitting at exactly 1/2 of the power supply voltage so it makes it really easy to determine then what is the neutral node so I can actually take the reading from phase C and subtract the neutral voltage from that value now let's continue with the next segment of the PWM cycle and in this case right here we show that we turn transistors 1 & 4 off and turn transistors 2 & 3 on now the current will continue to flow in the direction that was established previously but what I want you to notice is the fact that now transistors 3 & 2 are turned on if we make this same assumptions that we did about transistors 1 & 4 once again what that means is the neutral node should theoretically be at exactly 1/2 of the power supply voltage so it doesn't really matter whether transistors 1 and 4 are on or 2 or 3 or on my neutral node voltage should not change and that makes for a very nice reference point then to take the reading off of a seat here you can see some actual waveforms of insta spin BLDC in operation using bipolar pwms and I've actually superimposed the theoretical value of the neutral node voltage on top of these waveforms which should represent the zero crossing point for the back EMF reading that we're trying to measure and you can see that since the neutral point voltage is not changing the back EMF signal is very smooth through the period where we're trying to take the reading and of course I mean you do see some PWM coupling into that waveform but the nice thing again about ends to spend BLDC is this is not the waveform we're using for commutation we're actually integrating this waveform and using that for commutation so when you run this waveform with all of its noise through an integrator I mean what is an integrator it's basically a low-pass filter with a pole at zero so we get a much cleaner waveform than to base our commutation on while the bipolar pwm technique does tend to keep your neutral voltage at a fairly fixed value it isn't compatible with all motors especially motors that have very low inductance and the reason for that is is because the voltage waveform is as the name implies bipolar that means that you actually have positive and negative portions during the PWM cycle so let's just take a typical example if your bus voltage is 24 volts that means that the motor will see a 48 volt peak-to-peak voltage across its terminals as your pwm in the motor and that will tend to cause some pretty significant current ripple which may end up overheating your motor if you have very very low inductance so this actually shows instance been working with another pwm technique now this is what you call in channel recirculation or unipolar PWM s now in this case the neutral point voltage will not remain fixed in fact it's moving up and down as your pwm ii now this does make it a little bit more of a challenge to get the back EMF signal but when you're dealing with the processor which has the ability to precisely time the sampling of the A to D converter with the PWM waveform then once again it's not a problem all we have to do is make sure that in the interval where we're trying to take the back EMF reading we actually time the A to D converter so it's sampling right in the middle of the PWM on time to avoid the switching edges so again you see that bipolar pwms or unipolar pwms both actually will work with insta spin BLDC the insta spin BLDC technology will be available on two hardware platforms and the first one is the DRV 83 12 board as shown here now the DRV 12 is a completely integrated three-phase motor driver with the power devices already on board and you can actually power this device from a voltage of 50 volts up to a continuous rating of three and a half amps or Peaks up to over six amps now one of the neat things about the DRV 83 12 I want to show you this in this graph this is absolutely amazing now this this graph was actually taken with the DRV 83 32 which is the Big Brother to the 83 12 but it's basically the same device in a different package notice the efficiency of the switching that we're getting over the switching frequency range I mean down around 100 kilohertz and under of switching you're up around 97% efficiency and to be able to go up to something like 500 kilohertz and still have 90% efficiency in your power stage is really quite an incredible feat and one of the reasons that you can do this is because the dead time in these devices is 5 nanoseconds so not only does that mean you're getting great efficiency but you're also getting pristine waveforms to drive your brushless motor with so again this is the DRV 83 12 board and this is one of the options that we will be releasing the insta spin BLDC technology on if your motor requires more current than can be delivered by the 83 12 then consider using our dr v 8301 board now the DRV 8301 is just a gate driver it doesn't actually have the integrated power fit inside of it and that allows you to hook up basically any power FETs that you want to this device and on this particular board which runs at 50 volts the power fits are rated for 120 amps so this will be able to muscle its way through quite a big motor load now let's take a look at the diagram here and you can actually see what the DRV 8301 looks like and how its typically connected up in a power circuit so we see here that we have the PWM s that are coming from the motor controller and you can select that to be either three or six because it does have its own integrated dead time generator if you choose to select that feature also over here on the three-phase in Moss gate driver outputs we use a high side charge pump which allows you to achieve 100 percent duty cycle on your PWM s if that's what you want to use the dual feedback op amps used right here are actually pretty fast they allow 1% settling times as low as 300 nanoseconds and that's partly due to the fact that the slew rate of these amplifiers is 10 volts per microsecond so for all applications except for the ones that require extremely high switching frequencies these amplifiers should be good enough for what you need to do also notice right here you don't need to have a separate power supply for your microprocessor we actually have a buck converter that will actually supply the voltage for your processor so again this is a very integrated solution a very complete solution and it allows you to scale your output stage to whatever power requirements that you need by allowing you to select your own fit to drive the motor to demonstrate how easy is to spend BLDC is to use we put together this interface which was designed by d3 engineering using the crosshair GUI tool John Warner at d3 actually designs amazing user interfaces which are just as much artwork as they are engineering when you first fire up the user interface you'll notice that the default control mode is set to duty cycle and what that means is that the knob will now be assigned to the PWM generator so you can just specify a value of zero percent to 100 percent duty cycle or zero percent to minus 100 percent duty cycle if your desire is to have the motor go in the other direction you will also notice several status indicator indicating whether there's any problems with your hardware and also an acknowledgement that your DC bus voltage is within the expected range now here's the really neat part in order to make your motor spin simply select an appropriate PWM duty cycle value which will be indirectly related to how fast your motor will spin and then click the enable motor button in most cases your motor should just take off at that point if it doesn't it probably means that your flux threshold is set to a wrong value so you can simply move the flux threshold level until your motor starts running correctly and you can verify that by looking at the voltage and current waveforms which are in the graphical display you'll also notice that we display the flux waveform itself and you can see that that's the integration of the back EMF waveforms after they have crossed the zero crossing point you'll also get an indication of the motor speed and RPM up in the top panel here and for more advanced applications you can actually switch the control mode to either be a current loop which will give you torque control or you can switch over to a velocity loop there's a lot more features associated with this user interface and you can expect a tutorial on just the user interface in the very near future to get more information on the hardware kits associated with instace pen BLDC or to download the instascan BLDC software and the associated GUI interface simply visit the control suite website as shown here and download control suite control suite is an application that runs on your PC and provides a convenient way to access TI's reference designs and applications information once control suite is installed on your computer simply click the application icon and this will launch control suite once the application is launched simply go to kits and then select DRV 83 12 - c2 kit low current 3-phase bldc /p MSM or if you're interested in the 8301 you could select that link instead but either way once you click that this will take you to the insta spend BLDC control suite reference page and from here you can get more information on the hardware kits and also access to the insta spend BLDC software so I hope you'll take inch to spend BLDC out for a spin yourself and see how easy it is to use this technology and after that take it home and let your wife and let your kids play with it it's that easy and that fun I'm Dave Wilson and thanks a lot for spending time with me today learning about insta spend BLDC in the meantime keep those motors spinning and I hope to see you again in another tutorial in the near future
Info
Channel: Texas Instruments
Views: 341,331
Rating: 4.8922448 out of 5
Keywords: motor control, motor, instaspin, bldc, brushless dc, gp_40140, gp_40165, tl_6295, tl_6296, eq_744, eq_195, eq_409, eq_747, eq_748, eq_746, eq_745, analog industrial, analogindustrial
Id: szgVUfyX8JM
Channel Id: undefined
Length: 32min 14sec (1934 seconds)
Published: Mon Feb 13 2012
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.