Razvalyaev
7e0063eee0
Все основные файлы подтянуты без изменений Изменены (только папка main_matlab): - заглушки для ненужных функций (main_matlab.c) - iq библиотека (IQmathLib_matlab.c) - библиотеки DSP281x
219 lines
9.1 KiB
C
219 lines
9.1 KiB
C
/*
|
||
* params_alg.h
|
||
*
|
||
* Created on: 26 июн. 2020 г.
|
||
* Author: Yura
|
||
*/
|
||
|
||
#ifndef SRC_MAIN_PARAMS_ALG_H_
|
||
#define SRC_MAIN_PARAMS_ALG_H_
|
||
|
||
// разпрет расчета км на слейве, берем с мастера
|
||
#define DISABLE_CALC_KM_ON_SLAVE 0//1
|
||
|
||
#define DISABLE_WORK_BREAK 0 // запрнтить работу с тормозными
|
||
|
||
#define SENSOR_ALG_22220 1
|
||
#define SENSOR_ALG_23550 2
|
||
|
||
|
||
#define SENSOR_ALG SENSOR_ALG_22220
|
||
//#define SENSOR_ALG SENSOR_ALG_23550
|
||
|
||
|
||
#define NOMINAL_U_ZARYAD 2520 // Задание напряжения заряда ЗПТ
|
||
#define NOMINAL_U_BREAK_LEVEL 2580 // начало работы тормозных + IQ_DELTA_U_START_RECUP=100V
|
||
#define NOMINAL_SET_IZAD 910 // ток от поста
|
||
#define NOMINAL_SET_K_U_DISBALANCE 40//20 // Задание К напряжения дисбаланса коэф. обратной связи по дисбалансу, надо >0 чтоб работал алгоритм
|
||
#define NOMINAL_SET_LIMIT_POWER 6300 // запас мощность от поста
|
||
|
||
|
||
|
||
|
||
|
||
///////////////////////////////////////////////////////////////
|
||
#define U_D_MAX_ERROR_GLOBAL IQ_I_U_VALUE_PLUS_2850 //U_D_MAX_ERROR_GLOBAL_2850
|
||
|
||
#define MAX_U_PROC_SMALL 2.5 //1.4
|
||
#define MAX_U_PROC 1.1 //1.11 //1.4
|
||
#define MIN_U_PROC 0.8 //0.7
|
||
|
||
#define ADD_U_MAX_GLOBAL 200.0 //V Насколько поднимаем уставку GLOBAL относительно ZadanieU_Charge
|
||
#define ADD_U_MAX_GLOBAL_SMALL 500.0 //V Насколько поднимаем уставку GLOBAL относительно ZadanieU_Charge
|
||
#define LEVEL_DETECT_U_SMALL 1000.0 //V Насколько поднимаем уставку GLOBAL относительно ZadanieU_Charge
|
||
|
||
#define KOEF_IM_ON_TORMOG 0.65// 0.75 // на сколько уменьшать возможную мощность при торможении
|
||
#define KOEF_IM_ON_TORMOG_WITH_MAX_TEMPER_BREAK 0.1// с перегревом томозных на сколько уменьшать возможную мощность при торможении
|
||
|
||
///////////////////////////////////////////////////////////////
|
||
|
||
|
||
#define MZZ_ADD_1 0.5 // 0.25 //0.5 интенсивнось набора момента за 1 мсек
|
||
#define MZZ_ADD_2 0.15 ///0.1 //0.05 //0.1 интенсивнось набора момента за 1 мсек
|
||
#define MZZ_ADD_3 0.25 //0.05 ///0.1 //0.05 //0.1 интенсивнось набора момента за 1 мсек
|
||
|
||
#define FZAD_ADD_MAX 0.08 //0.005 //0.08 интенсивнось набора fzad за 1 мсек
|
||
#define FZAD_DEC 0.0004 //интенсивнось спада fzad за 1 мсек
|
||
|
||
#define POWERZAD_ADD_MAX 0.08 //0.005 //0.08 интенсивнось набора fzad за 1 мсек
|
||
#define POWERZAD_DEC 0.0004 //интенсивнось спада fzad за 1 мсек
|
||
|
||
#define POLUS 6 //6 // число пар полюсов
|
||
#define BPSI_NORMAL 0.22 //0.3 // скольжение константа
|
||
#define BPSI_MAXIMAL 0.35 //0.3 // скольжение константа
|
||
#define BPSI_MINIMAL 0.05 //0.3 // скольжение константа
|
||
#define PROVOROT_F_HZ 0.2 // проворот
|
||
#define PROVOROT_OBOROTS 10 // проворот
|
||
|
||
|
||
#define ADD_KP_DF (1000.0/NORMA_MZZ)//(500.0/NORMA_MZZ)//(50.0/NORMA_MZZ)
|
||
#define ADD_KI_DF (2000.0/NORMA_MZZ)//(1000.0/NORMA_MZZ)//(100.0/NORMA_MZZ)
|
||
|
||
#define ADD_KP_DPOWER (1000.0/NORMA_MZZ)//(500.0/NORMA_MZZ)//(50.0/NORMA_MZZ)
|
||
#define ADD_KI_DPOWER (2000.0/NORMA_MZZ)//(1000.0/NORMA_MZZ)//(100.0/NORMA_MZZ)
|
||
|
||
#define MIN_MZZ_FOR_DF 210
|
||
#define MIN_MZZ_FOR_DPOWER 210
|
||
|
||
|
||
////////////////////
|
||
|
||
|
||
#define PID_KP_IM 0.036 //0.018 //0.0013// 0.018 //0.036 //0.018 //0.18 //0.095 // PID Kp
|
||
#define PID_KI_IM 0.32 // 0.16 //0.32 //0.16 //0.08//0.8//0.025 //0.08 // PID Ki
|
||
#define PID_KD_IM 0.0000 //*100 // PID Kd
|
||
#define PID_KC_IM 0.09 // PID Kc
|
||
|
||
|
||
#define PID_KP_F 12.0//6.0//12.0 //6.0 //18 //12//6//26//12 //40 //20 //12 //20 //60.0 //20.0 //0.095 // PID Kp
|
||
#define PID_KI_F 0.00020 //0.00010 // 0.008 // PID Ki
|
||
//#define PID_KI_F 0.00030 //0.00010 // 0.008 // PID Ki
|
||
#define PID_KD_F 0.000 //*100 PID Kd
|
||
#define PID_KC_F 0.00005//0.005 // PID Kc
|
||
//#define PID_KC_F 0.000 // PID Kc
|
||
|
||
#define PID_KP_POWER 9//3//26//12 //40 //20 //12 //20 //60.0 //20.0 //0.095 // PID Kp
|
||
//#define PID_KI_F 0.00020 //0.00010 // 0.008 // PID Ki
|
||
#define PID_KI_POWER 0.00030 //0.00010 // 0.008 // PID Ki
|
||
#define PID_KD_POWER 0.000 //*100 PID Kd
|
||
#define PID_KC_POWER 0.0001 // PID Kc
|
||
|
||
|
||
|
||
///////////////////
|
||
// макс. k ограничено электроникой
|
||
|
||
#define K_STATOR_MAX 0.93 // 0.91 // для DEF_PERIOD_MIN_MKS = 60 мкс
|
||
#define K_STATOR_MIN 0.020 // 0.91 // для DEF_PERIOD_MIN_MKS = 60 мкс
|
||
|
||
//#define K_STATOR_MAX 0.89 //для DEF_PERIOD_MIN_MKS = 80 мкс
|
||
|
||
|
||
|
||
|
||
#define MAX_ZADANIE_I_VOZBUD 200.0 // A
|
||
|
||
#define MAX_ZADANIE_U_CHARGE 2800.0//1500.0 //V
|
||
//#define MAX_ZADANIE_F_ROTOR 70
|
||
|
||
#define MAX_ZADANIE_OBOROTS_ROTOR 230.0 //340 //240 1000 //260.0 // +/- ob/min
|
||
#define MIN_ZADANIE_OBOROTS_ROTOR -230.0 //-180.0 //-230.0 // 1000 //260.0 // +/- ob/min
|
||
|
||
#define MAX_1_ZADANIE_OBOROTS_ROTOR 120.0 //340 //240 1000 //260.0 // +/- ob/min
|
||
#define MIN_1_ZADANIE_OBOROTS_ROTOR -90.0 //-230.0 // 1000 //260.0 // +/- ob/min
|
||
|
||
|
||
#define DEAD_ZONE_ZADANIE_OBOROTS_ROTOR 10.0
|
||
|
||
#define MAX_ZADANIE_I_M 950.0// 1000.0 //750.0 // A
|
||
|
||
#define MAX_ZADANIE_POWER 6300.0 // kWt
|
||
#define MIN_ZADANIE_POWER -6300.0 // kWt
|
||
|
||
#define MAX_1_ZADANIE_POWER 3000.0 // kWt
|
||
#define MIN_1_ZADANIE_POWER -3000.0 // kWt
|
||
|
||
|
||
#define SUPER_MAX_ZADANIE_LIMIT_POWER 6500.0 // kWt
|
||
|
||
#define MAX_ZADANIE_LIMIT_POWER 6300.0 // kWt
|
||
#define MAX_1_ZADANIE_LIMIT_POWER 2000.0 // kWt
|
||
|
||
#define MIN_ZADANIE_LIMIT_POWER 100.0 // kWt
|
||
#define MIN_ZADANIE_LIMIT_POWER_FROM_SVU 50.0 // kWt
|
||
#define POWER_ZAPAS_FOR_UOM 5 //50 // доп запас для УОМ
|
||
|
||
#define DEAD_ZONE_ZADANIE_POWER 50.0 // kWt
|
||
#define DEAD_ZONE_ZADANIE_LIMIT_POWER 50.0 // kWt
|
||
|
||
|
||
|
||
#define MAX_ZADANIE_K_M K_STATOR_MAX // A
|
||
#define MAX_ZADANIE_F 30.0 // Hz
|
||
#define MIN_ZADANIE_F -30.0 //60.0 // Hz
|
||
|
||
|
||
#define MAX_ZADANIE_K_U_DISBALANCE 2.0 //1.0 // k
|
||
#define MAX_ZADANIE_KPLUS_U_DISBALANCE 1.0 // k
|
||
|
||
|
||
|
||
#define T_NARAST_ZADANIE_F 5.0 // sec
|
||
#define T_NARAST_ZADANIE_OBOROTS_ROTOR 80.0 //20.0 //30.0 //15.0 // sec
|
||
|
||
#define T1_NARAST_ZADANIE_OBOROTS_ROTOR_PLUS 80.0 //20.0 //30.0 //15.0 // sec
|
||
#define T1_NARAST_ZADANIE_OBOROTS_ROTOR_MINUS 40.0 //20.0 //30.0 //15.0 // sec
|
||
|
||
#define T2_NARAST_ZADANIE_OBOROTS_ROTOR_PLUS 80.0 //160.0 //20.0 //30.0 //15.0 // sec
|
||
#define T2_NARAST_ZADANIE_OBOROTS_ROTOR_MINUS 40.0 //20.0 //30.0 //15.0 // sec
|
||
|
||
#define T_SLOW_NARAST_ZADANIE_OBOROTS_ROTOR_PLUS 600.0 //160.0 //20.0 //30.0 //15.0 // sec
|
||
#define T_SLOW_NARAST_ZADANIE_OBOROTS_ROTOR_MINUS 600.0 //20.0 //30.0 //15.0 // sec
|
||
|
||
|
||
|
||
#define T_NARAST_ZADANIE_K_M 15.0 // sec
|
||
#define T_NARAST_ZADANIE_I_M 15.0 // sec
|
||
|
||
#define T1_NARAST_ZADANIE_POWER_PLUS 80.0 //30.0 // sec
|
||
#define T1_NARAST_ZADANIE_POWER_MINUS 30.0 //30.0 // sec
|
||
#define T2_NARAST_ZADANIE_POWER_PLUS 80.0 //30.0 // sec
|
||
#define T2_NARAST_ZADANIE_POWER_MINUS 30.0 //30.0 // sec
|
||
|
||
#define T_NARAST_ZADANIE_LIMIT_POWER 5.0 //30.0 // sec
|
||
|
||
#define T1_NARAST_ZADANIE_LIMIT_POWER_PLUS 30.0 //30.0 // sec
|
||
#define T1_NARAST_ZADANIE_LIMIT_POWER_MINUS 5.0 //30.0 // sec
|
||
#define T2_NARAST_ZADANIE_LIMIT_POWER_PLUS 80.0 //30.0 // sec
|
||
#define T2_NARAST_ZADANIE_LIMIT_POWER_MINUS 5.0 //30.0 // sec
|
||
|
||
|
||
#define T_NARAST_ZADANIE_U_CHARGE 2.0 // sec
|
||
#define T_NARAST_ZADANIE_K_U_DISBALANCE 15.0 // sec
|
||
#define T_NARAST_ZADANIE_KPLUS_U_DISBALANCE 15.0 // sec
|
||
|
||
#define T_NARAST_ZADANIE_IMITATION_OBOROTS_ROTOR 30.0 // sec
|
||
|
||
|
||
|
||
|
||
|
||
|
||
#define ENABLE_DECR_MZZ_POWER_IZAD 1
|
||
// запас мощности при задании мощности от СВУ
|
||
#define POWER_AIN_100KW 186413
|
||
|
||
#define DELTA_LEVEL_POWER_AIN_DECR_MZZ_DEF (3*POWER_AIN_100KW) // 300 kW // 559240 //300 кВт//186413 //100kW // iqP = P (W) /3000/3000 * 2^24 //
|
||
#define MIN_DELTA_LEVEL_POWER_AIN_DECR_MZZ_DEF (5*POWER_AIN_100KW) // 500 kW
|
||
#define SMEWENIE_LEVEL_POWER_AIN_DECR_MZZ_DEF 0 //(1*POWER_AIN_100KW) // 100 kW
|
||
|
||
// меняется от 1 - полный размах до 0 - нет ограничения
|
||
#define MAX_KOEF_OGRAN_POWER_LIMIT CONST_IQ_05 // 0.5
|
||
#define EXP_FILTER_KOEF_OGRAN_POWER_LIMIT 4.40//2.22 // в секундах
|
||
|
||
|
||
|
||
|
||
|
||
#endif /* SRC_MAIN_PARAMS_ALG_H_ */
|