Speed profile working

Fork of Easyspin_lib by Julien Tiron

Committer:
julientiron
Date:
Wed Aug 26 13:35:55 2015 +0000
Revision:
1:9efe863db15e
Parent:
0:cba942f8172a
Update for speed profile

Who changed what in which revision?

UserRevisionLine numberNew contents of line
julientiron 0:cba942f8172a 1 /******************************************************//**
julientiron 0:cba942f8172a 2 * @file Easyspin_target_config.h
julientiron 0:cba942f8172a 3 * @version V1.0
julientiron 0:cba942f8172a 4 * @date June 29, 2015
julientiron 0:cba942f8172a 5 * @brief Predefines values for the Easyspin registers
julientiron 0:cba942f8172a 6 * and for the shields parameters
julientiron 0:cba942f8172a 7 *
julientiron 0:cba942f8172a 8 * This file is free software; you can redistribute it and/or modify
julientiron 0:cba942f8172a 9 * it under the terms of either the GNU General Public License version 2
julientiron 0:cba942f8172a 10 * or the GNU Lesser General Public License version 2.1, both as
julientiron 0:cba942f8172a 11 * published by the Free Software Foundation.
julientiron 0:cba942f8172a 12 **********************************************************/
julientiron 0:cba942f8172a 13
julientiron 0:cba942f8172a 14 #ifndef __Easyspin_TARGET_CONFIG_H
julientiron 0:cba942f8172a 15 #define __Easyspin_TARGET_CONFIG_H
julientiron 0:cba942f8172a 16
julientiron 0:cba942f8172a 17 /// The maximum number of shields in the daisy chain
julientiron 0:cba942f8172a 18 #define MAX_NUMBER_OF_SHIELDS (3)
julientiron 0:cba942f8172a 19
julientiron 0:cba942f8172a 20 /************************ Speed Profile *******************************/
julientiron 0:cba942f8172a 21
julientiron 0:cba942f8172a 22 /// Acceleration rate in step/s2 for shield 0 (must be greater than 0)
julientiron 1:9efe863db15e 23 #define Easyspin_CONF_PARAM_ACC_SHIELD_0 (500)
julientiron 0:cba942f8172a 24 /// Acceleration rate in step/s2 for shield 1 (must be greater than 0)
julientiron 1:9efe863db15e 25 #define Easyspin_CONF_PARAM_ACC_SHIELD_1 (500)
julientiron 0:cba942f8172a 26 /// Acceleration rate in step/s2 for shield 2 (must be greater than 0)
julientiron 1:9efe863db15e 27 #define Easyspin_CONF_PARAM_ACC_SHIELD_2 (500)
julientiron 0:cba942f8172a 28
julientiron 0:cba942f8172a 29 /// Deceleration rate in step/s2 for shield 0 (must be greater than 0)
julientiron 1:9efe863db15e 30 #define Easyspin_CONF_PARAM_DEC_SHIELD_0 (500)
julientiron 0:cba942f8172a 31 /// Deceleration rate in step/s2 for shield 1 (must be greater than 0)
julientiron 1:9efe863db15e 32 #define Easyspin_CONF_PARAM_DEC_SHIELD_1 (500)
julientiron 0:cba942f8172a 33 /// Deceleration rate in step/s2 for shield 2 (must be greater than 0)
julientiron 1:9efe863db15e 34 #define Easyspin_CONF_PARAM_DEC_SHIELD_2 (500)
julientiron 0:cba942f8172a 35
julientiron 0:cba942f8172a 36 /// Maximum speed in step/s for shield 0 (30 step/s < Maximum speed <= 10 000 step/s )
julientiron 1:9efe863db15e 37 #define Easyspin_CONF_PARAM_MAX_SPEED_SHIELD_0 (9000)
julientiron 0:cba942f8172a 38 /// Maximum speed in step/s for shield 1 (30 step/s < Maximum speed <= 10 000 step/s )
julientiron 1:9efe863db15e 39 #define Easyspin_CONF_PARAM_MAX_SPEED_SHIELD_1 (9000)
julientiron 0:cba942f8172a 40 /// Maximum speed in step/s for shield 2 (30 step/s < Maximum speed <= 10 000 step/s )
julientiron 1:9efe863db15e 41 #define Easyspin_CONF_PARAM_MAX_SPEED_SHIELD_2 (9000)
julientiron 0:cba942f8172a 42
julientiron 0:cba942f8172a 43 /// Minimum speed in step/s for shield 0 (30 step/s <= Minimum speed < 10 000 step/s)
julientiron 1:9efe863db15e 44 #define Easyspin_CONF_PARAM_MIN_SPEED_SHIELD_0 (2000)
julientiron 0:cba942f8172a 45 /// Minimum speed in step/s for shield 1 (30 step/s <= Minimum speed < 10 000 step/s)
julientiron 1:9efe863db15e 46 #define Easyspin_CONF_PARAM_MIN_SPEED_SHIELD_1 (2000)
julientiron 0:cba942f8172a 47 /// Minimum speed in step/s for shield 2 (30 step/s <= Minimum speed < 10 000 step/s)
julientiron 1:9efe863db15e 48 #define Easyspin_CONF_PARAM_MIN_SPEED_SHIELD_2 (2000)
julientiron 0:cba942f8172a 49
julientiron 0:cba942f8172a 50
julientiron 0:cba942f8172a 51 /************************ Phase Current Control *******************************/
julientiron 0:cba942f8172a 52
julientiron 0:cba942f8172a 53 // Current value that is assigned to the torque regulation DAC
julientiron 0:cba942f8172a 54 /// TVAL register value for shield 0 (range 31.25mA to 4000mA)
julientiron 1:9efe863db15e 55 #define Easyspin_CONF_PARAM_TVAL_SHIELD_0 (400)
julientiron 0:cba942f8172a 56 /// TVAL register value for shield 1 (range 31.25mA to 4000mA)
julientiron 1:9efe863db15e 57 #define Easyspin_CONF_PARAM_TVAL_SHIELD_1 (400)
julientiron 0:cba942f8172a 58 /// TVAL register value for shield 2 (range 31.25mA to 4000mA)
julientiron 1:9efe863db15e 59 #define Easyspin_CONF_PARAM_TVAL_SHIELD_2 (400)
julientiron 0:cba942f8172a 60
julientiron 0:cba942f8172a 61 /// Fall time value (T_FAST field of T_FAST register) for shield 0 (range 2us to 32us)
julientiron 0:cba942f8172a 62 #define Easyspin_CONF_PARAM_FAST_STEP_SHIELD_0 (Easyspin_FAST_STEP_12us)
julientiron 0:cba942f8172a 63 /// Fall time value (T_FAST field of T_FAST register) for shield 1 (range 2us to 32us)
julientiron 0:cba942f8172a 64 #define Easyspin_CONF_PARAM_FAST_STEP_SHIELD_1 (Easyspin_FAST_STEP_12us)
julientiron 0:cba942f8172a 65 /// Fall time value (T_FAST field of T_FAST register) for shield 2 (range 2us to 32us)
julientiron 0:cba942f8172a 66 #define Easyspin_CONF_PARAM_FAST_STEP_SHIELD_2 (Easyspin_FAST_STEP_12us)
julientiron 0:cba942f8172a 67
julientiron 0:cba942f8172a 68 /// Maximum fast decay time (T_OFF field of T_FAST register) for shield 0 (range 2us to 32us)
julientiron 0:cba942f8172a 69 #define Easyspin_CONF_PARAM_TOFF_FAST_SHIELD_0 (Easyspin_TOFF_FAST_8us)
julientiron 0:cba942f8172a 70 /// Maximum fast decay time (T_OFF field of T_FAST register) for shield 1 (range 2us to 32us)
julientiron 0:cba942f8172a 71 #define Easyspin_CONF_PARAM_TOFF_FAST_SHIELD_1 (Easyspin_TOFF_FAST_8us)
julientiron 0:cba942f8172a 72 /// Maximum fast decay time (T_OFF field of T_FAST register) for shield 2 (range 2us to 32us)
julientiron 0:cba942f8172a 73 #define Easyspin_CONF_PARAM_TOFF_FAST_SHIELD_2 (Easyspin_TOFF_FAST_8us)
julientiron 0:cba942f8172a 74
julientiron 0:cba942f8172a 75 /// Minimum ON time (TON_MIN register) for shield 0 (range 0.5us to 64us)
julientiron 0:cba942f8172a 76 #define Easyspin_CONF_PARAM_TON_MIN_SHIELD_0 (3)
julientiron 0:cba942f8172a 77 /// Minimum ON time (TON_MIN register) for shield 1 (range 0.5us to 64us)
julientiron 0:cba942f8172a 78 #define Easyspin_CONF_PARAM_TON_MIN_SHIELD_1 (3)
julientiron 0:cba942f8172a 79 /// Minimum ON time (TON_MIN register) for shield 2 (range 0.5us to 64us)
julientiron 0:cba942f8172a 80 #define Easyspin_CONF_PARAM_TON_MIN_SHIELD_2 (3)
julientiron 0:cba942f8172a 81
julientiron 0:cba942f8172a 82 /// Minimum OFF time (TOFF_MIN register) for shield 0 (range 0.5us to 64us)
julientiron 0:cba942f8172a 83 #define Easyspin_CONF_PARAM_TOFF_MIN_SHIELD_0 (21)
julientiron 0:cba942f8172a 84 /// Minimum OFF time (TOFF_MIN register) for shield 1 (range 0.5us to 64us)
julientiron 0:cba942f8172a 85 #define Easyspin_CONF_PARAM_TOFF_MIN_SHIELD_1 (21)
julientiron 0:cba942f8172a 86 /// Minimum OFF time (TOFF_MIN register) for shield 2 (range 0.5us to 64us)
julientiron 0:cba942f8172a 87 #define Easyspin_CONF_PARAM_TOFF_MIN_SHIELD_2 (21)
julientiron 0:cba942f8172a 88
julientiron 0:cba942f8172a 89 /******************************* Others ***************************************/
julientiron 0:cba942f8172a 90
julientiron 0:cba942f8172a 91 /// Overcurrent threshold settings for shield 0 (OCD_TH register)
julientiron 0:cba942f8172a 92 #define Easyspin_CONF_PARAM_OCD_TH_SHIELD_0 (Easyspin_OCD_TH_750mA)
julientiron 0:cba942f8172a 93 /// Overcurrent threshold settings for shield 1 (OCD_TH register)
julientiron 0:cba942f8172a 94 #define Easyspin_CONF_PARAM_OCD_TH_SHIELD_1 (Easyspin_OCD_TH_750mA)
julientiron 0:cba942f8172a 95 /// Overcurrent threshold settings for shield 2 (OCD_TH register)
julientiron 0:cba942f8172a 96 #define Easyspin_CONF_PARAM_OCD_TH_SHIELD_2 (Easyspin_OCD_TH_750mA)
julientiron 0:cba942f8172a 97
julientiron 0:cba942f8172a 98 /// Alarm settings for shield 0 (ALARM_EN register)
julientiron 0:cba942f8172a 99 #define Easyspin_CONF_PARAM_ALARM_EN_SHIELD_0 (Easyspin_ALARM_EN_OVERCURRENT |\
julientiron 0:cba942f8172a 100 Easyspin_ALARM_EN_THERMAL_SHUTDOWN |\
julientiron 0:cba942f8172a 101 Easyspin_ALARM_EN_THERMAL_WARNING |\
julientiron 0:cba942f8172a 102 Easyspin_ALARM_EN_UNDERVOLTAGE |\
julientiron 0:cba942f8172a 103 Easyspin_ALARM_EN_SW_TURN_ON |\
julientiron 0:cba942f8172a 104 Easyspin_ALARM_EN_WRONG_NPERF_CMD)
julientiron 0:cba942f8172a 105
julientiron 0:cba942f8172a 106 ///Alarm settings for shield 1 (ALARM_EN register)
julientiron 0:cba942f8172a 107 #define Easyspin_CONF_PARAM_ALARM_EN_SHIELD_1 (Easyspin_ALARM_EN_OVERCURRENT |\
julientiron 0:cba942f8172a 108 Easyspin_ALARM_EN_THERMAL_SHUTDOWN |\
julientiron 0:cba942f8172a 109 Easyspin_ALARM_EN_THERMAL_WARNING |\
julientiron 0:cba942f8172a 110 Easyspin_ALARM_EN_UNDERVOLTAGE |\
julientiron 0:cba942f8172a 111 Easyspin_ALARM_EN_SW_TURN_ON |\
julientiron 0:cba942f8172a 112 Easyspin_ALARM_EN_WRONG_NPERF_CMD)
julientiron 0:cba942f8172a 113
julientiron 0:cba942f8172a 114 /// Alarm settings for shield 2 (ALARM_EN register)
julientiron 0:cba942f8172a 115 #define Easyspin_CONF_PARAM_ALARM_EN_SHIELD_2 (Easyspin_ALARM_EN_OVERCURRENT |\
julientiron 0:cba942f8172a 116 Easyspin_ALARM_EN_THERMAL_SHUTDOWN |\
julientiron 0:cba942f8172a 117 Easyspin_ALARM_EN_THERMAL_WARNING |\
julientiron 0:cba942f8172a 118 Easyspin_ALARM_EN_UNDERVOLTAGE |\
julientiron 0:cba942f8172a 119 Easyspin_ALARM_EN_SW_TURN_ON |\
julientiron 0:cba942f8172a 120 Easyspin_ALARM_EN_WRONG_NPERF_CMD)
julientiron 0:cba942f8172a 121
julientiron 0:cba942f8172a 122 /// Step selection settings for shield 0 (STEP_SEL field of STEP_MODE register)
julientiron 0:cba942f8172a 123 #define Easyspin_CONF_PARAM_STEP_SEL_SHIELD_0 (Easyspin_STEP_SEL_1_16)
julientiron 0:cba942f8172a 124 /// Step selection settings for shield 1 (STEP_SEL field of STEP_MODE register)
julientiron 0:cba942f8172a 125 #define Easyspin_CONF_PARAM_STEP_SEL_SHIELD_1 (Easyspin_STEP_SEL_1_16)
julientiron 0:cba942f8172a 126 /// Step selection settings for shield 2 (STEP_SEL field of STEP_MODE register)
julientiron 0:cba942f8172a 127 #define Easyspin_CONF_PARAM_STEP_SEL_SHIELD_2 (Easyspin_STEP_SEL_1_16)
julientiron 0:cba942f8172a 128
julientiron 0:cba942f8172a 129 /// Synch. selection settings for shield 0 (SYNC_SEL field of STEP_MODE register)
julientiron 0:cba942f8172a 130 #define Easyspin_CONF_PARAM_SYNC_SEL_SHIELD_0 (Easyspin_SYNC_SEL_1_2)
julientiron 0:cba942f8172a 131 /// Synch. selection settings for shield 1 (SYNC_SEL field of STEP_MODE register)
julientiron 0:cba942f8172a 132 #define Easyspin_CONF_PARAM_SYNC_SEL_SHIELD_1 (Easyspin_SYNC_SEL_1_2)
julientiron 0:cba942f8172a 133 /// Synch. selection settings for shield 2 (SYNC_SEL field of STEP_MODE register)
julientiron 0:cba942f8172a 134 #define Easyspin_CONF_PARAM_SYNC_SEL_SHIELD_2 (Easyspin_SYNC_SEL_1_2)
julientiron 0:cba942f8172a 135
julientiron 0:cba942f8172a 136 /// Target Swicthing Period for shield 0 (field TOFF of CONFIG register)
julientiron 0:cba942f8172a 137 #define Easyspin_CONF_PARAM_TOFF_SHIELD_0 (Easyspin_CONFIG_TOFF_044us)
julientiron 0:cba942f8172a 138 /// Target Swicthing Period for shield 1 (field TOFF of CONFIG register)
julientiron 0:cba942f8172a 139 #define Easyspin_CONF_PARAM_TOFF_SHIELD_1 (Easyspin_CONFIG_TOFF_044us)
julientiron 0:cba942f8172a 140 /// Target Swicthing Period for shield 2 (field TOFF of CONFIG register)
julientiron 0:cba942f8172a 141 #define Easyspin_CONF_PARAM_TOFF_SHIELD_2 (Easyspin_CONFIG_TOFF_044us)
julientiron 0:cba942f8172a 142
julientiron 0:cba942f8172a 143 /// Slew rate for shield 0 (POW_SR field of CONFIG register)
julientiron 0:cba942f8172a 144 #define Easyspin_CONF_PARAM_SR_SHIELD_0 (Easyspin_CONFIG_SR_320V_us)
julientiron 0:cba942f8172a 145 /// Slew rate for shield 1 (POW_SR field of CONFIG register)
julientiron 0:cba942f8172a 146 #define Easyspin_CONF_PARAM_SR_SHIELD_1 (Easyspin_CONFIG_SR_320V_us)
julientiron 0:cba942f8172a 147 /// Slew rate for shield 2 (POW_SR field of CONFIG register)
julientiron 0:cba942f8172a 148 #define Easyspin_CONF_PARAM_SR_SHIELD_2 (Easyspin_CONFIG_SR_320V_us)
julientiron 0:cba942f8172a 149
julientiron 0:cba942f8172a 150 /// Over current shutwdown enabling for shield 0 (OC_SD field of CONFIG register)
julientiron 0:cba942f8172a 151 #define Easyspin_CONF_PARAM_OC_SD_SHIELD_0 (Easyspin_CONFIG_OC_SD_ENABLE)
julientiron 0:cba942f8172a 152 /// Over current shutwdown enabling for shield 1 (OC_SD field of CONFIG register)
julientiron 0:cba942f8172a 153 #define Easyspin_CONF_PARAM_OC_SD_SHIELD_1 (Easyspin_CONFIG_OC_SD_ENABLE)
julientiron 0:cba942f8172a 154 /// Over current shutwdown enabling for shield 2 (OC_SD field of CONFIG register)
julientiron 0:cba942f8172a 155 #define Easyspin_CONF_PARAM_OC_SD_SHIELD_2 (Easyspin_CONFIG_OC_SD_ENABLE)
julientiron 0:cba942f8172a 156
julientiron 0:cba942f8172a 157 /// Torque regulation method for shield 0 (EN_TQREG field of CONFIG register)
julientiron 0:cba942f8172a 158 #define Easyspin_CONF_PARAM_TQ_REG_SHIELD_0 (Easyspin_CONFIG_EN_TQREG_TVAL_USED)
julientiron 0:cba942f8172a 159 ///Torque regulation method for shield 1 (EN_TQREG field of CONFIG register)
julientiron 0:cba942f8172a 160 #define Easyspin_CONF_PARAM_TQ_REG_SHIELD_1 (Easyspin_CONFIG_EN_TQREG_TVAL_USED)
julientiron 0:cba942f8172a 161 /// Torque regulation method for shield 2 (EN_TQREG field of CONFIG register)
julientiron 0:cba942f8172a 162 #define Easyspin_CONF_PARAM_TQ_REG_SHIELD_2 (Easyspin_CONFIG_EN_TQREG_TVAL_USED)
julientiron 0:cba942f8172a 163
julientiron 0:cba942f8172a 164 /// Clock setting for shield 0 (OSC_CLK_SEL field of CONFIG register)
julientiron 0:cba942f8172a 165 #define Easyspin_CONF_PARAM_CLOCK_SETTING_SHIELD_0 (Easyspin_CONFIG_INT_16MHZ)
julientiron 0:cba942f8172a 166 /// Clock setting for shield 1 (OSC_CLK_SEL field of CONFIG register)
julientiron 0:cba942f8172a 167 #define Easyspin_CONF_PARAM_CLOCK_SETTING_SHIELD_1 (Easyspin_CONFIG_INT_16MHZ)
julientiron 0:cba942f8172a 168 /// Clock setting for shield 2 (OSC_CLK_SEL field of CONFIG register)
julientiron 0:cba942f8172a 169 #define Easyspin_CONF_PARAM_CLOCK_SETTING_SHIELD_2 (Easyspin_CONFIG_INT_16MHZ)
julientiron 0:cba942f8172a 170
julientiron 0:cba942f8172a 171 #endif /* __Easyspin_TARGET_CONFIG_H */