matlab_23550/Inu/Src2/551/main/params_alg.h
Razvalyaev 7e0063eee0 #3 Скомпилилось, но пока ничего не вызывается
Все основные файлы подтянуты без изменений

Изменены (только папка main_matlab):
- заглушки для ненужных функций (main_matlab.c)
- iq библиотека (IQmathLib_matlab.c)
- библиотеки DSP281x
2025-01-13 11:09:58 +03:00

219 lines
9.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 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_ */