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.

Questions about InstaSPIN-BLDC

Other Parts Discussed in Thread: INSTASPIN-BLDC, CONTROLSUITE, MOTORWARE

Hi,

I'm testing the InstaSPIN-BLDC solution using DRV8312-Kit (RevD) and 3 phase BLDC motor.

This motor is used in application that require high speed RPM. For example, dental, jewelry and nail grinder.

Specification of motor is below.

Rated V: 42 Vdc / 42 Vdc (max)

Rated I: 2A / 4A (max)

Rated RPM: 50,000 RPM

Inductance : 120uH ± 10 (each phase)

Resistance : 1.5Ω ± 0.5 (each phase)

And test environment is below.

Test Project : D:\C2000\controlSUITE\development_kits\DRV8312-C2-KIT_v129\GUI_project_InstaSPIN_BLDC.

I changed Gui.Max_VDC from 2880 to 5000 in source code.

Power Supply : 28V ~ 42V. 

I connected 28V power supply to EVM and set very small duty (5% under) in GUI.

And then motor spun but fault state is red. When I increased duty, over current shut down is occurred.

Next, I increase power supply by 42V and set duty 5%. motor didn't spin.

So I changed the ISR_FREQUENCY and PWM_FREQUENCY from 20KHz (default in source code) to up to 50KHz.

Program didn't run when frequency rise up to above 50KHz. Because rasing frequency requires many resources.

CPU Utilization @ 60 Mhz is 25% at 20 KHz ISR frequency. So I couldn't raise frequency.

I have some questions.

1. Is it possible to raise more than frequency above 100KHz?

2. Is it possible to set different frequency of ISR and PWM?

 

Thanks.

  • Remony,

    Yes, with BLDC techniques you have run into a design challenge with higher current / lower inductance motors. They can have nasty di/dt and it makes it more challenging on your inverter.  Start-up is especially challenging as that is where you see some of the worst current switching with BLDC.  As you suspected, increasing PWM frequency is usually a help on these motors. Unfortunately the way this controlSUITE InstaSPIN-BLDC code was created doesn't make this completely straightforward, especially if you need to run the PWM frequency higher while running the control slower (so you don't overflow the MIPS).  The best way to do this is to use the ADC SOC event prescalar to decimate the interrupt into the controller.  

    For example, you can set up the PWM to run at 60 KHz, have the ePWM Module only send the ADC SOC every 3rd event so that the control system is being run at the same 20 KHz.  Where you have to be careful with this is if any other calculations are based on the timing of the PWM or control system.  Just make sure they are using the correct time base.

    With the MotorWare based InstaSPIN-FOC solution we had this in mind, so the controller state machine is built with a series of ticks that can be decimated and it's very easy to set the PWM frequency (and use the ePWM event hardware in the next revision we will push).  

    So the answers to your questions are Yes, and Yes. Although I don't think 100 KHz will be required for your motor, you can certainly try.