📄 mtc_settings_sensorless.h
字号:
/**************** (c) 2004 STMicroelectronics **********************
PROJECT : BLDC Software Sensorless Library
COMPILER : ST7 METROWERKS C (HIWARE) / COSMIC
MODULE : MTC_Settings_Sensorless.h
VERSION : 1.0
CREATION DATE : 4/4/2005 17:42
AUTHOR : File generated by the AK-ST7FMC Control Panel
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
DESCRIPTION : Software settings for PMDC motor control
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
******************************************************************************
THE SOFTWARE INCLUDED IN THIS FILE IS FOR GUIDANCE ONLY. ST MICROELECTRONICS
SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
WITH RESPECT TO ANY CLAIMS ARISING FROM USE OF THIS SOFTWARE.
******************************************************************************
******************************************************************************/
#include "lib.h"
#define MTC_CLOCK ((u32)16000000) // Resolution: 1Hz
#define mem_MPCR ((u8)0) // Selection of PWM Mode(standard), type(Edge-aligned) and prescaler setting for 12 Bits timer
#define mem_MCPOL ((u8)0) // Setting of PWM frequency on 12Bits Timer Low Register -- 6.25Khz
#define mem_MCPOH ((u8)10) // Setting of PWM frequency on 12Bits Timer High Register
#define mem_MCPVL ((u8)82) // Setting of PWM duty cycle use for current limitation in voltage mode Low Register
#define mem_MCPVH ((u8)76) // Setting of PWM duty cycle use for current limitation in voltage mode High Register
#define mem_MCRA ((u8)8) // Setting of MCRA register for polarization type, detection mode, filter,...
// Setting of MCRC register for sampling and voltage reference
#define mem_MCRC ((u8)67) // Sampling during PWM OFF time
#define mem_MCRC_Ontime ((u8)79) // Sampling during PWM ON time at high frequency & use external Vref.
#define mem_MPRSR ((u8)144) // Setting of PWM frequency used in current mode
#define mem_MDTG ((u8)31) // Selection of Dead time
// Selection of delay before sampling and Peripheral frequency (4MHz with 16Mhz input frequency)
#define mem_MCONF ((u8)2) // Sampling during PWM OFF time
#define mem_MCONF_Ontime ((u8)34) // Sampling during PWM ON time
#define mem_MCFR ((u8)9) // Set filter of current feedback
#define mem_MZFR ((u8)16) // Set filter of Z event detection //16
#define mem_MSCR ((u8)0) // Set sampling frequency to count D & Z events
#define Freq_Min ((u16)400) // Setting of min frequency in closed loop mode
#define Freq_Max ((u16)2400) // Setting of max frequency in closed loop mode
#define Pole_Pair_Num ((u8)2) // number of pair poles
#define Brake_Duty ((u16)0) // Duty cycle in Break mode
#define Brake_Time ((u16)0) // Time, Break mode
#define Max_Duty ((u16)2442) // Max current allowed (in current mode, close loop)
// Value of MPHST for each of the six steps in sensor mode
// Defines the active phase and selected comparator input on next C event
#define mem_step1 ((u8)137)
#define mem_step2 ((u8)97)
#define mem_step3 ((u8)36)
#define mem_step4 ((u8)134)
#define mem_step5 ((u8)82)
#define mem_step6 ((u8)24)
// Value of MCRB for each of the six steps ----> detect Z during PWM OFF
// Defines the expected Bemf edge, Demag type and PWM behaviour between events
#define mem_MCRB1 ((u8)20)
#define mem_MCRB2 ((u8)80)
#define mem_MCRB3 ((u8)20)
#define mem_MCRB4 ((u8)80)
#define mem_MCRB5 ((u8)20)
#define mem_MCRB6 ((u8)80)
// Value of MCRB for each of the six steps ----> detect Z during PWM ON:
// put PWM on the side which is different from above table: in order to reduce
// the inactive current in the non-exited phase winding!
// Defines the expected Bemf edge, Demag type and PWM behaviour between events
#define mem_MCRB1_PWMON ((u8)23)
#define mem_MCRB2_PWMON ((u8)80)
#define mem_MCRB3_PWMON ((u8)23)
#define mem_MCRB4_PWMON ((u8)80)
#define mem_MCRB5_PWMON ((u8)23)
#define mem_MCRB6_PWMON ((u8)80)
#define mem_MDFR ((u8)19) // Set filter of D event detection //16
#define bemf_valid ((u8)2) // Setting of sucessive bemf to pass before autoswitch
#define bemf_blank ((u8)4) // Setting of number of step at starting without bemf detection
#define mem_MPWME ((u8)35) // Setting of min off-time in sensorless current mode
#define Align_MCOMP ((u8)156) // Setting of MCOMP for alignment timebase
#define Align_Ratio ((u8)8) // Setting of Ratio for alignment timebase
#define Align_MCPUL ((u8)0) // Setting of PWM duty cycle during prepositionning in voltage mode Low Register
#define Align_MCPUH ((u8)1) // Setting of PWM duty cycle during prepositionning in voltage mode High Register
#define Align_MCPVL ((u8)61) // Increment of PWM duty cycle for current limit during prepositionning in current mode Low Register
#define Align_MCPVH ((u8)4) // Increment of PWM duty cycle for current limit during prepositionning in current mode High Register
#define ramp_MCPUL ((u8)0) // Setting of PWM duty cycle during acceleration ramp in voltage mode Low Register
#define ramp_MCPUH ((u8)8) // Setting of PWM duty cycle during acceleration ramp in voltage mode High Register
#define ramp_MCPVL ((u8)102) // Setting of PWM duty cycle for current limit during ramp-up in current mode Low Register
#define ramp_MCPVH ((u8)42) // Setting of PWM duty cycle for current limit during ramp-up in current mode High Register
#define Commut_Dem_MCPUL ((u8)0) // Setting of PWM duty cycle during Demagnetisation in voltage mode Low Register
#define Commut_Dem_MCPUH ((u8)0) // Setting of PWM duty cycle during Demagnetisation in voltage mode High Register
// Setting of demagnetisation time in running mode for ratio 0 in current mode
#define Run_Soft_Dem0_C ((u8)255) // Ratio 0
#define Run_Soft_Dem1_C ((u8)255) // Ratio 1
#define Run_Soft_Dem2_C ((u8)255) // Ratio 2
#define Run_Soft_Dem3_C ((u8)138) // Ratio 3
#define Run_Soft_Dem4_C ((u8)69) // Ratio 4
#define Run_Soft_Dem5_C ((u8)34) // Ratio 5
#define Run_Soft_Dem6_C ((u8)17) // Ratio 6
#define Run_Soft_Dem7_C ((u8)9) // Ratio 7
#define Run_Soft_Dem8_C ((u8)4) // Ratio 8
#define Run_Soft_Dem9_C ((u8)2) // Ratio 9
#define Run_Soft_Dem10_C ((u8)1) // Ratio 10
#define Run_Soft_Dem11_C ((u8)1) // Ratio 11
#define Run_Soft_Dem12_C ((u8)1) // Ratio 12
#define Run_Soft_Dem13_C ((u8)1) // Ratio 13
#define Run_Soft_Dem14_C ((u8)1) // Ratio 14
#define Run_Soft_Dem15_C ((u8)1) // Ratio 15
// Setting of demagnetisation time in running mode for ratio 0 in voltage mode
#define Run_Soft_Dem0_V ((u8)255) // Ratio 0
#define Run_Soft_Dem1_V ((u8)255) // Ratio 1
#define Run_Soft_Dem2_V ((u8)200) // Ratio 2
#define Run_Soft_Dem3_V ((u8)100) // Ratio 3
#define Run_Soft_Dem4_V ((u8)50) // Ratio 4
#define Run_Soft_Dem5_V ((u8)25) // Ratio 5
#define Run_Soft_Dem6_V ((u8)12) // Ratio 6
#define Run_Soft_Dem7_V ((u8)6) // Ratio 7
#define Run_Soft_Dem8_V ((u8)3) // Ratio 8
#define Run_Soft_Dem9_V ((u8)2) // Ratio 9
#define Run_Soft_Dem10_V ((u8)1) // Ratio 10
#define Run_Soft_Dem11_V ((u8)1) // Ratio 11
#define Run_Soft_Dem12_V ((u8)1) // Ratio 12
#define Run_Soft_Dem13_V ((u8)1) // Ratio 13
#define Run_Soft_Dem14_V ((u8)1) // Ratio 14
#define Run_Soft_Dem15_V ((u8)1) // Ratio 15
// Acceleration Ramp
#define def_ramp_ratio0 ((u8)9)
#define def_ramp_value0 ((u8)226)
#define def_ramp_ratio1 ((u8)8)
#define def_ramp_value1 ((u8)187)
#define def_ramp_ratio2 ((u8)8)
#define def_ramp_value2 ((u8)143)
#define def_ramp_ratio3 ((u8)7)
#define def_ramp_value3 ((u8)242)
#define def_ramp_ratio4 ((u8)7)
#define def_ramp_value4 ((u8)213)
#define def_ramp_ratio5 ((u8)7)
#define def_ramp_value5 ((u8)193)
#define def_ramp_ratio6 ((u8)7)
#define def_ramp_value6 ((u8)177)
#define def_ramp_ratio7 ((u8)7)
#define def_ramp_value7 ((u8)165)
#define def_ramp_ratio8 ((u8)7)
#define def_ramp_value8 ((u8)155)
#define def_ramp_ratio9 ((u8)7)
#define def_ramp_value9 ((u8)146)
#define def_ramp_ratio10 ((u8)7)
#define def_ramp_value10 ((u8)139)
#define def_ramp_ratio11 ((u8)7)
#define def_ramp_value11 ((u8)133)
#define def_ramp_ratio12 ((u8)7)
#define def_ramp_value12 ((u8)128)
#define def_ramp_ratio13 ((u8)6)
#define def_ramp_value13 ((u8)246)
#define def_ramp_ratio14 ((u8)6)
#define def_ramp_value14 ((u8)237)
#define def_ramp_ratio15 ((u8)6)
#define def_ramp_value15 ((u8)229)
#define def_ramp_ratio16 ((u8)6)
#define def_ramp_value16 ((u8)222)
#define def_ramp_ratio17 ((u8)6)
#define def_ramp_value17 ((u8)216)
#define def_ramp_ratio18 ((u8)6)
#define def_ramp_value18 ((u8)210)
#define def_ramp_ratio19 ((u8)6)
#define def_ramp_value19 ((u8)204)
#define def_ramp_ratio20 ((u8)6)
#define def_ramp_value20 ((u8)199)
#define def_ramp_ratio21 ((u8)6)
#define def_ramp_value21 ((u8)195)
#define def_ramp_ratio22 ((u8)6)
#define def_ramp_value22 ((u8)190)
#define def_ramp_ratio23 ((u8)6)
#define def_ramp_value23 ((u8)186)
#define def_ramp_ratio24 ((u8)6)
#define def_ramp_value24 ((u8)182)
#define def_ramp_ratio25 ((u8)6)
#define def_ramp_value25 ((u8)179)
#define def_ramp_ratio26 ((u8)6)
#define def_ramp_value26 ((u8)175)
#define def_ramp_ratio27 ((u8)6)
#define def_ramp_value27 ((u8)172)
#define def_ramp_ratio28 ((u8)6)
#define def_ramp_value28 ((u8)169)
#define def_ramp_ratio29 ((u8)6)
#define def_ramp_value29 ((u8)166)
#define def_ramp_ratio30 ((u8)6)
#define def_ramp_value30 ((u8)163)
#define def_ramp_ratio31 ((u8)6)
#define def_ramp_value31 ((u8)161)
#define def_ramp_ratio32 ((u8)6)
#define def_ramp_value32 ((u8)158)
#define def_ramp_ratio33 ((u8)6)
#define def_ramp_value33 ((u8)156)
#define def_ramp_ratio34 ((u8)6)
#define def_ramp_value34 ((u8)154)
#define def_ramp_ratio35 ((u8)6)
#define def_ramp_value35 ((u8)151)
#define def_ramp_ratio36 ((u8)6)
#define def_ramp_value36 ((u8)149)
#define def_ramp_ratio37 ((u8)6)
#define def_ramp_value37 ((u8)147)
#define def_ramp_ratio38 ((u8)6)
#define def_ramp_value38 ((u8)145)
#define def_ramp_ratio39 ((u8)6)
#define def_ramp_value39 ((u8)144)
#define def_ramp_ratio40 ((u8)6)
#define def_ramp_value40 ((u8)142)
#define def_ramp_ratio41 ((u8)6)
#define def_ramp_value41 ((u8)140)
#define def_ramp_ratio42 ((u8)6)
#define def_ramp_value42 ((u8)138)
#define def_ramp_ratio43 ((u8)6)
#define def_ramp_value43 ((u8)137)
#define def_ramp_ratio44 ((u8)6)
#define def_ramp_value44 ((u8)135)
#define def_ramp_ratio45 ((u8)6)
#define def_ramp_value45 ((u8)134)
#define def_ramp_ratio46 ((u8)6)
#define def_ramp_value46 ((u8)132)
#define def_ramp_ratio47 ((u8)6)
#define def_ramp_value47 ((u8)131)
#define def_ramp_ratio48 ((u8)6)
#define def_ramp_value48 ((u8)130)
#define def_ramp_ratio49 ((u8)6)
#define def_ramp_value49 ((u8)128)
#define def_ramp_ratio50 ((u8)5)
#define def_ramp_value50 ((u8)254)
#define def_ramp_ratio51 ((u8)5)
#define def_ramp_value51 ((u8)251)
#define def_ramp_ratio52 ((u8)5)
#define def_ramp_value52 ((u8)249)
#define def_ramp_ratio53 ((u8)5)
#define def_ramp_value53 ((u8)247)
#define def_ramp_ratio54 ((u8)5)
#define def_ramp_value54 ((u8)244)
#define def_ramp_ratio55 ((u8)5)
#define def_ramp_value55 ((u8)242)
#define def_ramp_ratio56 ((u8)5)
#define def_ramp_value56 ((u8)240)
#define def_ramp_ratio57 ((u8)5)
#define def_ramp_value57 ((u8)238)
#define def_ramp_ratio58 ((u8)5)
#define def_ramp_value58 ((u8)236)
#define def_ramp_ratio59 ((u8)5)
#define def_ramp_value59 ((u8)234)
#define def_ramp_ratio60 ((u8)5)
#define def_ramp_value60 ((u8)232)
#define def_ramp_ratio61 ((u8)5)
#define def_ramp_value61 ((u8)230)
#define def_ramp_ratio62 ((u8)5)
#define def_ramp_value62 ((u8)228)
#define def_ramp_ratio63 ((u8)5)
#define def_ramp_value63 ((u8)226)
/*** (c) 2004 STMicroelectronics ****************** END OF FILE **************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -