Motor control for robots. More compact, less object-oriented revision.

Dependencies:   FastPWM3 mbed-dev

Fork of Hobbyking_Cheetah_V1 by Ben Katz

Wed Apr 05 20:54:16 2017 +0000
Added bayley's flash writer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benkatz20:bf9ea5125d52 1#ifndef STRUCTS_H
benkatz20:bf9ea5125d52 2#define STRUCTS_H
benkatz20:bf9ea5125d52 3
benkatz20:bf9ea5125d52 4//#include "CANnucleo.h"
benkatz20:bf9ea5125d52 5#include "mbed.h"
benkatz20:bf9ea5125d52 6#include "FastPWM.h"
benkatz20:bf9ea5125d52 7
benkatz20:bf9ea5125d52 8
benkatz20:bf9ea5125d52 9typedef struct{
benkatz20:bf9ea5125d52 10 DigitalOut *enable;
benkatz20:bf9ea5125d52 11 FastPWM *pwm_u, *pwm_v, *pwm_w;
benkatz22:60276ba87ac6 12 int phasing;
benkatz20:bf9ea5125d52 13 } GPIOStruct;
benkatz20:bf9ea5125d52 14
benkatz20:bf9ea5125d52 15typedef struct{
benkatz20:bf9ea5125d52 16
benkatz20:bf9ea5125d52 17 }COMStruct;
benkatz20:bf9ea5125d52 18
benkatz20:bf9ea5125d52 19typedef struct{
benkatz20:bf9ea5125d52 20 int adc1_raw, adc2_raw;
benkatz20:bf9ea5125d52 21 float i_a, i_b, i_c;
benkatz20:bf9ea5125d52 22 float v_bus;
benkatz20:bf9ea5125d52 23 float theta_mech, theta_elec;
benkatz20:bf9ea5125d52 24 float dtheta_mech, dtheta_elec;
benkatz20:bf9ea5125d52 25 float i_d, i_q;
benkatz20:bf9ea5125d52 26 float v_d, v_q;
benkatz20:bf9ea5125d52 27 float dtc_u, dtc_v, dtc_w;
benkatz20:bf9ea5125d52 28 float v_u, v_v, v_w;
benkatz20:bf9ea5125d52 29 float d_int, q_int;
benkatz20:bf9ea5125d52 30 int adc1_offset, adc2_offset;
benkatz20:bf9ea5125d52 31 float i_d_ref, i_q_ref;
benkatz22:60276ba87ac6 32 int loop_count;
benkatz22:60276ba87ac6 33 int mode;
benkatz23:2adf23ee0305 34 float cogging[128];
benkatz20:bf9ea5125d52 35 } ControllerStruct;
benkatz20:bf9ea5125d52 36
benkatz22:60276ba87ac6 37typedef struct{
benkatz22:60276ba87ac6 38 float vel_1;
benkatz22:60276ba87ac6 39 float vel_1_old;
benkatz22:60276ba87ac6 40 float vel_1_est;
benkatz22:60276ba87ac6 41 float vel_2;
benkatz22:60276ba87ac6 42 float vel_2_old;
benkatz22:60276ba87ac6 43 float vel_2_est;
benkatz22:60276ba87ac6 44 float ts;
benkatz22:60276ba87ac6 45 float est;
benkatz22:60276ba87ac6 46 } VelocityEstimatorStruct;
benkatz22:60276ba87ac6 47
benkatz20:bf9ea5125d52 48#endif