Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: EC.h
- Revision:
- 5:4abba4f54406
- Parent:
- 3:65ecbd28545c
- Child:
- 7:87c135463de7
--- a/EC.h Wed Nov 02 02:43:15 2016 +0000
+++ b/EC.h Sat Nov 12 06:50:56 2016 +0000
@@ -16,14 +16,24 @@
int solution; //分解能
double dt; //角速度の計算間隔
+ //z相用
+ bool first;
+ int rev;
+ double now_time,old_time;
+ double RPM,RPM_old;
InterruptIn signalA_;
InterruptIn signalB_;
+ InterruptIn signalZ_;
+
+ Timer timer;
void upA();
void downA();
void upB();
void downB();
+ void upZ();
+ void downZ();
public:
double omega; //角速度
@@ -38,7 +48,8 @@
* @param s エンコーダの分解能(省略可)
* @param t 角速度計算の間隔(省略可)
*/
- Ec(PinName signalA,PinName signalB,int s,double t);
+ Ec(PinName signalA,PinName signalB,PinName signalZ,int s,double t);
+ Ec(PinName signalZ);
///countの値を返す関数(int型)
int getCount();
@@ -78,6 +89,9 @@
///角速度計算の間隔dtを決めることができる(デフォルトは0.05秒)
void setTime(double t);
+ double getRPM();
+ int getrev();
+
///角速度計算の間隔
static double deftime;
///エンコーダの分解能のデフォルト値
@@ -132,7 +146,7 @@
double Kv_p,Kv_d,Kv_i;
double diff,diff_old,integral;
double out_duty,out;
-
+ //Serial pc(USBTX,USBRX);
protected:
public:
@@ -148,7 +162,8 @@
* @param pwm_B motorを後転させるpwmピン名
* motorを正転させるとencoderのcountが正のほうに加算されるようにencoderとmotorを設置する
*/
- SpeedControl( PinName signalA , PinName signalB , int s, double t, PinName pwm_F , PinName pwm_B);
+ SpeedControl( PinName signalA , PinName signalB , PinName signalZ , int s, double t, PinName pwm_F , PinName pwm_B);
+ //SpeedControl( PinName signalZ , PinName pwm_F , PinName pwm_B);
/** duty比を角速度に変換させるための定数
*
* 使うモーターやギア比や供給電圧によって変化するので一度duty比と角速度の関係を調べてグラフの傾きから求める
@@ -192,6 +207,7 @@
* @param i i制御パラメータ
* @param d d制御パラメータ
*/
+
void setPIDparam(double p,double i,double d);
/** 角速度・duty比変換定数(C)の設定関数
*
@@ -216,5 +232,8 @@
/** 出力duty比
*/
double duty;
+
+ void ScZ(double target_RPM);
+ void Accelarate(double target_duty);
};
#endif
\ No newline at end of file