ロボステ6期 / Encoder_

Dependents:   ball_snatch NHK2020-arm-sub NHK2020-arm-sub NHK2020-arm-sub2 ... more

Embed: (wiki syntax)

« Back to documentation index

Ec Class Reference

Ec Class Reference

increment型エンコーダ用class More...

#include <EC.h>

Inherited by Ec1multi, Ec2multi, and Ec4multi.

Public Member Functions

int getCount () const
double getRad () const
 軸の回転角度を返す関数
double getOmega () const
 軸の角速度を返す関数
void calOmega ()
 角速度を計算するための関数 微分を微小時間の変位として計算しているので、タイマー割込などで回さなければいけない
void setResolution (int res)
 分解能を指定するための関数
void reset ()
 エンコーダのcountやωをリセットするための関数

Detailed Description

increment型エンコーダ用class

SAMPLE

 //プログラム例
 #include "mbed.h"
 #include "EC.h"

 #define RESOLUTION 500
 Ticker ticker;
 Serial pc(USBTX,USBRX);

 //          (A層,B層,分解能)
 Ec1multi EC(p7,p8,RESOLUTION);  //1逓倍用class
 //            or
 //Ec2multi EC(p7,p8,RESOLUTION);  //2逓倍用class
 //            or
 //Ec4multi EC(p7,p8,RESOLUTION);  //4逓倍用class
 void calcOmega();

 int main()
 {
     int count=0;
     double omega;
     ticker.attach(&calcOmega,0.05);
 
     while(1) {
         count=EC.getCount();
         omega=EC.getOmega();
         pc.printf("count=%d,",count);
         pc.printf("omega=%f\r\n",omega);
     }
 }
 void calcOmega()
 {
     EC.calOmega();
 }

1逓倍:Ec1multi 2逓倍:Ec2multi 4逓倍:Ec4multi

Definition at line 52 of file EC.h.


Member Function Documentation

void calOmega (  )

角速度を計算するための関数 微分を微小時間の変位として計算しているので、タイマー割込などで回さなければいけない

Definition at line 22 of file EC.cpp.

int getCount (  ) const

エンコーダのcountを返す関数 1周のcount=分解能×逓倍

Returns:
count

Definition at line 11 of file EC.cpp.

double getOmega (  ) const

軸の角速度を返す関数

Returns:
ω [rad/s]

Definition at line 32 of file EC.cpp.

double getRad (  ) const

軸の回転角度を返す関数

Returns:
θ[rad]

Definition at line 17 of file EC.cpp.

void reset (  )

エンコーダのcountやωをリセットするための関数

Definition at line 43 of file EC.cpp.

void setResolution ( int  res )

分解能を指定するための関数

Parameters:
resエンコーダの分解能

Definition at line 36 of file EC.cpp.