motor control
Fork of X_NUCLEO_IHM01A1 by
Embed:
(wiki syntax)
Show/hide line numbers
l6474_target_config.h
Go to the documentation of this file.
00001 /**************************************************************************//** 00002 * @file l6474_target_config.h 00003 * @author IPC Rennes 00004 * @version V1.5.0 00005 * @date November 12, 2014 00006 * @brief Predefines values for the L6474 registers 00007 * and for the devices parameters 00008 * @note (C) COPYRIGHT 2014 STMicroelectronics 00009 ****************************************************************************** 00010 * @attention 00011 * 00012 * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2> 00013 * 00014 * Redistribution and use in source and binary forms, with or without modification, 00015 * are permitted provided that the following conditions are met: 00016 * 1. Redistributions of source code must retain the above copyright notice, 00017 * this list of conditions and the following disclaimer. 00018 * 2. Redistributions in binary form must reproduce the above copyright notice, 00019 * this list of conditions and the following disclaimer in the documentation 00020 * and/or other materials provided with the distribution. 00021 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00022 * may be used to endorse or promote products derived from this software 00023 * without specific prior written permission. 00024 * 00025 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00026 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00028 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00029 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00031 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00032 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00033 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00034 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00035 * 00036 ****************************************************************************** 00037 */ 00038 00039 /* Define to prevent recursive inclusion -------------------------------------*/ 00040 #ifndef __L6474_TARGET_CONFIG_H 00041 #define __L6474_TARGET_CONFIG_H 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 /** @addtogroup BSP 00048 * @{ 00049 */ 00050 00051 /** @addtogroup L6474 00052 * @{ 00053 */ 00054 00055 /** @addtogroup L6474_Exported_Constants 00056 * @{ 00057 */ 00058 00059 /** @defgroup Predefined_L6474_Registers_Values 00060 * @{ 00061 */ 00062 00063 /// The maximum number of devices in the daisy chain 00064 #define MAX_NUMBER_OF_DEVICES (3) 00065 00066 /************************ Speed Profile *******************************/ 00067 00068 /// Acceleration rate in step/s2 for device 0 (must be greater than 0) 00069 #define L6474_CONF_PARAM_ACC_DEVICE_0 (500) 00070 /// Acceleration rate in step/s2 for device 1 (must be greater than 0) 00071 #define L6474_CONF_PARAM_ACC_DEVICE_1 (500) 00072 /// Acceleration rate in step/s2 for device 2 (must be greater than 0) 00073 #define L6474_CONF_PARAM_ACC_DEVICE_2 (500) 00074 00075 /// Deceleration rate in step/s2 for device 0 (must be greater than 0) 00076 #define L6474_CONF_PARAM_DEC_DEVICE_0 (500) 00077 /// Deceleration rate in step/s2 for device 1 (must be greater than 0) 00078 #define L6474_CONF_PARAM_DEC_DEVICE_1 (500) 00079 /// Deceleration rate in step/s2 for device 2 (must be greater than 0) 00080 #define L6474_CONF_PARAM_DEC_DEVICE_2 (500) 00081 00082 /// Maximum speed in step/s for device 0 (30 step/s < Maximum speed <= 10 000 step/s ) 00083 #define L6474_CONF_PARAM_MAX_SPEED_DEVICE_0 (5000) 00084 /// Maximum speed in step/s for device 1 (30 step/s < Maximum speed <= 10 000 step/s ) 00085 #define L6474_CONF_PARAM_MAX_SPEED_DEVICE_1 (5000) 00086 /// Maximum speed in step/s for device 2 (30 step/s < Maximum speed <= 10 000 step/s ) 00087 #define L6474_CONF_PARAM_MAX_SPEED_DEVICE_2 (5000) 00088 00089 /// Minimum speed in step/s for device 0 (30 step/s <= Minimum speed < 10 000 step/s) 00090 #define L6474_CONF_PARAM_MIN_SPEED_DEVICE_0 (2000) 00091 /// Minimum speed in step/s for device 1 (30 step/s <= Minimum speed < 10 000 step/s) 00092 #define L6474_CONF_PARAM_MIN_SPEED_DEVICE_1 (2000) 00093 /// Minimum speed in step/s for device 2 (30 step/s <= Minimum speed < 10 000 step/s) 00094 #define L6474_CONF_PARAM_MIN_SPEED_DEVICE_2 (2000) 00095 00096 00097 /************************ Phase Current Control *******************************/ 00098 00099 // Current value that is assigned to the torque regulation DAC 00100 /// TVAL register value for device 0 (range 31.25mA to 4000mA) 00101 #define L6474_CONF_PARAM_TVAL_DEVICE_0 (4000) 00102 /// TVAL register value for device 1 (range 31.25mA to 4000mA) 00103 #define L6474_CONF_PARAM_TVAL_DEVICE_1 (4000) 00104 /// TVAL register value for device 2 (range 31.25mA to 4000mA) 00105 #define L6474_CONF_PARAM_TVAL_DEVICE_2 (4000) 00106 00107 /// Fall time value (T_FAST field of T_FAST register) for device 0 (range 2us to 32us) 00108 #define L6474_CONF_PARAM_FAST_STEP_DEVICE_0 (L6474_FAST_STEP_12us) 00109 /// Fall time value (T_FAST field of T_FAST register) for device 1 (range 2us to 32us) 00110 #define L6474_CONF_PARAM_FAST_STEP_DEVICE_1 (L6474_FAST_STEP_12us) 00111 /// Fall time value (T_FAST field of T_FAST register) for device 2 (range 2us to 32us) 00112 #define L6474_CONF_PARAM_FAST_STEP_DEVICE_2 (L6474_FAST_STEP_12us) 00113 00114 /// Maximum fast decay time (T_OFF field of T_FAST register) for device 0 (range 2us to 32us) 00115 #define L6474_CONF_PARAM_TOFF_FAST_DEVICE_0 (L6474_TOFF_FAST_8us) 00116 /// Maximum fast decay time (T_OFF field of T_FAST register) for device 1 (range 2us to 32us) 00117 #define L6474_CONF_PARAM_TOFF_FAST_DEVICE_1 (L6474_TOFF_FAST_8us) 00118 /// Maximum fast decay time (T_OFF field of T_FAST register) for device 2 (range 2us to 32us) 00119 #define L6474_CONF_PARAM_TOFF_FAST_DEVICE_2 (L6474_TOFF_FAST_8us) 00120 00121 /// Minimum ON time (TON_MIN register) for device 0 (range 0.5us to 64us) 00122 #define L6474_CONF_PARAM_TON_MIN_DEVICE_0 (3) 00123 /// Minimum ON time (TON_MIN register) for device 1 (range 0.5us to 64us) 00124 #define L6474_CONF_PARAM_TON_MIN_DEVICE_1 (3) 00125 /// Minimum ON time (TON_MIN register) for device 2 (range 0.5us to 64us) 00126 #define L6474_CONF_PARAM_TON_MIN_DEVICE_2 (3) 00127 00128 /// Minimum OFF time (TOFF_MIN register) for device 0 (range 0.5us to 64us) 00129 #define L6474_CONF_PARAM_TOFF_MIN_DEVICE_0 (21) 00130 /// Minimum OFF time (TOFF_MIN register) for device 1 (range 0.5us to 64us) 00131 #define L6474_CONF_PARAM_TOFF_MIN_DEVICE_1 (21) 00132 /// Minimum OFF time (TOFF_MIN register) for device 2 (range 0.5us to 64us) 00133 #define L6474_CONF_PARAM_TOFF_MIN_DEVICE_2 (21) 00134 00135 /******************************* Others ***************************************/ 00136 00137 /// Overcurrent threshold settings for device 0 (OCD_TH register) 00138 #define L6474_CONF_PARAM_OCD_TH_DEVICE_0 (L6474_OCD_TH_3000mA) 00139 /// Overcurrent threshold settings for device 1 (OCD_TH register) 00140 #define L6474_CONF_PARAM_OCD_TH_DEVICE_1 (L6474_OCD_TH_3000mA) 00141 /// Overcurrent threshold settings for device 2 (OCD_TH register) 00142 #define L6474_CONF_PARAM_OCD_TH_DEVICE_2 (L6474_OCD_TH_3000mA) 00143 00144 /// Alarm settings for device 0 (ALARM_EN register) 00145 #define L6474_CONF_PARAM_ALARM_EN_DEVICE_0 (L6474_ALARM_EN_OVERCURRENT |\ 00146 L6474_ALARM_EN_THERMAL_SHUTDOWN |\ 00147 L6474_ALARM_EN_THERMAL_WARNING |\ 00148 L6474_ALARM_EN_UNDERVOLTAGE |\ 00149 L6474_ALARM_EN_SW_TURN_ON |\ 00150 L6474_ALARM_EN_WRONG_NPERF_CMD) 00151 00152 ///Alarm settings for device 1 (ALARM_EN register) 00153 #define L6474_CONF_PARAM_ALARM_EN_DEVICE_1 (L6474_ALARM_EN_OVERCURRENT |\ 00154 L6474_ALARM_EN_THERMAL_SHUTDOWN |\ 00155 L6474_ALARM_EN_THERMAL_WARNING |\ 00156 L6474_ALARM_EN_UNDERVOLTAGE |\ 00157 L6474_ALARM_EN_SW_TURN_ON |\ 00158 L6474_ALARM_EN_WRONG_NPERF_CMD) 00159 00160 /// Alarm settings for device 2 (ALARM_EN register) 00161 #define L6474_CONF_PARAM_ALARM_EN_DEVICE_2 (L6474_ALARM_EN_OVERCURRENT |\ 00162 L6474_ALARM_EN_THERMAL_SHUTDOWN |\ 00163 L6474_ALARM_EN_THERMAL_WARNING |\ 00164 L6474_ALARM_EN_UNDERVOLTAGE |\ 00165 L6474_ALARM_EN_SW_TURN_ON |\ 00166 L6474_ALARM_EN_WRONG_NPERF_CMD) 00167 00168 /// Step selection settings for device 0 (STEP_SEL field of STEP_MODE register) 00169 #define L6474_CONF_PARAM_STEP_SEL_DEVICE_0 (L6474_STEP_SEL_1_16) 00170 /// Step selection settings for device 1 (STEP_SEL field of STEP_MODE register) 00171 #define L6474_CONF_PARAM_STEP_SEL_DEVICE_1 (L6474_STEP_SEL_1_16) 00172 /// Step selection settings for device 2 (STEP_SEL field of STEP_MODE register) 00173 #define L6474_CONF_PARAM_STEP_SEL_DEVICE_2 (L6474_STEP_SEL_1_16) 00174 00175 /// Synch. selection settings for device 0 (SYNC_SEL field of STEP_MODE register) 00176 #define L6474_CONF_PARAM_SYNC_SEL_DEVICE_0 (L6474_SYNC_SEL_1_2) 00177 /// Synch. selection settings for device 1 (SYNC_SEL field of STEP_MODE register) 00178 #define L6474_CONF_PARAM_SYNC_SEL_DEVICE_1 (L6474_SYNC_SEL_1_2) 00179 /// Synch. selection settings for device 2 (SYNC_SEL field of STEP_MODE register) 00180 #define L6474_CONF_PARAM_SYNC_SEL_DEVICE_2 (L6474_SYNC_SEL_1_2) 00181 00182 /// Target Swicthing Period for device 0 (field TOFF of CONFIG register) 00183 #define L6474_CONF_PARAM_TOFF_DEVICE_0 (L6474_CONFIG_TOFF_044us) 00184 /// Target Swicthing Period for device 1 (field TOFF of CONFIG register) 00185 #define L6474_CONF_PARAM_TOFF_DEVICE_1 (L6474_CONFIG_TOFF_044us) 00186 /// Target Swicthing Period for device 2 (field TOFF of CONFIG register) 00187 #define L6474_CONF_PARAM_TOFF_DEVICE_2 (L6474_CONFIG_TOFF_044us) 00188 00189 /// Slew rate for device 0 (POW_SR field of CONFIG register) 00190 #define L6474_CONF_PARAM_SR_DEVICE_0 (L6474_CONFIG_SR_320V_us) 00191 /// Slew rate for device 1 (POW_SR field of CONFIG register) 00192 #define L6474_CONF_PARAM_SR_DEVICE_1 (L6474_CONFIG_SR_320V_us) 00193 /// Slew rate for device 2 (POW_SR field of CONFIG register) 00194 #define L6474_CONF_PARAM_SR_DEVICE_2 (L6474_CONFIG_SR_320V_us) 00195 00196 /// Over current shutwdown enabling for device 0 (OC_SD field of CONFIG register) 00197 #define L6474_CONF_PARAM_OC_SD_DEVICE_0 (L6474_CONFIG_OC_SD_ENABLE) 00198 /// Over current shutwdown enabling for device 1 (OC_SD field of CONFIG register) 00199 #define L6474_CONF_PARAM_OC_SD_DEVICE_1 (L6474_CONFIG_OC_SD_ENABLE) 00200 /// Over current shutwdown enabling for device 2 (OC_SD field of CONFIG register) 00201 #define L6474_CONF_PARAM_OC_SD_DEVICE_2 (L6474_CONFIG_OC_SD_ENABLE) 00202 00203 /// Torque regulation method for device 0 (EN_TQREG field of CONFIG register) 00204 #define L6474_CONF_PARAM_TQ_REG_DEVICE_0 (L6474_CONFIG_EN_TQREG_TVAL_USED) 00205 ///Torque regulation method for device 1 (EN_TQREG field of CONFIG register) 00206 #define L6474_CONF_PARAM_TQ_REG_DEVICE_1 (L6474_CONFIG_EN_TQREG_TVAL_USED) 00207 /// Torque regulation method for device 2 (EN_TQREG field of CONFIG register) 00208 #define L6474_CONF_PARAM_TQ_REG_DEVICE_2 (L6474_CONFIG_EN_TQREG_TVAL_USED) 00209 00210 /// Clock setting for device 0 (OSC_CLK_SEL field of CONFIG register) 00211 #define L6474_CONF_PARAM_CLOCK_SETTING_DEVICE_0 (L6474_CONFIG_INT_16MHZ) 00212 /// Clock setting for device 1 (OSC_CLK_SEL field of CONFIG register) 00213 #define L6474_CONF_PARAM_CLOCK_SETTING_DEVICE_1 (L6474_CONFIG_INT_16MHZ) 00214 /// Clock setting for device 2 (OSC_CLK_SEL field of CONFIG register) 00215 #define L6474_CONF_PARAM_CLOCK_SETTING_DEVICE_2 (L6474_CONFIG_INT_16MHZ) 00216 00217 00218 #ifdef __cplusplus 00219 } 00220 #endif 00221 00222 #endif /* __L6474_TARGET_CONFIG_H */
Generated on Tue Jul 12 2022 20:40:40 by
1.7.2
