#5 Заработало, но есть ньюансы
- Почему-то функция recalc_time_pwm_minimal_2_xilinx_pwm24 работает только если pwm24->XilinxFreq в формате int, а не unsigned - Алг нормально стартует почему-то не сразу, а где-то после 4 секунды - Тесты при разном порядке фаз (дефайн SIMULINK_SEQUENCE = V_PWM24_PHASE_SEQ_XXX) - V_PWM24_PHASE_SEQ_NORMAL_ABC: работает красиво, но не правильно. - V_PWM24_PHASE_SEQ_NORMAL_BCA: работает вроде кое-как правильно, но почти моментально выходит на скорость 34Гц. Плюс сильный выброс в начале. Мб параметры двигателя неправильные - остальные работают через жопу - Задание (оборотов, мощности, Izad) почему-то никак не влияет - ШИМ вроде шимиться нормально (учитывая высокую частоту огибающей) closed #4
This commit is contained in:
parent
c42e0fa1d3
commit
5169ba84d3
@ -54,7 +54,7 @@ typedef struct { // _iq Gain; // Input: reference gain voltage (pu)
|
|||||||
// _iq delta_t;
|
// _iq delta_t;
|
||||||
//int16 Periodmax;
|
//int16 Periodmax;
|
||||||
//int16 PeriodMin;
|
//int16 PeriodMin;
|
||||||
unsigned int XilinxFreq; // Xilinx freq in TIC
|
int XilinxFreq; // Xilinx freq in TIC
|
||||||
|
|
||||||
unsigned int pwm_minimal_impuls_zero_plus;
|
unsigned int pwm_minimal_impuls_zero_plus;
|
||||||
unsigned int pwm_minimal_impuls_zero;
|
unsigned int pwm_minimal_impuls_zero;
|
||||||
|
@ -22,10 +22,11 @@ void init28335(void) {
|
|||||||
|
|
||||||
Init_Adc_Variables();
|
Init_Adc_Variables();
|
||||||
|
|
||||||
//svgen_pwm24_1.phase_sequence = SIMULINK_SEQUENCE;
|
svgen_pwm24_1.phase_sequence = SIMULINK_SEQUENCE;
|
||||||
//svgen_pwm24_2.phase_sequence = SIMULINK_SEQUENCE;
|
svgen_pwm24_2.phase_sequence = SIMULINK_SEQUENCE;
|
||||||
|
|
||||||
edrk.zadanie.iq_Izad = _IQ(1);
|
edrk.zadanie.iq_Izad = _IQ(0.5);
|
||||||
|
edrk.disable_alg_u_disbalance = 1;
|
||||||
//analog_zero.iqU_1 = 2048;
|
//analog_zero.iqU_1 = 2048;
|
||||||
//analog_zero.iqU_2 = 2048;
|
//analog_zero.iqU_2 = 2048;
|
||||||
} //void init28335(void)
|
} //void init28335(void)
|
||||||
|
@ -33,8 +33,8 @@ void readInputParameters(const real_T *u) {
|
|||||||
u[nn++];
|
u[nn++];
|
||||||
edrk.Mode_ScalarVectorUFConst = ALG_MODE_FOC_OBOROTS;
|
edrk.Mode_ScalarVectorUFConst = ALG_MODE_FOC_OBOROTS;
|
||||||
|
|
||||||
edrk.zadanie.iq_power_zad = _IQ(u[nn++]);
|
edrk.zadanie.iq_power_zad = _IQ(0.5);
|
||||||
edrk.zadanie.iq_oborots_zad_hz = _IQ(u[nn++]);
|
edrk.zadanie.iq_oborots_zad_hz = _IQ(0.5);
|
||||||
|
|
||||||
edrk.MasterSlave = MODE_MASTER;
|
edrk.MasterSlave = MODE_MASTER;
|
||||||
edrk.master_theta;
|
edrk.master_theta;
|
||||||
|
14
Inu/def.h
14
Inu/def.h
@ -11,13 +11,13 @@
|
|||||||
// раскомментировать, если есть сдвиг между обмотками ГЭД (30 град.)
|
// раскомментировать, если есть сдвиг между обмотками ГЭД (30 град.)
|
||||||
#define SHIFT
|
#define SHIFT
|
||||||
|
|
||||||
#define SIMULINK_SEQUENCE V_PWM24_PHASE_SEQ_REVERS_BAC
|
#define SIMULINK_SEQUENCE V_PWM24_PHASE_SEQ_NORMAL_BCA
|
||||||
/* V_PWM24_PHASE_SEQ_NORMAL_ABC,
|
/* V_PWM24_PHASE_SEQ_NORMAL_ABC, - íĺ ňî
|
||||||
V_PWM24_PHASE_SEQ_NORMAL_BCA,
|
V_PWM24_PHASE_SEQ_NORMAL_BCA, - ďîőîćĺ íŕ ďđŕâäó
|
||||||
V_PWM24_PHASE_SEQ_NORMAL_CAB,
|
V_PWM24_PHASE_SEQ_NORMAL_CAB, - ćîďŕ
|
||||||
V_PWM24_PHASE_SEQ_REVERS_ACB,
|
V_PWM24_PHASE_SEQ_REVERS_ACB, - ćîďŕ
|
||||||
V_PWM24_PHASE_SEQ_REVERS_CBA,
|
V_PWM24_PHASE_SEQ_REVERS_CBA, - ćîďŕ
|
||||||
V_PWM24_PHASE_SEQ_REVERS_BAC
|
V_PWM24_PHASE_SEQ_REVERS_BAC - ćîďŕ
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// режимы работы (для state)
|
// режимы работы (для state)
|
||||||
|
@ -74,10 +74,10 @@ void SimulatePWM(TimerSimHandle* tsim, int compare)
|
|||||||
{
|
{
|
||||||
simulateTimAndGetCompare(tsim, compare);
|
simulateTimAndGetCompare(tsim, compare);
|
||||||
simulateActionActionQualifierSubmodule(tsim);
|
simulateActionActionQualifierSubmodule(tsim);
|
||||||
tsim->ciA = tsim->dtsim.ciA_DT;
|
//tsim->ciA = tsim->dtsim.ciA_DT;
|
||||||
tsim->ciB = tsim->dtsim.ciB_DT;
|
//tsim->ciB = tsim->dtsim.ciB_DT;
|
||||||
//simulateDeadBendSubmodule(tsim);
|
simulateDeadBendSubmodule(tsim);
|
||||||
//simulateTripZoneSubmodule(tsim);
|
simulateTripZoneSubmodule(tsim);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user