cancel
Showing results for 
Search instead for 
Did you mean: 

MC_FOC_DURATION

lmaggi
Associate
Posted on January 18, 2016 at 16:37

Dear all,

i'm building an application using STM32F303 and FOC Library 4.1.

We're using a custom board with three shunt topology.

PWD is 16kHZ and the motor runs up to 26k rpm. I use hall sensors for the statup phase and the switch to sensorless mode. Everything worked like a charm until i atted some functions using DMA (one is used to write on an SD Card and the other is used to draw a bitmap stored in flash on a LCD controlled via FSMC).

When thes functions are called the MCI_GetSTMState returna and error state and MCI_GetOccurredFaults returns .

Does anybody have an idea of what can be the cause of this issue?
2 REPLIES 2
j239955_stm1
Associate II
Posted on March 30, 2016 at 12:45

Hi,

i get same problem when using CAN open comunication. We work on to figure out the problem at the Moment. i will repeat until we find a solution.

I read you start up with HALL and switch to sensorless

we want to do the same but do not know exactly how to proceed

Any help will be great.

30.03.2016 found solution for switching sensors

Gigi
Senior
Posted on April 01, 2016 at 14:31

Ciao

FOC duration is an error message that appear when the FOC didn't was able to complete the required algorithm in time.

The FOC algorithm starts as soon as the new measurement of the motor current has been completed and finish when the duty cycle to be applied to the output have been calculated. If this occur before the next control cycle (typically this is at frequency of the PWM, or it can be divided by a FOC ratio) there are no problem. If this take too much time the FOC duration is raised.

Probably in your cases, you are writing some part of code that is executed at the same priority (or greater) respect the priority of the FOC algorithm and this delay too much the update of the duty cycles generating the error.

Ciao

Gigi