added comments
This commit is contained in:
parent
930ea864c7
commit
ae83491bd8
20
FOExp.v
20
FOExp.v
@ -472,6 +472,8 @@ else if (CALC_SM_STATE==2)
|
|||||||
if (CALC_SM_COUNTER==1)
|
if (CALC_SM_COUNTER==1)
|
||||||
begin
|
begin
|
||||||
|
|
||||||
|
// Калибровка тока чоппера для блока UNIT1:
|
||||||
|
// вычитаем смещение 16585 или берём модуль отклонения относительно этой точки
|
||||||
`ifdef UNIT1
|
`ifdef UNIT1
|
||||||
if (CHOPPER_CURRENT_ADC>=16585) begin CHOPPER_CURRENT_ADC = CHOPPER_CURRENT_ADC - 16585; end //U1=16585 //U2 = 16560 //U3 = 16590 //U4 = 16580
|
if (CHOPPER_CURRENT_ADC>=16585) begin CHOPPER_CURRENT_ADC = CHOPPER_CURRENT_ADC - 16585; end //U1=16585 //U2 = 16560 //U3 = 16590 //U4 = 16580
|
||||||
else begin CHOPPER_CURRENT_ADC = 16585 - CHOPPER_CURRENT_ADC; end
|
else begin CHOPPER_CURRENT_ADC = 16585 - CHOPPER_CURRENT_ADC; end
|
||||||
@ -487,13 +489,19 @@ else if (CALC_SM_STATE==2)
|
|||||||
else begin CHOPPER_CURRENT_ADC = 16590 - CHOPPER_CURRENT_ADC; end
|
else begin CHOPPER_CURRENT_ADC = 16590 - CHOPPER_CURRENT_ADC; end
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
|
// Калибровка тока чоппера для блока UNIT4:
|
||||||
|
// аналогично UNIT1, но используется своё смещение 16580
|
||||||
`ifdef UNIT4
|
`ifdef UNIT4
|
||||||
if (CHOPPER_CURRENT_ADC>=16580) begin CHOPPER_CURRENT_ADC = CHOPPER_CURRENT_ADC - 16580; end
|
if (CHOPPER_CURRENT_ADC>=16580) begin CHOPPER_CURRENT_ADC = CHOPPER_CURRENT_ADC - 16580; end
|
||||||
else begin CHOPPER_CURRENT_ADC = 16580 - CHOPPER_CURRENT_ADC; end
|
else begin CHOPPER_CURRENT_ADC = 16580 - CHOPPER_CURRENT_ADC; end
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
|
// Для UNIT4 тормозной ток BRAKE_CURRENT_ADC полностью игнорируется:
|
||||||
|
// принудительно обнуляется перед дальнейшими расчётами
|
||||||
`ifdef UNIT4
|
`ifdef UNIT4
|
||||||
BRAKE_CURRENT_ADC = 0;
|
BRAKE_CURRENT_ADC = 0;
|
||||||
|
// Для всех остальных блоков (UNIT1, UNIT2, UNIT3) тормозной ток калибруется:
|
||||||
|
// вычитаем смещение 16560 или берём модуль отклонения относительно этой точки
|
||||||
`else
|
`else
|
||||||
if (BRAKE_CURRENT_ADC>=16560) begin BRAKE_CURRENT_ADC = BRAKE_CURRENT_ADC - 16560; end
|
if (BRAKE_CURRENT_ADC>=16560) begin BRAKE_CURRENT_ADC = BRAKE_CURRENT_ADC - 16560; end
|
||||||
else begin BRAKE_CURRENT_ADC = 16560 - BRAKE_CURRENT_ADC; end
|
else begin BRAKE_CURRENT_ADC = 16560 - BRAKE_CURRENT_ADC; end
|
||||||
@ -714,11 +722,13 @@ end
|
|||||||
*/
|
*/
|
||||||
//TEST--------------------------------------------
|
//TEST--------------------------------------------
|
||||||
|
|
||||||
CHOPPER_VOLTAGE_SETPOINT = FO_INPUT_VAL1;
|
CHOPPER_VOLTAGE_SETPOINT = FO_INPUT_VAL1;
|
||||||
CHOPPER_CURRENT_LIMIT = FO_INPUT_VAL2;
|
CHOPPER_CURRENT_LIMIT = FO_INPUT_VAL2;
|
||||||
REG_INTEGRATOR_LIMIT = CHOPPER_CURRENT_LIMIT*1024;
|
REG_INTEGRATOR_LIMIT = CHOPPER_CURRENT_LIMIT*1024;
|
||||||
REG_VOLTAGE_INPUT = VOUT_FILTER_OUTPUT;
|
REG_VOLTAGE_INPUT = VOUT_FILTER_OUTPUT;
|
||||||
|
|
||||||
|
// Настройка ПИ-регулятора для UNIT1:
|
||||||
|
// REG_PROP — пропорциональный коэффициент, REG_INT — интегральный
|
||||||
`ifdef UNIT1
|
`ifdef UNIT1
|
||||||
REG_PROP = 1; //A/V
|
REG_PROP = 1; //A/V
|
||||||
REG_INT = 9; //~x0.1 10 = 10 * 10000/1024 = 95 A/V/s = 9500A/100V/s = 950A/100ms
|
REG_INT = 9; //~x0.1 10 = 10 * 10000/1024 = 95 A/V/s = 9500A/100V/s = 950A/100ms
|
||||||
@ -734,6 +744,8 @@ REG_VOLTAGE_INPUT = VOUT_FILTER_OUTPUT;
|
|||||||
REG_INT = 11; //
|
REG_INT = 11; //
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
|
// Настройка ПИ-регулятора для UNIT4:
|
||||||
|
// немного другое интегральное усиление (12) под конкретный модуль
|
||||||
`ifdef UNIT4
|
`ifdef UNIT4
|
||||||
REG_PROP = 1; //A/V
|
REG_PROP = 1; //A/V
|
||||||
REG_INT = 12; //
|
REG_INT = 12; //
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user