Thomas Lew / Mbed 2 deprecated FreeFlyerROS

Dependencies:   mbed ros_lib_kinetic

defines.h

Committer:
Knillinux
Date:
2017-02-14
Revision:
0:dd126a1080d3
Child:
1:40bdbe1a93b7

File content as of revision 0:dd126a1080d3:


#ifndef DEFINES_H_INCLUDED
#define DEFINES_H_INCLUDED

//#####################################################################################\\

#define N_THRUSTERS     8

#define PID_PERIOD      50.0        // [ms]
#define LED_PERIOD      50.0        // [ms]
#define DEBUG_PERIOD    1000.0      // [ms]
#define THRUST_PERIOD   1000.0      // [ms]
#define THRUST_PWM_N    10          // Number of PWM steps per PID period

#define NCREV               64.0        // Number of counts per revolution
#define NGR                 18.75       // Gear ratio
#define V_SMAX              500.0       // [RPM] No-load max shaft speed
#define M2SEC               60.0
#define MOTOR_PWM_PERIOD    0.00005     // 20 kHz
#define SPEED_COUNTS        50          // Number of counts per speed measurement in encoder
#define SCALED_MAX          10000.0     // Number representing maximum motor speed
#define V_SMAX_ENF          400.0       // [RPM] Enforced maximum shaft speed
#define V_SMIN_ENF          10.0        // [RPM] Enforced minimum shaft speed

#define R               2.4                       // 12 V / 5 A
#define CURRENT_MAX     5.0             // Stall curent of motor
#define VOLTAGE_MAX     12.0            // Supply voltage to motor

#define KP              1.0 
#define KI              0.0002
#define KD              0.0
#define ACC_LIMIT       3.0             // Scaled accumulated error limit

#define SMOOTHING_VAL   0.9
#define PWM_LIMIT       1.0

#define INITIAL_SP      0.0
#define COARSE_INCR     2000.0
#define FINE_INCR       1000.0
#define HAIR_INCR       200.0

#define KE_ADJUST       0.75
#define WAIT_LIMIT      5

#define DEFAULT_BAUD_RATE   115200
#define DEFAULT_BITS        8
#define DEFAULT_PARITY      Serial::None
#define DEFAULT_STOP_BITS   1

#define SCALE_VELCOUNTS     1000.0*SCALED_MAX*M2SEC/(NCREV*V_SMAX*NGR*VEL_PERIOD)
#define SCALE_COUNTS        SCALED_MAX*M2SEC/(NCREV*V_SMAX*NGR)
#define SCALE_VSHAFT        SCALED_MAX/V_SMAX
#define KE                  VOLTAGE_MAX/(V_SMAX*NGR)
#define KE_SCALED           VOLTAGE_MAX/SCALED_MAX*KE_ADJUST
#define SCALED_SMAX_ENF     V_SMAX_ENF*SCALE_VSHAFT
#define SCALED_SMIN_ENF     V_SMIN_ENF*SCALE_VSHAFT

/*extern const float SCALE_VELCOUNTS = 1000.0*SCALED_MAX*M2SEC/(NCREV*V_SMAX*NGR*VEL_PERIOD);     // Scales motor pulses per velocity period to scaled motor speed (0 to SCALED_MAX)
extern const float SCALE_COUNTS = SCALED_MAX*M2SEC/(NCREV*V_SMAX*NGR);                          // Scales motor pulses per second to scaled motor speed
extern const float SCALE_VSHAFT = SCALED_MAX/V_SMAX;
extern const float KE = VOLTAGE_MAX/(V_SMAX*NGR);      // [V*s/(motor revs)] Motor voltage constant                                 //(60.0/(582.0*NCREV))     // 18.75 gear ratio * 500 RPM / 12 V
extern const float KE_SCALED = VOLTAGE_MAX/SCALED_MAX*KE_ADJUST;
extern const float SCALED_SMAX_ENF = V_SMAX_ENF*SCALE_VSHAFT;
extern const float SCALED_SMIN_ENF = V_SMIN_ENF*SCALE_VSHAFT;*/

//#####################################################################################\\

#endif  // End include guard