#include "motorCtrl.h"
#include "encCtrl.h"
#include <7040S.H>
#include "tRunCtrl.h"

Go to the source code of this file.
Defines | |
| #define | SMP_USEC 1000 |
Functions | |
| void | set_pwm (const unsigned char id, const int duty) |
| 指定モータ の PWM 出力を設定 | |
| void | set_mode (const unsigned char id, const int mode) |
| 指定モータの制御モードを設定 | |
| void | setDirectMotorMode (unsigned char id, int mode) |
| void | setDirectMotorPwm (unsigned char id, int duty) |
| 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) |
| モータの目標回転速度を設定する | |
$Id$
Definition in file motorCtrl.c.
| void set_pwm | ( | const unsigned char | id, | |
| const int | duty | |||
| ) |
指定モータ の PWM 出力を設定
id で指定されるモータデバイスからの PWM出力を duty に設定する。duty は [0, 255] の範囲で指定し、duty == 255 のときは常に H 出力。duty == 0 の時に常に L 出力となる。
| id | [i] モータデバイスID | |
| duty | [i] 出力する PWM 比。(デューティ比) = duty / 255.0; となる。 |
Definition at line 33 of file motorCtrl.c.
Referenced by initMotor(), and setMotorRevolution().
| void set_mode | ( | const unsigned char | id, | |
| const int | mode | |||
| ) |
指定モータの制御モードを設定
モータの制御モード(MotorMode)を指定する。
| id | [i] モータデバイスID | |
| mode | [i] 制御モード |
Definition at line 65 of file motorCtrl.c.
References MTR_MODE_CCW_BREAK, and MTR_MODE_CW_BREAK.
Referenced by initMotor(), setMotorFree(), and setMotorRevolution().
| void initMotor | ( | void | ) |
モータデバイスの初期化
モータ制御に用いる出力端子を初期化する。
Definition at line 108 of file motorCtrl.c.
References MTR_MODE_FREE, set_mode(), and set_pwm().
| void initMotorInfo | ( | const unsigned char | id, | |
| motorInfo_t * | mtr | |||
| ) |
モータ制御パラメータの初期化
モータ制御用の構造体のメンバ変数を初期化する。
| id | [i] モータデバイスID | |
| mtr | [o] モータ制御用の構造体 |
Definition at line 142 of file motorCtrl.c.
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 | ) |
モータをサーボフリー状態にする
この関数は、外部レイヤーからモータの制御モードを直接サーボフリーにするために存在している。
| mtr | [o] モータ制御用の構造体 |
Definition at line 226 of file motorCtrl.c.
References motorInfo_t::id, MTR_MODE_FREE, and set_mode().
| int setMotorRevolution | ( | const int | ref_cnt, | |
| const int | cnt_diff, | |||
| motorInfo_t * | mtr | |||
| ) |
モータの目標回転速度を設定する
モータの目標回転速度を、制御周期あたりのエンコーダの回転数にて指定する。結果として、指定された目標回転速度を実現する PWM比と回転方向をモータデバイスに対して設定する。
| ref_cnt | [i] エンコーダにおける目標回転数 | |
| cnt_diff | [i] エンコーダの回転数 | |
| mtr | [i/o] モータ制御用の構造体 |
| 設定した | PWM比 [-255, 255] |
Definition at line 242 of file motorCtrl.c.
References motorInfo_t::id, MTR_MODE_CCW_BREAK, MTR_MODE_CW_BREAK, set_mode(), set_pwm(), WHL_DIAMETER_RIGHT, and WHL_GEAR_RATIO.
1.5.7.1