How to do Space Vector Modulation (Understanding Motors episode 11)

Поділитися
Вставка
  • Опубліковано 9 жов 2024

КОМЕНТАРІ • 51

  • @rohitronie
    @rohitronie 4 роки тому +22

    Eagerly waiting for the next episode. Finding yours videos on internet is Eureka!!!

    • @jtlee1108
      @jtlee1108  4 роки тому +5

      Just finished it up last night! Releasing this afternoon at 3:30!

    • @rohitronie
      @rohitronie 4 роки тому +1

      ❣️❣️❣️

  • @ahmedhesham6944
    @ahmedhesham6944 9 місяців тому +2

    My mind is truly blown by the level of clarity and simplicity in the content you're offering. Your ability to break down complex topics into such easily understandable explanations is a rare gift. Thank you for making learning so accessible and enjoyable!

  • @iforce2d
    @iforce2d 3 роки тому +9

    The only thing better than discovering a video series like this, is seeing all the parts are already released so I can binge watch.... and binge watch I did. Outstanding work!

  • @gearscodeandfire
    @gearscodeandfire 2 місяці тому

    I just watched five videos straight and I figured I should periodically stop, take a deep breath, and leave an affirmative comment.
    Dude this freakin' rules 🤘
    As somebody who has recent memory of thinking that stepper motors were complicated, and as somebody who just started screwing around with Simple FOC, this was the video series I needed to make it make sense.
    Thank you.
    Fun fact: it took me longer to figure out how Tig welding actually worked on UA-cam than it did to learn how FOC control of brushless motors works. That's amazing how efficiently you deliver that understanding.

  • @Jose13T
    @Jose13T 2 роки тому +5

    This series was awesome, really. You are very very good explaining this. Can i make a request of a "sensorless" video? You talk in all the videos about motors with hall sensors but i wold like to see your approach to sensorless rotor positioning. Thanks!

  • @thorlancaster5641
    @thorlancaster5641 3 роки тому +3

    Your video series made the concept of FOC so much clearer compared to textbooks and articles full of nothing but dry math. Of the whole series, this video was my favorite. Can't wait for my controller components to arrive.
    BTW, have you heard of the user Lebowski on Endless Sphere? He's an expert of FOC and even got sensorless FOC working from a standstill. Sadly his code is closed-source, but with a powerful enough processor and high-bandwidth current sensors, it looks doable even for a mortal like me.

    • @kezyka6775
      @kezyka6775 2 роки тому

      I'm guessing the user you talk about does a quick back emf reading to get a rough rotor position in order to select a starting phase.

    • @thorlancaster5641
      @thorlancaster5641 2 роки тому +1

      @@kezyka6775 Lebowski's implementation measures the inductance of the motor. As a phase gets closer to a permanent magnet, its inductance goes down. This works at speeds from standstill to where standard FOC takes over.

  • @georgederleres8489
    @georgederleres8489 Рік тому +1

    Excellent video. But the type of SVM you described in the last video, is not Alternate Sequence Modulation, I believe. I have seen it as Third Harmonic Injection

  • @sooahtz
    @sooahtz 3 роки тому +1

    Thank you very much for this high quality and easily understandable video, we'll wait for reluctance torque session of you to understand IPMSM motor as well!! and how to and what to consider to control it. Keep safe from covid19!!

  • @grantbarthelmes1950
    @grantbarthelmes1950 26 днів тому

    Amazing videos jantzen truly! Although, I have one remaining question: how do we understand the connection between the PWM switching pattern you show here and the alternate reverse SVM waveforms that we are trying to create? How is it that this exact form of PWM switching creates those funky voltage waveforms we need (perhaps you could connect this with the SVM 6 vector hexagon as well) ?
    Thank you

  • @theonlypirdain
    @theonlypirdain Місяць тому

    Hey,
    Great video, I'm very impressed with you knowledge for the subject matter.
    But I think you missed injecting a third harmonic in the PWM sequence, the triangle wave and it's implementation is missing from your software scope. It's dependent on the angle of the magnetic field vector and based on that we will either add to the voltage vector or subtract to it on the positive and negative sides.
    If you address this in a future video it'll help put a complete closure to this series, which I believe is the best one out there.
    Kind Regards

    • @ekon01cz
      @ekon01cz 20 днів тому

      I think so, he was showing third harmonic, but didn't explain where he got one. Because you don't get that just from SVPWM.

  • @Mohdis123
    @Mohdis123 3 роки тому +1

    Please do one with using FOC for power generation and the power flow.
    It's hard for me to think about where FOC will give current to the motor and at the same time draw current when generating power especially when talking about SynRM. Can't wrap my brain around the power flow especially from and to the inverter from load, supply and generator.
    Thank you. Highly appreciated your content.
    Subscribed and turn on notification.

    • @jtlee1108
      @jtlee1108  3 роки тому

      hi,
      honestly with the amount of time that is required to make each video, its unlikely that i will end up making a video on something that specific, mostly because i am shifting to a new set of ideas in the near future. that said, i am more than happy to chat about it and try my best to clear it up if you have any specific questions. i had not heard much about SynRM motors, and honestly everything i can find to read on them seems more like it was written by a marketing team than an engineer. it all seems kind of hand wavy and like they are applying new terms to tech that has been around a while.
      As far as driving vs generating current, the way i tend to simplify it is that, if you are running current control, if your current is below what you are commanding, you are going to drive current. if it is above what you are commanding, you are going to regenerate current. Then, there are two ways that you generally will have a current above what you command: A) you change your command from one value to a lower value, or B) you are turning quickly enough that your back EMF is what is driving the current. I know your confusion is likely more in depth than that, but that is the set of first principles it will ultimately come back to. Feel free to reply with a more specific follow up and i will try to speak to that. Thanks so much!

  • @narayanamjairamdesik9007
    @narayanamjairamdesik9007 3 роки тому

    thanks for explaining the video in such an easy manner. Eagerly waiting for your next episode.

  • @kinmantech
    @kinmantech 3 роки тому +3

    The link to the provided paper is dead. Do you have another?

  • @thearvie
    @thearvie 3 роки тому

    Hello!
    First of all, your videos are amazing! Excelent audio and video quality! I'm a fan, alredy subscribed!
    Now, I have a (probably) dumb question. I understant that this control scheme is oriented to BLDC, permanent magnet motors, but... can I apply the same theory to a good ol' induction motor (ACIM)? Do I have to change something, or is it a completely different topic?
    Thanks a million!
    -Rick

  • @andiaaes
    @andiaaes Рік тому

    Hi, great content! I have a question, with a 100% duty cycle how come the off time is not 0%?
    Math:
    Say t=1, dc =1, Alpha =0
    t1=t*dc*sin(60) =0.86
    T0=0.14?
    Why is my controller tuning off 14% of the time with 100% duty cycle?
    Edit: i bet you forgot to add the extra 14~% effeciency you could add by using this method. You mentioned in a previos episode.

  • @royli3697
    @royli3697 4 роки тому +1

    Thanks Jantzen, great series! A few questions:
    Firstly, I found the formulae for calculating T0, T1 and T2 a little confusing: what is the duty cycle here? Aren't we ultimately trying to calculate the duty cycle for each phase? When I am implementing a method to calculate SVM here, my parameters will be the coordinates in the alpha-beta frame, is there a way to deduce this duty cycle based on them?
    Secondly, the table that converts t0, t1 and t2 to tA, tB and Tc is pretty opaque for me. Can you please some reference on how it's derived?
    Lastly, I don't fully grasp the need to use null vectors. If the reference vector can be fully decomposed into the two active vectors, why do we need to spend time in the null vector at all?
    Thanks for your time!

    • @jtlee1108
      @jtlee1108  4 роки тому +4

      Hi! first off thanks for the questions, I imagine this stuff isn't super easy to understand in a format where you cant have direct dialogue about the things that are confusing, so this should (hopefully) be broadly helpful. I will try to address each part of your questions, but if any fall short feel free to ask a follow up:
      1) So I read this question, wrote a response, then re-read it. Afterwords, I realized that I may have misunderstood the question, so im going to post the answer to both potential questions:
      -------If your question was "What are T0, T1, and T2"-------
      The duty cycles when talking about T1, T2, and T0 are the amount of each period you spend in each of three configurations, where T1 and T2 are each active phases, and T0 (for the alternating reverse sequence) is split between the two null vectors. These values are then plugged into that table (question 2) to find what you send to each of the 3 phases. An important note that I may not have clarified well enough in the video, however, is that the values T0, T1, and T2 are really times, not duty cycle. The "T" term in the equations for T1 and T2 are the period of your PWM (1/frequency). The reason we do this is that (at least in my experience) you need to send some version of this period to the PWM modules on most microprocessors.
      -------If your question was "What does the 'DC' variable mean"-------
      the duty cycle variable here is the requested duty cycle, which would be the output of your current control loop. We touched on this some in the previous episode (around the 4:30 mark), and my next episode will go further in-depth into this. Basically, your current controller looks at the current in your system, compares it to the current you want, and commands a voltage. The voltage commanded is then divided by your supply voltage to give you a duty cycle (saturating if its over 100%). This value is the "DC" variable shown in these equations.
      2) The long short of this answer is that it is a more sophisticated version of the commutation table we developed in episode 6 (around 4:45). However, instead of being full blast in whichever two phases (Hi and Lo) we said in that episode, you are now modulating such that you perfectly align your current with your Q vector. this table was originally detailed in "understanding space vector modulation", a 1996 paper by Peter Pinewski, but I dont really have a good way of linking that. Texas Instruments has a really good series that covers all this (albeit longer, and with worse audio *pats own back), and the third part of it, which introduces this can be found here : ua-cam.com/video/5eQyoVMz1dY/v-deo.html
      3) great question, and I find that null vectors tend to be a major source of confusion for people. So, if you want Current to flow in your motor, but not the max amount of current possible, you will handle this by using a duty cycle less than 100%. Lets say you use a 50% duty cycle. So, half the time, you are driving current to flow via an applied voltage, and half the time you aren't. Well, the times you are forcing voltage, you are going to be in voltage configurations 1-6. However, what do you do when you aren't driving it? you have a couple of options (episode 7 talks about this in depth with respect to block commutation). You could switch all your FETs off, just like you do in "hard switching", for example. However, this causes your current to decay quickly, as it will be forced down by the battery voltage. Essentially, the two null vectors are SVM's response to the question of how to handle the 50% of the time you dont want to drive current. It allows the current to keep flowing, but in both cases it doesnt do anything to slow down or speed up the current flow.
      Hope this helps, let me know if you have any more questions!

    • @royli3697
      @royli3697 4 роки тому

      @@jtlee1108 The answer no.1 and no.3 make perfect sense, they're very helpful, I appreciate it! I need to give the TI video a watch to understand the second one. Thanks!

  • @matanpazi563
    @matanpazi563 3 роки тому +1

    Really enjoying your videos and the animations!
    By the way, what animation software are you using?

    • @jtlee1108
      @jtlee1108  3 роки тому +2

      thanks! I use affinity designer to draw everything, apple motion to animate it, and Final Cut Pro to cut everything together.

    • @matanpazi563
      @matanpazi563 3 роки тому

      @@jtlee1108 Damn, sounds like a lot of work, really appreciate it!
      I'm a control engineer, I showed these videos to everyone at work, really helps give an intuitive understanding.

  • @AppleCakes7
    @AppleCakes7 4 роки тому +2

    So there is always a voltage applied to each phase? I was under the impression that a voltage was sometimes completely disconnected during low duty cycles, but I guess V0 and V7 are used instead.
    The link to a paper on alternate space vector modulation methods seems to be broken for me, can you share the name of the paper or another link?
    Thanks for the great video series!

    • @jtlee1108
      @jtlee1108  4 роки тому +1

      In my experience, with the exception of the dead time to protect against shorting a leg of the H bridge out, each phase is either connected to high or ground. I cannot say with certainty this is universally true for all SVM patterns though. As to the paper, the link is also not working on my end and I didn’t write the title down, so I’m gonna do some researching, find it or another paper and get back to you in just a bit! Thanks for letting me know that was off!

    • @jtlee1108
      @jtlee1108  4 роки тому +1

      I dont know a ton about the journal this was published in, so I cant speak to its reputability, but this paper talks about the same ideas discussed in the other paper. its worth noting that what I called alternating reverse SVM they refer to as symmetrical (which is confusing because they refer to another as alternating) research.iaun.ac.ir/pd/shahgholian/pdfs/PaperM_4648.pdf

    • @AppleCakes7
      @AppleCakes7 4 роки тому +1

      Thanks for responding! I'll take a look at the paper. Do you plan to cover more about the current control loop in the future?

    • @jtlee1108
      @jtlee1108  4 роки тому +1

      R J yessir (or maam, your photo is a dog so who knows). That is currently scheduled to be the 15th and final episode of the series’s, though I’m considering reorganizing the last few episodes. Unfortunately because I just moved houses and have a lot of projects to do, my video production has become slightly slower (one should be coming out next Thursday)

  • @ИванИван-и5х9д
    @ИванИван-и5х9д 2 роки тому

    Can't access document in the link. Are there any other sources on types of modulation? I'm particularly intrested in second type of modulation (on the right side, when you show three pics with different modulation patterns). Can't find it anywhere. Can somebody help me?

  • @adnaneakk1068
    @adnaneakk1068 Місяць тому

    i have problem understanding why we still using Sectors while we have a SPWM technique, i mean we got rid of the ripple and we can get the exact current just by the angle ( sensor ), why did we use the sectors that are for 6 and 12 commutation blocks, because i totally lost it when you entered the T0 T1 T2

  • @Music_Engineering
    @Music_Engineering 3 роки тому

    What's the name of the paper you have linked to? I think it might have been moved :)
    Also, great video I hope you keep making videos about motors
    Could you make a video about how pmsm's are wound sinusoidally?

  • @NoName-rn8uk
    @NoName-rn8uk 3 роки тому

    Great video!

  • @ramani1601
    @ramani1601 3 місяці тому

    🎉🎉

  • @33samogo
    @33samogo 11 місяців тому

    Now I see why linear algebra is useful 😄

  • @bryanblaise79
    @bryanblaise79 4 роки тому +1

    What software do you use to make these videos?

    • @jtlee1108
      @jtlee1108  4 роки тому +3

      I draw everything in affinity designer (its a more affordable, one time purchase alternative to adobe illustrator), animate them in Apple motion, and cut together in Final Cut Pro X

  • @sungurtigin7258
    @sungurtigin7258 10 місяців тому

    wow, what a video

  • @MrJames-nx3un
    @MrJames-nx3un 6 місяців тому

    Why do we need to use V0 and V7 what happens if i remove them. Line must be V1 - V2 - V1 - V2 - V3 - V4 - ....... And i wanna say, that's a great explanation sir, thanks for your video

    • @felipedamascenosilva3011
      @felipedamascenosilva3011 5 місяців тому +1

      The idea behind V0 and V7 is that you can control the magnitude of your SV current/voltage instead of only controlling its angle. You achieve so by litteraly turning the IGBT bridge off from time to time, rather then always working on full capability. If you remove them, you lose the ability to smoothly turn on and turn off your motor in a ramp shaped form, for example.

    • @felipedamascenosilva3011
      @felipedamascenosilva3011 5 місяців тому +1

      Actually, after reinspecting the equations on 8:33, I saw that, even on full work (DC = 1), you still have T0 different from 0. That should be to avoid "escaping" the unit circle, since the true range of that SV basis is an hexagon, not a circle. I belive that, if you're already in stead state and want to overperform, maybe you can overmodulate by dropping V0/V7, but I can't say that for sure.

    • @MrJames-nx3un
      @MrJames-nx3un 5 місяців тому +1

      @@felipedamascenosilva3011 thank you for the helpful explanation, have a nice day

  • @hansi98
    @hansi98 3 роки тому +2

    why do the PWM Perionds need to be center aligned?

    • @jtlee1108
      @jtlee1108  3 роки тому

      great question! so, I am not positive if they HAVE to be center aligned for SVM, but it results in the best voltage waveform with minimal harmonic distortions and minimizes the number of MOSFET switches (which is good since your MOSFETs behave worst in the linear region which only happens when they switch)

    • @iforce2d
      @iforce2d 3 роки тому

      @@jtlee1108 Surely the number of switches has to be the same either way? Center-alignment would make switch events more spread out instead of always aligned simultaneously, so it would probably result in overall smoother changes of current flow.

    • @jtlee1108
      @jtlee1108  3 роки тому

      @@iforce2d So, disclaimer that im not 100% confident in this answer. However, what I would say is that center aligned PWM, for the same number of switches, would effectively double the frequency of changing which voltage configuration you are in (when compared to left or right aligned.). So, my understanding is that, sure, you could run both center or left aligned at a given PWM frequency, and each would have the same number of switches (as each phase turns on and off once per PWM period), however, you will go through two instances of each driving configuration per PWM cycle when using center aligned. So, if you wanted to get the same effective PWM frequency you would end up doubling the switches for non-center aligned. Again, im not 100% confident in this answer, but drawing out the phase voltages across a PWM period(like the diagram on the left at 9:44) makes me think this is true.

    • @iforce2d
      @iforce2d 3 роки тому +2

      ​@@jtlee1108 Hi Jantzen, after this I watched the video you linked to in another comment ("Teaching old motors new tricks"). Without watching your series first I would not have had a clue what he was talking about, but after your easier to follow introduction I actually understood it fairly well. Anyway, somewhere during that video it finally clicked for me what you were saying about less switches needed. I think the cause for my misunderstanding is your diagram at 6:51 which shows a switch up and then down again within the same time period. If I understand it correctly, there's only one switch per time period because it just stays at the latter state across the 'border' between periods. Eg. for a 60% duty cycle if the starting state is low, a low->high switch will occur at 0.4T in the first period and remain high. In the next period it will switch high->low at 0.6T. So across the two periods it was high for 60% of the time, but with only two switches. The slight drawback is the frequency will be halved, but I guess in most applications reducing switching losses is more important.

  • @piyushmessi7758
    @piyushmessi7758 11 місяців тому

    so cute you are