サーボモータをPWM制御で動作させる関数

Dependents:   2020_lab_No2reactor_contorl_ver2

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ServoMotor.h Source File

ServoMotor.h

00001 #ifndef _SERVO_MOTOR_
00002 #define _SERVO_MOTOR_
00003 
00004 class ServoMotor
00005 {
00006 public:
00007     ServoMotor(PinName servo_pwmport_,         //pwmピン
00008                float minDeg_       = 0.0,      //最小角度[deg]
00009                float maxDeg_       = 300.0,    //最大角度[deg]
00010                float pulse_width_  = 0.02,     //PWM周期[s]
00011                float min_DPLW_     = 0.0005,   //最小角度時立ち上げパルス幅[s]
00012                float max_DPLW_     = 0.0024    //最大角度時立ち上げパルス幅[s]
00013               );  //ServoMotorコンストラクタ
00014 
00015     void rot(float);                //引数 目標角度
00016     void weak_condition();          //脱力状態にする
00017 
00018 
00019 private:
00020     PwmOut servo_pwmport;
00021     float output_deg;               //出力角度保管[deg]
00022     float output_deg_b;             //一つ前の角度保管[deg]
00023 
00024     float pulse_width;              //pwmの周期
00025     float minDPLW;                  //最小角度時の立ち上げパルス ( min Deg Pulse Launch Widthの略 )
00026     float maxDPLW;                  //最大角度時の立ち上げパルス ( max Deg PUlse Launch Widthの略 )
00027     float minDeg;                   //モータの最小動作角度
00028     float maxDeg;                   //モータの最大動作角度
00029 
00030     float decomposition_value;      //分解値
00031 };
00032 #endif