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.
3PhasePWM.h
00001 #ifndef __3PhasePWM_h 00002 #define __3PhasePWM_h 00003 00004 #include "mbed.h" 00005 00006 00007 /* 00008 *キャリアの波形の指定 00009 *TOOTHWAVEかTRIANGLERWAVEのどちらかを定義 00010 */ 00011 #define TOOTHWAVE //キャリアの波形 ノコギリ波 00012 //#define TRIANGLERWAVE //キャリアの波形 三角波 00013 00014 #define TMIN 3 //PWM時間幅の最小値 [μs] 00015 00016 00017 class ThreePhasePWM { 00018 00019 00020 public: 00021 ThreePhasePWM(PinName upper_U, PinName upper_V, PinName upper_W, 00022 PinName lower_U, PinName lower_V, PinName lower_W, 00023 float Frequency, float DeadTime); 00024 /* 00025 * upper_U U相上アームディジタル出力ポート 00026 * upper_V V相上アームディジタル出力ポート 00027 * upper_W W相上アームディジタル出力ポート 00028 * lower_U U相下アームディジタル出力ポート 00029 * lower_V V相下アームディジタル出力ポート 00030 * lower_W W相下アームディジタル出力ポート 00031 * Frequency PWMキャリア周波数[Hz] 00032 * deadtime デッドタイムの時間幅[μs] 00033 */ 00034 00035 void startPWM(void); //PWM開始 00036 void stopPWM(void); //PWM停止 00037 00038 00039 void setU(float duty_u); //U相Duty比を設定 00040 void setV(float duty_v); //V相Duty比を設定 00041 void setW(float duty_w); //W相Duty比を設定 00042 void setUVW(float duty_u, float duty_v , float duty_w); //3相Duty比を設定 00043 00044 00045 private: 00046 00047 void PwmUout(void); //U相PWM出力関数 00048 void PwmVout(void); //V相PWM出力関数 00049 void PwmWout(void); //W相PWM出力関数 00050 00051 DigitalOut pwm_upper_U; //U相上アームディジタル出力ポート 00052 DigitalOut pwm_upper_V; //V相上アームディジタル出力ポート 00053 DigitalOut pwm_upper_W; //W相上アームディジタル出力ポート 00054 DigitalOut pwm_lower_U; //U相下アームディジタル出力ポート 00055 DigitalOut pwm_lower_V; //V相下アームディジタル出力ポート 00056 DigitalOut pwm_lower_W; //W相下アームディジタル出力ポート 00057 00058 Timeout pwm[3]; //タイムアウト関数の宣言 00059 00060 float Frequency_; //PWMキャリア周波数 F[Hz] 00061 float DeadTime_; //デットタイム Tdt [μs] 00062 00063 typedef struct struct_PWM_param{ 00064 float duty; // 0.0-1.0, PWMデューティ比 00065 unsigned char mode; // チョッピングのON,OFFを決定するモード 00066 long upper_us; // 上側アームをONにする時間幅[μs] 00067 long lower_us; // 下側アームをONにする時間幅[μs] 00068 }PWMparam; 00069 00070 PWMparam uvw[3]; 00071 }; 00072 00073 #endif 00074 //3PhasePWM_H
Generated on Sun Jul 17 2022 16:02:58 by
1.7.2