MotorWare f2806x Module API Documentation
user/src/32b/userParams.h
Go to the documentation of this file.
1 #ifndef _USERPARAMS_H_
2 #define _USERPARAMS_H_
3 /* --COPYRIGHT--,BSD
4  * Copyright (c) 2012, Texas Instruments Incorporated
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * * Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in the
16  * documentation and/or other materials provided with the distribution.
17  *
18  * * Neither the name of Texas Instruments Incorporated nor the names of
19  * its contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
24  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
25  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
26  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
29  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
30  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
31  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  * --/COPYRIGHT--*/
34 
39 
40 
41 // **************************************************************************
42 // the includes
43 
44 // modules
46 
47 
52 
53 
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 
60 
61 
62 // **************************************************************************
63 // the typedefs
64 
67 typedef struct _USER_Params_
68 {
72 
73  uint_least16_t numIsrTicksPerCtrlTick;
74  uint_least16_t numCtrlTicksPerCurrentTick;
75  uint_least16_t numCtrlTicksPerEstTick;
76  uint_least16_t numCtrlTicksPerSpeedTick;
77  uint_least16_t numCtrlTicksPerTrajTick;
78  uint_least8_t numCurrentSensors;
79  uint_least8_t numVoltageSensors;
80 
93 
94  uint_least16_t systemFreq_MHz;
95 
101  float_t estKappa;
102 
104  uint_least16_t motor_numPolePairs;
105 
107  float_t motor_Rr;
108  float_t motor_Rs;
116  float_t IdRated;
121 
122  uint_least32_t ctrlWaitTime[CTRL_numStates];
123  uint_least32_t estWaitTime[EST_numStates];
124  uint_least32_t FluxWaitTime[EST_Flux_numStates];
125  uint_least32_t LsWaitTime[EST_Ls_numStates];
126  uint_least32_t RsWaitTime[EST_Rs_numStates];
127  uint_least32_t ctrlFreq_Hz;
128  uint_least32_t estFreq_Hz;
129  uint_least32_t RoverL_estFreq_Hz;
130  uint_least32_t trajFreq_Hz;
131 
133 
135 } USER_Params;
136 
137 
138 #ifdef __cplusplus
139 }
140 #endif // extern "C"
141 
143 #endif // end of _USERPARAMS_H_ definition
float_t iqFullScaleVoltage_V
Defines the full scale voltage for the IQ variable, V.
float_t fluxPole_rps
Defines the pole location for the flux estimation, rad/s.
float_t fluxFraction
Defines the flux fraction for Id rated current estimation.
float_t forceAngleFreq_Hz
Defines the force angle frequency, Hz.
float_t motor_Ls_q
Defines the quadrature stator inductance, H.
float_t IdRated_delta
Defines the Id rated delta current value, A.
uint_least32_t estWaitTime[EST_numStates]
Defines the wait times for each estimator state, estimator ticks.
Contains the public interface to the types definitions.
uint_least32_t RsWaitTime[EST_Rs_numStates]
Defines the wait times for each Rs estimator, estimator ticks.
float_t iqFullScaleCurrent_A
Defines the full scale current for the IQ variables, A.
float_t IdRated
Defines the Id rated current value, A.
float_t maxCurrentSlope_epl
Defines the maximum current slope for Id current trajectory during EPL mode.
float_t motor_Rr
Defines the rotor resistance, ohm.
struct _USER_Params_ USER_Params
Defines a structure for the user parameters.
float_t maxAccel_Hzps
Defines the maximum acceleration for the speed profiles, Hz/s.
float_t maxNegativeIdCurrent_a
Defines the maximum negative current that the Id PID is allowed to go to, A.
the number of controller states
Definition: ctrl_states.h:39
float_t ctrlPeriod_sec
Defines the controller execution period, sec.
uint_least16_t systemFreq_MHz
Defines the system clock frequency, MHz.
uint_least32_t LsWaitTime[EST_Ls_numStates]
Defines the wait times for each Ls estimator, estimator ticks.
uint_least32_t ctrlWaitTime[CTRL_numStates]
Defines the wait times for each controller state, estimator ticks.
Defines a structure for the user parameters.
the number of estimator states
Definition: est_states.h:70
uint_least8_t numCurrentSensors
Defines the number of current sensors.
float_t IdRatedFraction_ratedFlux
Defines the fraction of Id rated current to use during rated flux estimation.
uint_least32_t RoverL_estFreq_Hz
Defines the R/L estimation frequency, Hz.
float_t maxCurrent
Defines the maximum current value, A.
uint_least16_t numCtrlTicksPerCurrentTick
Defines the number of controller clock ticks per current controller clock tick.
float_t voltageFilterPole_rps
Defines the analog voltage filter pole location, rad/s.
float_t directionPole_rps
Defines the pole location for the direction filter, rad/s.
MOTOR_Type_e
Enumeration for the motor types.
Definition: 32b/motor.h:71
MOTOR_Type_e motor_type
Defines the motor type.
float_t voltage_sf
Defines the voltage scale factor for the system.
uint_least32_t trajFreq_Hz
Defines the trajectory frequency, Hz.
uint_least8_t numVoltageSensors
Defines the number of voltage sensors.
the number of stator inductance estimator states
Definition: est_Ls_states.h:54
float_t offsetPole_rps
Defines the pole location for the voltage and current offset estimation, rad/s.
float_t pwmPeriod_usec
Defines the Pulse Width Modulation (PWM) period, usec.
float_t zeroSpeedLimit
Defines the low speed limit for the flux integrator, pu.
float_t current_sf
Defines the current scale factor for the system.
float_t indEst_speedMaxFraction
Defines the fraction of SpeedMax to use during inductance estimation.
float_t fluxEstFreq_Hz
Defines the flux estimation frequency, Hz.
float_t IdRatedFraction_indEst
Defines the fraction of Id rated current to use during inductance estimation.
float_t dcBusPole_rps
Defines the pole location for the DC bus filter, rad/s.
uint_least16_t numCtrlTicksPerTrajTick
Defines the number of controller clock ticks per trajectory clock tick.
uint_least16_t numCtrlTicksPerSpeedTick
Defines the number of controller clock ticks per speed controller clock tick.
float_t maxCurrent_indEst
Defines the maximum current value for inductance estimation, A.
float_t maxCurrentSlope
Defines the maximum current slope for Id current trajectory.
float_t speedPole_rps
Defines the pole location for the speed control filter, rad/s.
float_t motor_Rs
Defines the stator resistance, ohm.
uint_least16_t numIsrTicksPerCtrlTick
Defines the number of Interrupt Service Routine (ISR) clock ticks per controller clock tick...
uint_least32_t ctrlFreq_Hz
Defines the controller frequency, Hz.
uint_least16_t motor_numPolePairs
Defines the number of pole pairs for the motor.
uint_least16_t numCtrlTicksPerEstTick
Defines the number of controller clock ticks per estimator clock tick.
uint_least32_t FluxWaitTime[EST_Flux_numStates]
Defines the wait times for each Ls estimator, estimator ticks.
float_t maxAccel_est_Hzps
Defines the maximum acceleration for the estimation speed profiles, Hz/s.
uint_least32_t estFreq_Hz
Defines the estimator frequency, Hz.
the number of stator resistance estimator states
Definition: est_Rs_states.h:43
float_t estKappa
Defines the convergence factor for the estimator.
the number of flux estimator states
float_t iqFullScaleFreq_Hz
Defines the full scale frequency for IQ variable, Hz.
float float_t
Defines the portable data type for 32 bit, signed floating-point data.
Definition: types.h:121
float_t motor_Ls_d
Defines the direct stator inductance, H.
float_t eplGain
Defines the EPL (Efficient Partial Load) gain for computing Id reference.
float_t maxCurrent_resEst
Defines the maximum current value for resistance estimation, A.
float_t motor_ratedFlux
Defines the rated flux of the motor, V/Hz.
float_t maxVsMag_pu
Defines the maximum voltage magnitude, pu.