From 4b0f6db86b9580c183a3bf3e984cd158c49d8218 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Fri, 16 May 2025 13:47:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20ForceDisconnect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- matlab_stm_emulate | 2 +- mcu_project/upp/Core/upp/upp.c | 15 +++++++++++++-- mcu_project/upp/Core/upp/upp.h | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/matlab_stm_emulate b/matlab_stm_emulate index 1c5ce14..6392d35 160000 --- a/matlab_stm_emulate +++ b/matlab_stm_emulate @@ -1 +1 @@ -Subproject commit 1c5ce14f0f63f77ed57a30b2d30d6a8eae14f044 +Subproject commit 6392d351290206d1cc21e8f8330d45846cb1f560 diff --git a/mcu_project/upp/Core/upp/upp.c b/mcu_project/upp/Core/upp/upp.c index 9bcc6a8..57835ad 100644 --- a/mcu_project/upp/Core/upp/upp.c +++ b/mcu_project/upp/Core/upp/upp.c @@ -24,10 +24,22 @@ void upp_main(void) connect_upp(); return; } + if(Upp.ForceDisconnect) + { + phase_A.ctrl.f.TiristorReady = 1; + phase_B.ctrl.f.TiristorReady = 1; + phase_C.ctrl.f.TiristorReady = 1; + Upp.Go = 0; + disconnect_upp(); + return; + } // отключаем упп если выставлен флаг if(Upp.GoDisconnect) { + phase_A.ctrl.f.TiristorReady = 1; + phase_B.ctrl.f.TiristorReady = 1; + phase_C.ctrl.f.TiristorReady = 1; disconnect_upp(); } // останавливаем упп если выставлен флаг @@ -114,7 +126,6 @@ void upp_safe_go(void) if(Upp.GoSafe > prev_gosafe) { Upp.angleInit.direction = 0; - Upp.ForceStop = 0; Upp.Prepare = 1; Upp.Go = 1; tiristor_angle_reset(&phase_A.ctrl); @@ -267,7 +278,7 @@ int GetAngleInit(AngleInit_t *angle) void upp_init(void) { - Upp.max_duty = 0.8; + Upp.max_duty = 0.9; Upp.min_duty = 0.1; Upp.angleInit.sample_time_ms = 100; diff --git a/mcu_project/upp/Core/upp/upp.h b/mcu_project/upp/Core/upp/upp.h index cafce11..f6765e9 100644 --- a/mcu_project/upp/Core/upp/upp.h +++ b/mcu_project/upp/Core/upp/upp.h @@ -38,6 +38,7 @@ typedef struct unsigned Disconnected:1; unsigned GoDisconnect:1; unsigned ForceStop:1; + unsigned ForceDisconnect:1; unsigned PreGoDone:1;