UVW 3 phases Brushless DC motor control

Dependencies:   QEI mbed-rtos mbed

Fork of BLDCmotor by manabu kosaka

Revision:
14:8e205264baa8
Parent:
13:791e20f1af43
Child:
15:427f5ae8e957
--- a/controller.h	Sun Mar 03 09:09:34 2013 +0000
+++ b/controller.h	Thu Jun 13 06:41:16 2013 +0000
@@ -4,7 +4,7 @@
 //#define PI 3.14159265358979 // def. of PI
 /*********** User setting for control parameters (begin) ***************/
 #define SIMULATION          // Comment this line if not simulation
-#define USE_CURRENT_CONTROL // Current control on. Comment if current control off.
+//#define USE_CURRENT_CONTROL // Current control on. Comment if current control off.
 #define DEADZONE_PLUS   1.  // deadzone of plus side
 #define DEADZONE_MINUS -1.5 // deadzone of minus side
     // encoder
@@ -26,7 +26,7 @@
 //    Thread ThreadTimerTS3(CallTimerTS3,NULL,osPriorityBelowNormal);
 //    Thread ThreadTimerTS4(CallTimerTS4,NULL,osPriorityLow);
 #define TMAX    3.0          // [s], experiment starts from 0[s] to TMAX[s]
-#define TMAX_FIND_ORIGIN    0.1//1.0          // [s], finding th origin starts from 0[s] to TMAX[s]
+#define TMAX_FIND_ORIGIN    30//0.1//1.0          // [s], finding th origin starts from 0[s] to TMAX[s]
 
     // 電流制御マイナーループ
 #define iKPd    10./2     // 電流制御d軸PIDのPゲイン (d-axis)
@@ -36,7 +36,7 @@
 #define iKIq    100./2    // 電流制御q軸PIDのIゲイン (q-axis)
 #define iKDq    0         // 電流制御q軸PIDのDゲイン (q-axis)
 
-#define vdqMAX  300.
+#define vdqMAX  3.3     // Vcc
 #define SQRvdqMAX (vdqMAX*vdqMAX)   // [V^2] vdqの大きさの最大値の二乗
 
     // 速度制御メインループ
@@ -51,7 +51,7 @@
 #endif
 
 #define iLPF    0.9     // 0-1, 速度に対する1次LPF; Low Pass Filter, G(z)=(1-a)/(z-a)
-#define iqMAX   100       // [A], q軸電流指令のMAX制限(異常に大きい指令値を制限する)
+#define iqMAX   4//100       // [A], q軸電流指令のMAX制限(異常に大きい指令値を制限する)
 
 /*********** User setting for control parameters (end) ***************/
 
@@ -117,6 +117,6 @@
 extern velocity_loop_parameters    vl; // 速度制御メインループの定数、変数
 
 extern float data[][5];    // memory to save data offline instead of "online fprintf".
-extern unsigned short _count_data;    // counter for data[1000][5]
-
+extern unsigned short _count_data;  // counter for data[1000][5]
+extern float   debug[20];           // for debug
 #endif
\ No newline at end of file