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

Committer:
kosaka
Date:
Tue Mar 12 04:32:22 2013 +0000
Revision:
14:02411880ffb9
Parent:
13:ba71733c11d7
130303;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kosaka 12:459af534d1ee 1 #ifndef __Hbridge_h
kosaka 12:459af534d1ee 2 #define __Hbridge_h
kosaka 12:459af534d1ee 3
kosaka 13:ba71733c11d7 4 //************* 使用するポートなどの設定 (ここから) *****************
kosaka 14:02411880ffb9 5 #define PWM_FREQ 10000.0 // [Hz], PWMチョッピング周波数 pwm freq. (> 1/(DEAD_TIME*10))
kosaka 13:ba71733c11d7 6 #define DEADTIME 0.0001 // [s], デッドタイム(モータに加える電圧の正負が変わるときに上下アーム短絡を避けるために同時オフする時間) // [s], deadtime to be set between plus volt. to/from minus
kosaka 13:ba71733c11d7 7 #define fwdIN_PORT p21 //LED1 // ポート:fwdIN port for U phase fwdIN arm
kosaka 13:ba71733c11d7 8 #define rvsIN_PORT p22 // ポート:rvsIN port for U phase rvsIN arm
kosaka 13:ba71733c11d7 9 #define PWM_WAVEFORM 0 // PWM変調方式 0: ノコギリ波比較, 1: 三角波比較 saw tooth wave comparison, 1: triangler wave comparison
kosaka 13:ba71733c11d7 10 #define TMIN 5 // [us], pwm_out()の演算時間 processing time of pwm_out()
kosaka 13:ba71733c11d7 11 #define R_SHUNT_P_PORT p19 // ポート:電流検出用シャント抵抗のプラス側アナログ入力
kosaka 13:ba71733c11d7 12 #define R_SHUNT_M_PORT p20 // ポート:電流検出用シャント抵抗のマイナス側アナログ入力
kosaka 13:ba71733c11d7 13 #define R_SHUNT 0.47 // [Ω], 電流検出用シャント抵抗値 shunt resistanse
kosaka 13:ba71733c11d7 14 //************* 使用するポートなどの設定 (ここまで) *****************
kosaka 12:459af534d1ee 15
kosaka 13:ba71733c11d7 16 typedef struct struct_pwm_parameters{ // フルブリッジのパラメータ宣言 parameters of H bridge pwm
kosaka 13:ba71733c11d7 17 float duty; // 0-1, PWMデューティ duty of H bridge
kosaka 13:ba71733c11d7 18 unsigned char mode; // チョッピングのオンオフを決定するモード
kosaka 13:ba71733c11d7 19 long fwdIN_us; // [us], fwdINをオンする時間幅
kosaka 13:ba71733c11d7 20 long rvsIN_us; // [us], rvsINをオンする時間幅
kosaka 13:ba71733c11d7 21 unsigned char fReverse; // モータ逆回転フラグ:回転方向が順方向のとき0、逆方向のとき1。[0]が現在の値、[1]はその前の値 reverse direction?
kosaka 13:ba71733c11d7 22 unsigned char fDeadtime; // 正負切替時にデッドタイムを要求するフラグ set deadtime? (v is plus to/from minus?)
kosaka 12:459af534d1ee 23 }pwm_parameters;
kosaka 13:ba71733c11d7 24 extern pwm_parameters IN; // フルブリッジのパラメータ宣言
kosaka 12:459af534d1ee 25
kosaka 13:ba71733c11d7 26 extern void start_pwm(); // PWMスタートする関数を宣言
kosaka 13:ba71733c11d7 27 extern void stop_pwm(); // PWMストップする関数を宣言
kosaka 12:459af534d1ee 28 #endif