Modified Motor Driver Firmware to include Flash + Thermal
Dependencies: FastPWM3 mbed-dev-STM-lean
Config/user_config.h@76:4fd876d4cf2b, 23 months ago (annotated)
- Committer:
- adimmit
- Date:
- Tue Oct 18 16:22:24 2022 +0000
- Revision:
- 76:4fd876d4cf2b
- Parent:
- 75:c7fbacd92b8f
added some position data logging;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
benkatz | 23:2adf23ee0305 | 1 | /// Values stored in flash, which are modifieable by user actions /// |
benkatz | 23:2adf23ee0305 | 2 | |
benkatz | 23:2adf23ee0305 | 3 | #ifndef USER_CONFIG_H |
benkatz | 23:2adf23ee0305 | 4 | #define USER_CONFIG_H |
benkatz | 23:2adf23ee0305 | 5 | |
adimmit | 75:c7fbacd92b8f | 6 | //MOTOR INT PARAMS |
adimmit | 75:c7fbacd92b8f | 7 | #define NPP 21 //__int_reg[200] //TODO --> FIX ISSUES w/ THIS IN FLASH , ask @adi, Number of motor Pole Pairs |
benkatz | 23:2adf23ee0305 | 8 | |
adimmit | 75:c7fbacd92b8f | 9 | //OFFSET PARAMS / OTHER PARAMS |
benkatz | 25:f5741040c4bb | 10 | #define E_OFFSET __float_reg[0] // Encoder electrical offset |
benkatz | 25:f5741040c4bb | 11 | #define M_OFFSET __float_reg[1] // Encoder mechanical offset |
benkatz | 25:f5741040c4bb | 12 | #define I_BW __float_reg[2] // Current loop bandwidth |
benkatz | 51:6cd89bd6fcaa | 13 | #define I_MAX __float_reg[3] // Torque limit (current limit = torque_limit/(kt*gear ratio)) |
benkatz | 26:2b865c00d7e9 | 14 | #define THETA_MIN __float_reg[4] // Minimum position setpoint |
benkatz | 26:2b865c00d7e9 | 15 | #define THETA_MAX __float_reg[5] // Maximum position setpoint |
benkatz | 51:6cd89bd6fcaa | 16 | #define I_FW_MAX __float_reg[6] // Maximum field weakening current |
benkatz | 55:c4c9fec8539c | 17 | #define R_NOMINAL __float_reg[7] // Nominal motor resistance, set during calibration |
benkatz | 55:c4c9fec8539c | 18 | #define TEMP_MAX __float_reg[8] // Temperature safety lmit |
benkatz | 55:c4c9fec8539c | 19 | #define I_MAX_CONT __float_reg[9] // Continuous max current |
adimmit | 71:b314182de37f | 20 | #define K_SCALE __float_reg[10] // Current Controller KP scaled w/ BW |
adimmit | 71:b314182de37f | 21 | #define KI_D __float_reg[11] // Current Controller KI D-Axis |
adimmit | 71:b314182de37f | 22 | #define KI_Q __float_reg[12] // Current Controller KI Q-Axis |
benkatz | 28:8c7e29f719c5 | 23 | |
adimmit | 73:5676f1232a81 | 24 | //MOTOR PARAMETERS MOVED TO FLASH |
adimmit | 73:5676f1232a81 | 25 | #define R_PHASE __float_reg[13] //Phase resistance in OHMS |
adimmit | 73:5676f1232a81 | 26 | #define L_D __float_reg[14] //D-axis inductance in HENRIES |
adimmit | 73:5676f1232a81 | 27 | #define L_Q __float_reg[15] //L-axis inductance in HENRIES |
adimmit | 73:5676f1232a81 | 28 | //ACTUATOR PARAMETERS |
adimmit | 75:c7fbacd92b8f | 29 | #define KT __float_reg[16] //Torque Constance Nm/peak phase amp, = WB*NPP*3/2 |
adimmit | 75:c7fbacd92b8f | 30 | #define GR __float_reg[17] //Output gear ratio |
adimmit | 75:c7fbacd92b8f | 31 | #define KT_OUT __float_reg[18] //KT*GR |
adimmit | 75:c7fbacd92b8f | 32 | #define WB __float_reg[19] //Flux linkage, Webers. (from motor KT, see above formula) |
adimmit | 73:5676f1232a81 | 33 | //THERMAL OBSERVER |
adimmit | 75:c7fbacd92b8f | 34 | #define R_TH __float_reg[20] //Kelvin watt per joule (motor thermal resistance) |
adimmit | 75:c7fbacd92b8f | 35 | #define INV_M_TH __float_reg[21] //Kelvin per Joule (some observer thing) |
adimmit | 75:c7fbacd92b8f | 36 | #define T_AMBIENT __float_reg[22] // ambient temperature during temp calibration |
adimmit | 73:5676f1232a81 | 37 | |
adimmit | 73:5676f1232a81 | 38 | |
benkatz | 25:f5741040c4bb | 39 | #define PHASE_ORDER __int_reg[0] // Phase swapping during calibration |
benkatz | 25:f5741040c4bb | 40 | #define CAN_ID __int_reg[1] // CAN bus ID |
benkatz | 26:2b865c00d7e9 | 41 | #define CAN_MASTER __int_reg[2] // CAN bus "master" ID |
benkatz | 28:8c7e29f719c5 | 42 | #define CAN_TIMEOUT __int_reg[3] // CAN bus timeout period |
adimmit | 75:c7fbacd92b8f | 43 | #define ENCODER_LUT __int_reg[5] // Encoder offset LUT - 128 elements long |
adimmit | 74:fcc5f8e7f0ef | 44 | |
benkatz | 28:8c7e29f719c5 | 45 | |
benkatz | 51:6cd89bd6fcaa | 46 | |
benkatz | 23:2adf23ee0305 | 47 | extern float __float_reg[]; |
benkatz | 23:2adf23ee0305 | 48 | extern int __int_reg[]; |
benkatz | 23:2adf23ee0305 | 49 | |
benkatz | 23:2adf23ee0305 | 50 | #endif |