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
Diff: controller.h
- Revision:
- 14:02411880ffb9
- Parent:
- 13:ba71733c11d7
--- a/controller.h Fri Mar 01 02:10:59 2013 +0000 +++ b/controller.h Tue Mar 12 04:32:22 2013 +0000 @@ -16,7 +16,7 @@ #define CH_B p30 // B相用ポート A phase port // タイマーのサンプル周期等 -//#define PWM_FREQ 20000.0 // [Hz], PWMチョッピング周波数 pwm freq. (> 1/(DEAD_TIME*10)) +//#define PWM_FREQ 10000.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 TS0 0.002 // [s], timerTS0のサンプル時間(電流制御用) sampling time (priority highest: Ticker IRQ) of motor current i control PID using timer interrupt #define TS1 0.002 // [s], timerTS1のサンプル時間(位置制御用) sampling time (priority high: RtosTimer) of motor angle th PID using rtos-timer @@ -44,10 +44,10 @@ #else // 電流制御なしのとき #define wKp 0.05 // [A/(rad/s)], 速度制御PIDのPゲイン #define wKi 0.5//2.50 // [A/(rad/s) s], 速度制御PIDのIゲイン - #define wKd 0 // [A/(rad/s)/s], 速度制御PIDのDゲイン + #define wKd 0.0005 // [A/(rad/s)/s], 速度制御PIDのDゲイン #endif #define iLPF 0.95 // 0-1, 速度に対する1次LPFの強さ; Low Pass Filter, G(z)=(1-a)/(z-a) -#define iMAX 3.3 // [A], 電流指令の最大値 +#define iMAX 1.0//3.3 // [A], 電流指令の最大値 #define DA_PORT p18 // デバッグ用DAポート analog out (DA) port of mbed /*********** 使用するポートやサンプル時間、制御ゲインなどの設定 (ここから) ***************/