20160814

Fork of CURRENT_CONTROL by LDSC_Robotics_TAs

Committer:
adam_z
Date:
Fri Apr 22 14:32:01 2016 +0000
Revision:
1:c5973a56d474
Parent:
0:955aa05c968a
Child:
2:562bd14dfd3a
waiting for test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adam_z 0:955aa05c968a 1 #ifndef __CURRENT_CONTROL_H__
adam_z 0:955aa05c968a 2 #define __CURRENT_CONTROL_H__
adam_z 0:955aa05c968a 3
adam_z 0:955aa05c968a 4 #include "mbed.h"
adam_z 0:955aa05c968a 5 #include "PID.h"
adam_z 0:955aa05c968a 6
adam_z 0:955aa05c968a 7
adam_z 0:955aa05c968a 8 class CURRENT_CONTROL
adam_z 0:955aa05c968a 9 {
adam_z 0:955aa05c968a 10 public:
adam_z 1:c5973a56d474 11 typedef enum {
adam_z 1:c5973a56d474 12 PWM1,
adam_z 1:c5973a56d474 13 PWM2
adam_z 1:c5973a56d474 14 } PWMIndex;
adam_z 1:c5973a56d474 15
adam_z 1:c5973a56d474 16 CURRENT_CONTROL(PinName curChannel, PinName PwmChannel1, PinName PwmChannel2, PWMIndex pwmIndex, float Kp, float Ki, float Kd, float samplingTime);
adam_z 1:c5973a56d474 17 void Control(float curRef);
adam_z 0:955aa05c968a 18 void ChangePwmPeriod(float microSeconds);
adam_z 1:c5973a56d474 19 void SetAnalog2Cur(float ratio);
adam_z 1:c5973a56d474 20 void SetPWMDuty(float ratio);
adam_z 1:c5973a56d474 21
adam_z 1:c5973a56d474 22 PWMIndex pwmIndex_;
adam_z 0:955aa05c968a 23 PID pid;
adam_z 0:955aa05c968a 24 PwmOut MotorPlus;
adam_z 0:955aa05c968a 25 PwmOut MotorMinus;
adam_z 0:955aa05c968a 26 float controlOutput;
adam_z 0:955aa05c968a 27
adam_z 0:955aa05c968a 28 float currentOffset;
adam_z 1:c5973a56d474 29 float curFeedBack;
adam_z 1:c5973a56d474 30 float analog2Cur;
adam_z 1:c5973a56d474 31 AnalogIn currentAnalogIn;
adam_z 0:955aa05c968a 32 private:
adam_z 0:955aa05c968a 33
adam_z 0:955aa05c968a 34 float Ts;
adam_z 1:c5973a56d474 35
adam_z 0:955aa05c968a 36
adam_z 0:955aa05c968a 37 };
adam_z 0:955aa05c968a 38
adam_z 0:955aa05c968a 39
adam_z 0:955aa05c968a 40
adam_z 0:955aa05c968a 41
adam_z 0:955aa05c968a 42
adam_z 0:955aa05c968a 43
adam_z 0:955aa05c968a 44
adam_z 0:955aa05c968a 45
adam_z 0:955aa05c968a 46
adam_z 0:955aa05c968a 47
adam_z 0:955aa05c968a 48
adam_z 0:955aa05c968a 49
adam_z 0:955aa05c968a 50
adam_z 0:955aa05c968a 51
adam_z 0:955aa05c968a 52
adam_z 0:955aa05c968a 53
adam_z 0:955aa05c968a 54
adam_z 0:955aa05c968a 55
adam_z 0:955aa05c968a 56
adam_z 0:955aa05c968a 57
adam_z 0:955aa05c968a 58
adam_z 0:955aa05c968a 59
adam_z 0:955aa05c968a 60
adam_z 0:955aa05c968a 61
adam_z 0:955aa05c968a 62
adam_z 0:955aa05c968a 63
adam_z 0:955aa05c968a 64
adam_z 0:955aa05c968a 65
adam_z 0:955aa05c968a 66
adam_z 0:955aa05c968a 67
adam_z 0:955aa05c968a 68
adam_z 0:955aa05c968a 69 #endif