cancel
Showing results for 
Search instead for 
Did you mean: 

OPEN_LOOP_VOLTAGE_d parameter

JackyCheung
Associate II
Posted on August 19, 2017 at 13:34

debugging motor in open loop mode

#define OPEN_LOOP_VOLTAGE_d   6000    /*! < Three Phase voltage amplitude  in s16 format */

  1. What is the formula for the value of

    If I want to output a fixed voltage value, how to determine the S16 value

    ?

   PhaseVoltage(V) = [PhaseVoltage(s16V) * Vbus(V)] /[sqrt(3)*32767].

If I want to output a fixed voltage value, how to determine the S16 value?

  

4 REPLIES 4
Enrico Poli
ST Employee
Posted on August 24, 2017 at 15:50

Hi,

I think the value is defined as duty-cycle of the PWM applied to the motor in a 16 bit format.

0 --> 0 % of duty-cycle --> no voltage applied

65535 --> 100 % of duty-cycle --> 100% of the bus voltage applied to the motor

6000 --> 6000/65535 = 0.0915 = 9.15 % of duty-cycle --> about 9% of the bus voltage is applied to the motor

You can easily check it with an oscilloscope

Posted on August 24, 2017 at 16:47

I tested, S16V maximum is 32767, but how can not calculate

Posted on August 25, 2017 at 15:43

Ok, so you already have the answer.

Vphase = Vbus*OPEN_LOOP_VOLTAGE_d/32767

This will be the peak value of the the sinusoidal voltage applied to the motor.

Posted on August 26, 2017 at 12:15

Now understand, thank you!