This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BLDC Motor Control with Hall Sensors Driven

Other Parts Discussed in Thread: DRV8312, DRV8301, CONTROLSUITE

Hi ,

I'm looking for a demo code to control a BLDC motor with hall effect sensors . This demo code must be different from BLDC_sensored of DRV8312 C2 KIT.
In particular I would use interrupts of hall sensors to turn the motor. It is possible to do this on f28035 MCU ?
In this case : The motor commutation is processed once a Hall sensor edge is captured.
Are there reference guides to develop this technique?
Currently I'm using DRV8301 KIT ...
I hope someone help me
Thanks in advance,
Dario
  • the only other example is on the TMDSHVMTRPFCKIT
    C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVBLDC_Sensored
  • Hi Chris,

    I know Ti's method to control BLDC sensored with a single interrupt "MainIsr" . I need to implement a solution that uses Hall sensors's

    interrupts to change switching sector.

    it is possible to do this with the kit "DRV8301 HC C2"?

    I would like to recognize the rising or falling edge of a sensor , then associate a interrupt.

    How should I configure these pins : GPIO or other peripheral ?

    I hope some expert can help me.

    Thank in advande
  • Dario,
    I suppose if the only feedback into/out of a system was based on hall edges you could do that, but in 99% of applications this is not the case. you need to sample currents or voltages and apply a voltage back to the inverter periodically (based on a PWM rate is most usual; in our case this PWM rate starts ADC conversions, and when they are complete they set the mainISR)

    I really don't understand what you are trying to accomplish with your method.
  • Hi Chris,


    I would like to implement the technique described in this article :

    www.embedded.com/.../Implementing-Embedded-Speed-Control-for-Brushless-DC-Motors-Part-2

    or in this Freescale's application note AN4413 ( BLDC Motor Control with Hall Sensors Driven by DSC ).

    This article has shown this method: At every interrupt, the MCU has to execute a code that properly changes the output state. This interrupt-based code must interpret the Hall signals correctly and then change power-switch states, first turning off one switch and then turning on the next.

    I have to find a solution to develop this tecnique on TI's board as DRV8301 HC C2 KIT or TI's board with C2000.

    My application is current control of BLDC motor.

    Could you give me some advice ?

    Thank for your reply ,

    Dario
  • HI Chris ,

    I would like to implement the technique described in this article : Implementing Embedded Speed Control for Brushless DC Motors: Part 2

    or in Freescale's Application Note ( AN4413).

    In this tecnique : At every interrupt, the MCU has to execute a code that properly changes the output state. This interrupt-based code must interpret the Hall signals correctly and then change power-switch states, first turning off one switch and then turning on the next

    I'm looking for a solution to develop this method on TI's board like : DRV8301 HC C2 kit

    Could you give me some advice ?

    Thanks for your reply
  • Hi ,

    Has anyone read my question?
  • the technique in the application note is very similar to what is done in

    C:\ti\controlSUITE\development_kits\DRV8312-C2-KIT_v128\BLDC_Sensored

    I don't understand why you are trying to do something different...or even what you are trying to do that is any different. or why.

    This is the only hall BLDC technique that we give examples for (and is similar to everyone else's in industry).

  • Hi Chris,

    Ti's technique is based on a single MainIsr. In your tecnique , you captured a edge change of the hall effect sensor in MainIsr
    You do not use an interrupt related to edge change of the hall effect sensor

    I would develop motor control strategy based on 4 ISR . There are 3 ISR linked to the hall effect sensors . Un example of this method is described in AN4413.

    For my application, I need to understand and evaluate the two strategies ( Ti's and other ).

    Is It possible to this with TI's EVM kit?

    To implement this technique, the Hall effect sensor inputs must be configurated as 3GPIO or 2GPIO + 1ECAP ?

    Thanks in advance
  • Dario,
    Your mainISR is going to be running much faster than any change will be occurring on the Hall sensors, so what is the harm of having the hall sensor check inside the main control loop. Having an ISR based on the fastest control loop frequency is a better scheme. Nesting of interrupts would not be preferred.

    I can't really answer if you could do this or not...I would guess you could, though I wouldn't recommend.

    For the code examples we simply use GPIO for the hall sensors. The ECAP have more functionality though depending on what you want to do.

    good luck
  • Thanks for your reply .

    I have a problem with speed measurement . I'm using your demo code for my BLDC motor with Hall sensor.

    I need to understand what happens when the motor is stopped. I have a delay with the measurement speed. I think this delay . Is it due to the fact

    that algoritm don't detect change in edge of the hall effect sensors?

    Please , see this post : e2e.ti.com/.../1505558
  • Hi ,

    in addiction , I would use Ecap1 to measure the speed of the motor with hall effect sensors ... can i do this?