From 8c4fb92e6337ef4c67c968f21a1a766ebd42e488 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Tue, 15 Dec 2020 16:11:51 -0800 Subject: [PATCH 1/2] fix ACIM estimator source for current controller --- Firmware/MotorControl/axis.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Firmware/MotorControl/axis.cpp b/Firmware/MotorControl/axis.cpp index 15eaa3d5..363c75bb 100644 --- a/Firmware/MotorControl/axis.cpp +++ b/Firmware/MotorControl/axis.cpp @@ -313,14 +313,18 @@ bool Axis::start_closed_loop_control() { motor_.current_control_.Idq_setpoint_src_.connect_to(&motor_.Idq_setpoint_); motor_.current_control_.Vdq_setpoint_src_.connect_to(&motor_.Vdq_setpoint_); + bool is_acim = motor_.config_.motor_type == Motor::MOTOR_TYPE_ACIM; + // phase OutputPort* phase_src = sensorless_mode ? &sensorless_estimator_.phase_ : &encoder_.phase_; - motor_.current_control_.phase_src_.connect_to(phase_src); acim_estimator_.rotor_phase_src_.connect_to(phase_src); - + OutputPort* stator_phase_src = is_acim ? &acim_estimator_.stator_phase_ : phase_src; + motor_.current_control_.phase_src_.connect_to(stator_phase_src); + // phase vel OutputPort* phase_vel_src = sensorless_mode ? &sensorless_estimator_.phase_vel_ : &encoder_.phase_vel_; - motor_.phase_vel_src_.connect_to(phase_vel_src); - motor_.current_control_.phase_vel_src_.connect_to(phase_vel_src); acim_estimator_.rotor_phase_vel_src_.connect_to(phase_vel_src); + OutputPort* stator_phase_vel_src = is_acim ? &acim_estimator_.stator_phase_vel_ : phase_vel_src; + motor_.phase_vel_src_.connect_to(stator_phase_vel_src); + motor_.current_control_.phase_vel_src_.connect_to(stator_phase_vel_src); if (sensorless_mode) { // Make the final velocity of the loĉk-in spin the setpoint of the From 40f924bc2c182aada720030e4ff66daab08e6e39 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Tue, 15 Dec 2020 16:15:46 -0800 Subject: [PATCH 2/2] half drive current, 200ns deadtime, 4us drive time --- Firmware/Private | 2 +- ODrive_Workspace.code-workspace | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Firmware/Private b/Firmware/Private index f2e94eb7..260d6e71 160000 --- a/Firmware/Private +++ b/Firmware/Private @@ -1 +1 @@ -Subproject commit f2e94eb73204a955a9d623c6bbf1337b707ebd43 +Subproject commit 260d6e71fd03647bd4df3a44b05b9a389e0dc408 diff --git a/ODrive_Workspace.code-workspace b/ODrive_Workspace.code-workspace index 5891fce2..8c1fe5c3 100644 --- a/ODrive_Workspace.code-workspace +++ b/ODrive_Workspace.code-workspace @@ -11,9 +11,6 @@ }, { "path": "analysis" - }, - { - "path": "GUI" } ], "settings": {