Field-Oriented Control

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 พ.ค. 2024
  • ti.com/motordrivers
    www.ti.com/motor-drivers/over...
    TIPL Motor Drivers series video on Field-Oriented Control (FOC).
    The content of this training will aim to inform viewers on BLDC motor
    construction, the various commutation methods used for BLDC motors
    (especially FOC), and the technical background on FOC in terms of the control
    loop and fundamental mathematics involved.
    Applications of an FOC system will also be discussed, to discuss how the
    advantages and disadvantages of this technique may impact the overall motor
    driver system
    TIPL Motor Drivers Series - Trapezoidal Commutation
    training.ti.com/ti-precision-...
    TIPL Motor Drivers Series - Sensored vs Sensorless COntrol
    training.ti.com/ti-precision-...
    C2000 Microcontroller Training
    training.ti.com/c2000-motorco...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 19

  • @Adhithya2003
    @Adhithya2003 9 หลายเดือนก่อน

    Brilliant video sir, Thank you 🙏🏻

  • @arnaullort9180
    @arnaullort9180 ปีที่แล้ว +2

    Moreover, a BLDC has got a trapezoidal Back-EMF. For this reason, trapezoidal commutation is highly recommended. As far as i know, FO Control is mainly used in BLAC motors, AKA PMSMs because of the sinusoidal Back-EMF. The advantage is that applying Parke and Clarke transforms to these motors make the model non-dependant of these trigonometric functions as the dq coordinates rotate synchronized with the three sinusoidal phases required to control these kind of motors. Please, correct me if I am wrong

    • @julekkostrzewa
      @julekkostrzewa 3 หลายเดือนก่อน

      they rotate synchronized with the rotor

  • @emiledestructeur
    @emiledestructeur 2 ปีที่แล้ว +1

    Hi TI, thanks for this video. I am a student in EE and long time fan of TI's ICs. I am very grateful for the material you guys put out there and I have been trying to write some FOC program to run in an embedded system I'm building.
    The setup is a C2000 F280049 microcontroller and a DRV8353 motor driver. My application is for high speed turbine and so I am opting for the sensorless FOC. I was wondering if I could get some feedback on my approach since I can't post on the E2E forum ( I don't have a company email).
    So the way I get theta is by first finding the angular velocity. I create an ECAP event to measure the timing between two zero-cross of the current waveform. This gives me the sine's period and with (2pi/T) I find the speed in rad/s. I then multiply the speed with the time since the last known position of theta (this would be the last zero-cross, since i know that when the current is at zero on a phase, the rotor angle is perpendicular to that phase. Is this a decent approach?
    Also, i have a question regarding the timing of current measurements. The IC i use (DRV8353) has integrated low side current amplifier. It is my understanding that, for the current to be measured, the low side gate has to be active for the duration of the adc sampling. This however has nothing to do with the commutation vector and so it is unclear to me when to activate the low side pwm signal. It is worth saying that the adc is sampling upon EPWM end of period interrupt. Should i force all 3 phases' low side FET every time i want to measure the current or is there a better way to do this?
    Finally i just wanted to add that I really enjoy C2000 mcu's sharpness. Comparing the zero-cross timing on the oscilloscope and what the ECAP returns in software, i can tell that its spot on, down to the microsecond.

    • @TexasInstruments
      @TexasInstruments  2 ปีที่แล้ว

      Hi Émile, thank you for your question! We recommend checking out these resources:
      FOC TIPL video: training.ti.com/field-oriented-control?context=1139747-1138777-1139742-1149236
      Instaspin FOC: www.ti.com/tool/INSTASPINUNIVERSALGUI?keyMatch=&tisearch=search-everything&usecase=software

  • @SurvivalSquirrel
    @SurvivalSquirrel 5 หลายเดือนก่อน

    2:40 Advantage: High efficiency - Disadvantage: Not maximizing motor efficiency. Is this an error, or are there better techniques?

  • @admanaglee2048
    @admanaglee2048 ปีที่แล้ว +6

    I think you are park transform is wrong in 7:48 in the video

    • @vex123
      @vex123 ปีที่แล้ว +2

      I think so too. q should equal to alpha * sin(theta) + beta * COS(theta). Not sin for second term

  • @ryanmckenna2047
    @ryanmckenna2047 ปีที่แล้ว

    Why do the PWM signals need to go through an inverter? I am trying to implement FOC for a stepper motor like the Nema-17.

    • @veegee24
      @veegee24 7 หลายเดือนก่อน

      What they mean by "inverter" in this case is just a 6 transistor full bridge. For a 2 phase stepper motor, you need 2 H bridges as you normally would. And such a thing already exists, look at SimpleFOC.

  • @juvanerik
    @juvanerik 10 หลายเดือนก่อน +1

    I haven't seen a single real life motor, implementing a rotor like this simple bar magnet, that all explanations of park-clark transform use. How in the name of God does this work in an actual motor with multiple poles e.g. 12p9s? I can't picture this 90deg angle in real life where there are multiple magnets on the rotor.

  • @quannguyet2653
    @quannguyet2653 ปีที่แล้ว

    Why’s Id setting = 0?

    • @arnaullort9180
      @arnaullort9180 ปีที่แล้ว +1

      Hi, after applying Clarke and Parke transforms, you end up having two coordinates. Called d-q coordinates. The d coordinate is allways aligned with the rotor's magnetic flux and the q coordinate at 90 degrees of it. If you set q to 0, then the torque is 0 because all the magnetic torque generated orthogonally to the rotor's magnetic flux is 0. As d is aligned with the rotor's magnetic flied, it will eventually stop mooving as q=0 and d!=0. On the other side, if you set d to 0 all the current is pushing the rotor's magnet orthogonally, generating maximum torque as id=0 and iq != 0

    • @arnaullort9180
      @arnaullort9180 ปีที่แล้ว

      BTW, consider giving a look to a video posted by Mathlab talking about this type of control

    • @quannguyet2653
      @quannguyet2653 ปีที่แล้ว

      @@arnaullort9180 thank you so much

    • @quannguyet2653
      @quannguyet2653 ปีที่แล้ว +1

      I have a question. What is happen if Id*< 0 ?

    • @vellu5051
      @vellu5051 ปีที่แล้ว +1

      @@quannguyet2653 Decreasing id below zero is field weakening. It helps motor spin faster