DC motor control program using TA7291P type H bridge driver and rotary encoder with A, B phase.

Dependencies:   QEI mbed-rtos mbed

Fork of DCmotor by manabu kosaka

Revision:
13:ba71733c11d7
Parent:
12:459af534d1ee
Child:
14:02411880ffb9
diff -r 459af534d1ee -r ba71733c11d7 Hbridge.h
--- a/Hbridge.h	Fri Jan 04 12:00:48 2013 +0000
+++ b/Hbridge.h	Fri Mar 01 02:10:59 2013 +0000
@@ -1,25 +1,28 @@
 #ifndef __Hbridge_h
 #define __Hbridge_h
 
-//*************  User setting parameters (begin) *****************
-//#define PWM_FREQ    0.5         //[Hz], pwm freq.
-//#define DEADTIME    0.2         // [s], deadtime to be set between plus volt. to/from minus
-#define UPPER_PORT    p21//LED1    // port for U phase upper arm
-#define LOWER_PORT    p22    // port for U phase lower arm
-#define PWM_WAVEFORM    0    // 0: saw tooth wave comparison, 1: triangler wave comparison
-#define TMIN            5    // [us], processing time of pwm_out()
-//*************  User setting parameters (end) *****************
+//*************  使用するポートなどの設定 (ここから) *****************
+#define PWM_FREQ 20000.0   // [Hz], PWMチョッピング周波数    pwm freq. (> 1/(DEAD_TIME*10))
+#define DEADTIME 0.0001    // [s], デッドタイム(モータに加える電圧の正負が変わるときに上下アーム短絡を避けるために同時オフする時間)    // [s], deadtime to be set between plus volt. to/from minus
+#define fwdIN_PORT    p21  //LED1    // ポート:fwdIN    port for U phase fwdIN arm
+#define rvsIN_PORT    p22  // ポート:rvsIN    port for U phase rvsIN arm
+#define PWM_WAVEFORM    0  // PWM変調方式 0: ノコギリ波比較, 1: 三角波比較    saw tooth wave comparison, 1: triangler wave comparison
+#define TMIN            5  // [us], pwm_out()の演算時間    processing time of pwm_out()
+#define R_SHUNT_P_PORT p19 // ポート:電流検出用シャント抵抗のプラス側アナログ入力
+#define R_SHUNT_M_PORT p20 // ポート:電流検出用シャント抵抗のマイナス側アナログ入力
+#define R_SHUNT     0.47   // [Ω], 電流検出用シャント抵抗値 shunt resistanse
+//*************  使用するポートなどの設定 (ここまで) *****************
 
-typedef struct struct_pwm_parameters{    // parameters of H bridge pwm
-    float           duty;      // 0-1, duty of H bridge
-    unsigned char   mode;      // mode
-    long            upper_us;  // [us], time
-    long            lower_us;  // [us], time
-    unsigned char   fReverse[2];  // reverse direction?
-    unsigned char   fDeadtime; // set deadtime? (v is plus to/from minus?)
+typedef struct struct_pwm_parameters{    // フルブリッジのパラメータ宣言    parameters of H bridge pwm
+    float           duty;      // 0-1, PWMデューティ    duty of H bridge
+    unsigned char   mode;      // チョッピングのオンオフを決定するモード
+    long            fwdIN_us;  // [us], fwdINをオンする時間幅
+    long            rvsIN_us;  // [us], rvsINをオンする時間幅
+    unsigned char   fReverse;  // モータ逆回転フラグ:回転方向が順方向のとき0、逆方向のとき1。[0]が現在の値、[1]はその前の値    reverse direction?
+    unsigned char   fDeadtime; // 正負切替時にデッドタイムを要求するフラグ    set deadtime? (v is plus to/from minus?)
 }pwm_parameters;
-extern pwm_parameters   IN;    // H bridge pwm の定数、変数
+extern pwm_parameters   IN;    // フルブリッジのパラメータ宣言
 
-extern void start_pwm();
-extern void stop_pwm();
+extern void start_pwm();    // PWMスタートする関数を宣言
+extern void stop_pwm();     // PWMストップする関数を宣言
 #endif
\ No newline at end of file