20160814

Fork of CURRENT_CONTROL by LDSC_Robotics_TAs

CURRENT_CONTROL.h

Committer:
adam_z
Date:
2016-04-22
Revision:
1:c5973a56d474
Parent:
0:955aa05c968a
Child:
2:562bd14dfd3a

File content as of revision 1:c5973a56d474:

#ifndef __CURRENT_CONTROL_H__
#define __CURRENT_CONTROL_H__

#include "mbed.h"
#include "PID.h"


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 ChangePwmPeriod(float microSeconds);
    void SetAnalog2Cur(float ratio);
    void SetPWMDuty(float ratio);

    PWMIndex pwmIndex_;
    PID pid;
    PwmOut MotorPlus;
    PwmOut MotorMinus;
    float controlOutput;

    float currentOffset;
    float curFeedBack;
    float analog2Cur;
    AnalogIn currentAnalogIn;
private:

    float Ts;
    

};































#endif