motorCtrl.h File Reference

モータ制御 More...

#include "robotParams.h"
#include "cpp_extern_macro.h"

Include dependency graph for motorCtrl.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  motorInfo_t
 モータ制御用の構造体 More...

Defines

#define MTR_POWER   12.0
 モータ仕様
#define MTR_OHM   3.9
#define MTR_RPM_PER_V   675
#define MTR_MAX_mA   836
#define MTR_TORQUE_CONST   14.1
#define MTR_GAIN_P   40
#define MTR_GAIN_I   4
#define MTR_I_BIT_WIDTH   11
 モータ制御の固定小数点演算用パラメータ
#define I_VALUE_MAX   850

Enumerations

enum  MotorMode { MTR_MODE_FREE, MTR_MODE_CW_BREAK = +1, MTR_MODE_CCW_BREAK = -1 }
 モータの制御モード More...

Functions

void set_mode (const unsigned char id, const int mode)
 指定モータの制御モードを設定
void set_pwm (const unsigned char id, const int duty)
 指定モータ の PWM 出力を設定
void initMotor (void)
 モータデバイスの初期化
void initMotorInfo (const unsigned char id, motorInfo_t *mtr)
 モータ制御パラメータの初期化
void setMotorFree (motorInfo_t *mtr)
 モータをサーボフリー状態にする
int setMotorRevolution (const int ref_cnt, const int cnt_diff, motorInfo_t *mtr)
 モータの目標回転速度を設定する

Variables

 BEGIN_C_DECLS
 END_C_DECLS


Detailed Description

モータ制御

モータの回転制御を行う(SH7045F依存)

Author:
Satofumi KAMIMURA
Id
motorCtrl.h,v 1.1 2004/06/09 01:07:20 satofumi Exp

Definition in file motorCtrl.h.


Define Documentation

#define MTR_POWER   12.0

モータ仕様

Maxon のカタログより (222049) 公称電圧 [V]

Definition at line 52 of file motorCtrl.h.

Referenced by initMotorInfo().

#define MTR_OHM   3.9

端子間抵抗 [ohm]

Definition at line 55 of file motorCtrl.h.

Referenced by initMotorInfo().

#define MTR_RPM_PER_V   675

回転数定数 [rpm/V]

Definition at line 58 of file motorCtrl.h.

Referenced by initMotorInfo().

#define MTR_MAX_mA   836

最大連続電流 [mA]

Definition at line 61 of file motorCtrl.h.

#define MTR_TORQUE_CONST   14.1

トルク定数 [mNm/A]

Definition at line 65 of file motorCtrl.h.

#define MTR_GAIN_P   40

モータ制御の P ゲイン(重みは 1/1024)

Definition at line 72 of file motorCtrl.h.

Referenced by initMotorInfo().

#define MTR_GAIN_I   4

モータ制御の I ゲイン(重みは 1/1024)

Definition at line 75 of file motorCtrl.h.

Referenced by initMotorInfo().

#define MTR_I_BIT_WIDTH   11

モータ制御の固定小数点演算用パラメータ

出力すべき PWM 比を固定小数点数にて計算するときに用いるパラメータ。 電流の最大値を示すビット位置

Definition at line 84 of file motorCtrl.h.

Referenced by initMotorInfo().

#define I_VALUE_MAX   850

I項の値の最大値

Definition at line 87 of file motorCtrl.h.


Enumeration Type Documentation

enum MotorMode

モータの制御モード

モータの制御モードを示す

Enumerator:
MTR_MODE_FREE  サーボフリー
MTR_MODE_CW_BREAK  CW と Break による制御
MTR_MODE_CCW_BREAK  CCW と Break による制御

Definition at line 38 of file motorCtrl.h.


Function Documentation

void set_mode ( const unsigned char  id,
const int  mode 
)

指定モータの制御モードを設定

モータの制御モード(MotorMode)を指定する。

Parameters:
id [i] モータデバイスID
mode [i] 制御モード

Definition at line 39 of file runDeviceSimulate.cpp.

References MTR_MODE_CCW_BREAK, and MTR_MODE_CW_BREAK.

Referenced by initMotor(), setMotorFree(), and setMotorRevolution().

void set_pwm ( const unsigned char  id,
const int  duty 
)

指定モータ の PWM 出力を設定

id で指定されるモータデバイスからの PWM出力を duty に設定する。duty は [0, 255] の範囲で指定し、duty == 255 のときは常に H 出力。duty == 0 の時に常に L 出力となる。

Parameters:
id [i] モータデバイスID
duty [i] 出力する PWM 比。(デューティ比) = duty / 255.0; となる。

Definition at line 52 of file runDeviceSimulate.cpp.

Referenced by initMotor(), and setMotorRevolution().

void initMotor ( void   ) 

モータデバイスの初期化

モータ制御に用いる出力端子を初期化する。

Definition at line 70 of file runDeviceSimulate.cpp.

References MTR_MODE_FREE, set_mode(), and set_pwm().

void initMotorInfo ( const unsigned char  id,
motorInfo_t mtr 
)

モータ制御パラメータの初期化

モータ制御用の構造体のメンバ変数を初期化する。

Parameters:
id [i] モータデバイスID
mtr [o] モータ制御用の構造体

Definition at line 77 of file runDeviceSimulate.cpp.

References ENC_PULSE, motorInfo_t::gain_i, motorInfo_t::gain_p, motorInfo_t::i_value, motorInfo_t::id, motorInfo_t::ke_per_v, MTR_GAIN_I, MTR_GAIN_P, MTR_I_BIT_WIDTH, MTR_OHM, MTR_POWER, MTR_RPM_PER_V, and motorInfo_t::r_per_v.

void setMotorFree ( motorInfo_t mtr  ) 

モータをサーボフリー状態にする

この関数は、外部レイヤーからモータの制御モードを直接サーボフリーにするために存在している。

Parameters:
mtr [o] モータ制御用の構造体

Definition at line 82 of file runDeviceSimulate.cpp.

References motorInfo_t::id, MTR_MODE_FREE, and set_mode().

int setMotorRevolution ( const int  ref_cnt,
const int  cnt_diff,
motorInfo_t mtr 
)

モータの目標回転速度を設定する

モータの目標回転速度を、制御周期あたりのエンコーダの回転数にて指定する。結果として、指定された目標回転速度を実現する PWM比と回転方向をモータデバイスに対して設定する。

Parameters:
ref_cnt [i] エンコーダにおける目標回転数
cnt_diff [i] エンコーダの回転数
mtr [i/o] モータ制御用の構造体
Return values:
設定した PWM比 [-255, 255]

Definition at line 87 of file runDeviceSimulate.cpp.

References motorInfo_t::id, MTR_MODE_CCW_BREAK, MTR_MODE_CW_BREAK, set_mode(), set_pwm(), WHL_DIAMETER_RIGHT, and WHL_GEAR_RATIO.


Generated on Mon Apr 13 22:52:05 2009 by  doxygen 1.5.7.1