Motor current controller
Fork of CURRENT_CONTROL by
CURRENT_CONTROL.h
- Committer:
- adam_z
- Date:
- 2016-04-22
- Revision:
- 3:c787d1c5ad6a
- Parent:
- 2:562bd14dfd3a
- Child:
- 4:1a6ba05e7736
File content as of revision 3:c787d1c5ad6a:
#ifndef __CURRENT_CONTROL_H__ #define __CURRENT_CONTROL_H__ #include "mbed.h" #include "PID.h" class LPF {public: float output, outputLast; LPF(float samplingTime); float filter(float input, float cutOff); private: float Ts; }; class CURRENT_CONTROL { public: typedef enum { PWM1, PWM2 } PWMIndex; CURRENT_CONTROL(PinName curChannel, PinName PwmChannel1, PinName PwmChannel2, PWMIndex pwmIndex, float Kp, float Ki, float Kd, float samplingTime); void Control(float curRef); void SetAnalog2Cur(float ratio); //functions for test//////// void ChangePwmPeriod(float microSeconds); void SetPWMDuty(float ratio); float GetAnalogIn(void); float GetCurrent(void); ////////////////////////// PWMIndex pwmIndex_; PID pid; PwmOut MotorPlus; PwmOut MotorMinus; float controlOutput; float currentOffset; float curFeedBack; float analog2Cur; AnalogIn currentAnalogIn; float analogInValue; LPF lpFilter; private: float Ts; }; #endif