motor controller

Dependencies:   mbed plotter

Committer:
dicarloj
Date:
Sun Oct 30 19:55:58 2016 +0000
Revision:
3:08746709f023
Parent:
2:7312ac02785d
Child:
4:4e00b310811d
WORKING WITH SAFETY THINGS!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dicarloj 2:7312ac02785d 1 //Configuration constants
dicarloj 0:f899a5183b5e 2 #ifndef _config
dicarloj 0:f899a5183b5e 3 #define _config
dicarloj 0:f899a5183b5e 4
dicarloj 2:7312ac02785d 5 #define M_PI 3.1415926535897932384f
dicarloj 0:f899a5183b5e 6 #define nullptr 0
dicarloj 2:7312ac02785d 7
dicarloj 2:7312ac02785d 8 #define K_SERIAL_BAUD 115200 //serial over USB baud rate
dicarloj 2:7312ac02785d 9
dicarloj 2:7312ac02785d 10 #define K_V_BUS 40.8f //HV battery voltage
dicarloj 3:08746709f023 11 #define K_Q_CURRENT_MAX 20.0f //max torque
dicarloj 3:08746709f023 12 #define K_Q_CURRENT_MIN -5.0f //max regen torque
dicarloj 2:7312ac02785d 13 #define K_P_CURRENT 1.0f //current loop kp
dicarloj 2:7312ac02785d 14 #define K_I_CURRENT 0.1f //current loop ki
dicarloj 2:7312ac02785d 15 #define K_CURRENT_INT_MAX 20.0f //current loop integral max
dicarloj 2:7312ac02785d 16 #define K_AXIS_V_MAX 100.0f //current loop axis voltage max
dicarloj 2:7312ac02785d 17
dicarloj 2:7312ac02785d 18
dicarloj 2:7312ac02785d 19 #define K_POS_OFFSET (- 5.78f + M_PI + 0.03f) //electrical position offset
dicarloj 2:7312ac02785d 20
dicarloj 3:08746709f023 21 #define K_VOLTAGE_KP 0.1f
dicarloj 3:08746709f023 22 #define K_SERVO_KP 0.1f
dicarloj 3:08746709f023 23 #define K_SERVO_KI 0.001f
dicarloj 3:08746709f023 24
dicarloj 2:7312ac02785d 25
dicarloj 2:7312ac02785d 26 //from bayley
dicarloj 2:7312ac02785d 27 #define POLE_PAIRS 3.0f
dicarloj 2:7312ac02785d 28 #define RESOLVER_LOBES 3.0f
dicarloj 2:7312ac02785d 29 #define CPR 4096
dicarloj 2:7312ac02785d 30 #define I_SCALE_RAW 25.0f //mv/A
dicarloj 2:7312ac02785d 31 #define R_UP 12000.0f //ohms
dicarloj 2:7312ac02785d 32 #define R_DOWN 3600.0f //ohms
dicarloj 2:7312ac02785d 33 #define R_BIAS 3600.0f //ohms
dicarloj 2:7312ac02785d 34 #define AVDD 3300.0f //mV
dicarloj 2:7312ac02785d 35 #define I_OFFSET (AVDD * R_DOWN * R_UP / (R_DOWN * R_UP + R_BIAS * (R_DOWN + R_UP)))
dicarloj 2:7312ac02785d 36 #define I_SCALE (R_BIAS * R_DOWN * I_SCALE_RAW / (R_DOWN * R_UP + R_BIAS * (R_DOWN + R_UP)))
dicarloj 0:f899a5183b5e 37
dicarloj 0:f899a5183b5e 38 #endif