Motor

Dependents:   Nucleo_spi 2015_denziben_i2c_S2 Nucleo_Motor Nucleo_Motor ... more

Committer:
kikoaac
Date:
Sun Aug 07 12:45:33 2016 +0000
Revision:
5:3b639d84a95d
Parent:
4:56a1159c881c
motordrive IC;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kikoaac 0:1252cd3b995f 1
kikoaac 1:4ab6e9768847 2 #ifndef Motor_H
kikoaac 1:4ab6e9768847 3 #define Motor_H
kikoaac 0:1252cd3b995f 4
kikoaac 0:1252cd3b995f 5 #include "mbed.h"
kikoaac 0:1252cd3b995f 6 #define Front 1
kikoaac 0:1252cd3b995f 7 #define Back 2
kikoaac 0:1252cd3b995f 8 #define Stop 3
kikoaac 0:1252cd3b995f 9 #define Free 4
kikoaac 0:1252cd3b995f 10 class Motor {
kikoaac 5:3b639d84a95d 11 protected : PinName Pin[3];
kikoaac 4:56a1159c881c 12 float bias;
kikoaac 3:dea2df71cb97 13 Motor(const Motor& m);
kikoaac 3:dea2df71cb97 14 Motor& operator=(const Motor &m) {
kikoaac 3:dea2df71cb97 15 return *this;
kikoaac 3:dea2df71cb97 16 }
kikoaac 0:1252cd3b995f 17 public:
kikoaac 0:1252cd3b995f 18
kikoaac 5:3b639d84a95d 19 Motor(PinName _pin1, PinName _pin2,PinName _pwm);
kikoaac 3:dea2df71cb97 20
kikoaac 3:dea2df71cb97 21
kikoaac 0:1252cd3b995f 22 Motor& operator= (float duty)
kikoaac 0:1252cd3b995f 23 {
kikoaac 5:3b639d84a95d 24 if(duty<-0.01F)
kikoaac 0:1252cd3b995f 25 {
kikoaac 0:1252cd3b995f 26 duty*=-1;
kikoaac 1:4ab6e9768847 27 run(Back,duty);
kikoaac 0:1252cd3b995f 28 }
kikoaac 5:3b639d84a95d 29 else if(float(duty)>0.01F)
kikoaac 0:1252cd3b995f 30 {
kikoaac 1:4ab6e9768847 31 run(Front,duty);
kikoaac 0:1252cd3b995f 32 }
kikoaac 4:56a1159c881c 33 else run(Stop,0);
kikoaac 0:1252cd3b995f 34 return *this;
kikoaac 0:1252cd3b995f 35 }
kikoaac 0:1252cd3b995f 36 void run(int i,float duty);
kikoaac 0:1252cd3b995f 37 float min,max;
kikoaac 4:56a1159c881c 38 void setbias_motor(float b){bias=b;}
kikoaac 3:dea2df71cb97 39 void duty_max(float Max){max=Max;}
kikoaac 3:dea2df71cb97 40 void duty_min(float Min){min=Min;}
kikoaac 3:dea2df71cb97 41 float getduty()
kikoaac 3:dea2df71cb97 42 {
kikoaac 3:dea2df71cb97 43 float a = PwmPin.read();
kikoaac 3:dea2df71cb97 44 return a;
kikoaac 3:dea2df71cb97 45 }
kikoaac 0:1252cd3b995f 46 private:
kikoaac 1:4ab6e9768847 47 int state;
kikoaac 0:1252cd3b995f 48 float Duty;
kikoaac 5:3b639d84a95d 49 BusOut mode;
kikoaac 0:1252cd3b995f 50 PwmOut PwmPin;
kikoaac 0:1252cd3b995f 51 };
kikoaac 0:1252cd3b995f 52
kikoaac 0:1252cd3b995f 53 #endif /* PID_H */