Mini Cheetah Actuator Branch Superseded by: https://github.com/bgkatz/motorcontrol

Dependencies:   mbed-dev-f303 FastPWM3

Superseded by: https://github.com/bgkatz/motorcontrol

Committer:
benkatz
Date:
Thu Oct 10 15:03:12 2019 +0000
Revision:
56:fe5056ac6740
Parent:
55:c4c9fec8539c
fixed position-sensor turn-on weirdness; ; improved output zeroing to work independent of encoder rollover angle

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benkatz 22:60276ba87ac6 1 #ifndef FOC_H
benkatz 22:60276ba87ac6 2 #define FOC_H
benkatz 22:60276ba87ac6 3
benkatz 47:e1196a851f76 4 #include "../structs.h"
benkatz 22:60276ba87ac6 5 #include "PositionSensor.h"
benkatz 22:60276ba87ac6 6 #include "mbed.h"
benkatz 22:60276ba87ac6 7 #include "hw_config.h"
benkatz 22:60276ba87ac6 8 #include "math.h"
benkatz 47:e1196a851f76 9 #include "../math_ops.h"
benkatz 22:60276ba87ac6 10 #include "motor_config.h"
benkatz 22:60276ba87ac6 11 #include "current_controller_config.h"
benkatz 37:c0f352d6e8e3 12 #include "FastMath.h"
benkatz 37:c0f352d6e8e3 13 #include "user_config.h"
benkatz 22:60276ba87ac6 14
benkatz 22:60276ba87ac6 15 void abc(float theta, float d, float q, float *a, float *b, float *c);
benkatz 22:60276ba87ac6 16 void dq0(float theta, float a, float b, float c, float *d, float *q);
benkatz 55:c4c9fec8539c 17 void svm(float v_bus, float u, float v, float w, int current_sector, float *dtc_u, float *dtc_v, float *dtc_w);
benkatz 22:60276ba87ac6 18 void zero_current(int *offset_1, int *offset_2);
benkatz 22:60276ba87ac6 19 void reset_foc(ControllerStruct *controller);
benkatz 48:74a40481740c 20 void reset_observer(ObserverStruct *observer);
benkatz 45:26801179208e 21 void init_controller_params(ControllerStruct *controller);
benkatz 48:74a40481740c 22 void commutate(ControllerStruct *controller, ObserverStruct *observer, GPIOStruct *gpio, float theta);
benkatz 26:2b865c00d7e9 23 void torque_control(ControllerStruct *controller);
benkatz 45:26801179208e 24 void limit_current_ref (ControllerStruct *controller);
benkatz 55:c4c9fec8539c 25 void update_observer(ControllerStruct *controller, ObserverStruct *observer);
benkatz 55:c4c9fec8539c 26 void field_weaken(ControllerStruct *controller);
benkatz 55:c4c9fec8539c 27 float linearize_dtc(ControllerStruct *controller, float dtc);
benkatz 22:60276ba87ac6 28 #endif