From ae3f92f35875c309ca1cc958ed813cd2bb309ac7 Mon Sep 17 00:00:00 2001 From: robin Date: Thu, 13 Aug 2026 10:14:40 +0900 Subject: [PATCH] Add driver error code diagnostics and current limit query/set Reads 0x20A5/0x20A6 error codes alongside existing feedback poll to diagnose overcurrent/overload alarms, and adds rated/max current query and max current write helpers. Co-Authored-By: Claude Sonnet 5 --- xbox_motor_control.cpp | 156 ++++++++++++++++++++++++++++++++++++----- xbox_motor_control_cpp | Bin 60104 -> 72792 bytes 2 files changed, 139 insertions(+), 17 deletions(-) diff --git a/xbox_motor_control.cpp b/xbox_motor_control.cpp index ffbf1ce..6324a94 100644 --- a/xbox_motor_control.cpp +++ b/xbox_motor_control.cpp @@ -312,37 +312,97 @@ public: } bool readFeedback(float &l_fb, float &r_fb, int32_t &l_tick, - int32_t &r_tick, float &l_torque_a, float &r_torque_a) { + int32_t &r_tick, float &l_torque_a, float &r_torque_a, + uint16_t &err_l, uint16_t &err_r) { std::vector regs; - // 0x20A7~0x20AE 8레지스터 연속 읽기: 포지션 틱, RPM 피드백에 이어 - // 실제 토크(전류, 0x20AD/0x20AE)까지 한 번의 통신으로 확보. - // 무부하(공중에 뜬) 바퀴는 전류가 급격히 낮아지므로 슬립 진단에 사용. - if (port_->readRegs(slave_id_, 0x20A7, 8, regs)) { + // 0x20A5~0x20AE 10레지스터 연속 읽기: 에러코드(0x20A5/0x20A6)부터 + // 포지션 틱, RPM 피드백, 실제 토크(전류)까지 한 번의 통신으로 확보. + // 무부하(공중에 뜬) 바퀴는 전류가 급격히 낮아지므로 슬립 진단에 사용, + // 에러코드는 과전류/과부하 등 드라이버 알람 발생 시 원인 진단에 사용. + if (port_->readRegs(slave_id_, 0x20A5, 10, regs)) { + err_l = regs[0]; + err_r = regs[1]; + // 수정: uint32_t -> int32_t 캐스팅은 2의 보수 표현에서 안전하게 부호가 // 재해석됨. 기존의 "val - 0x100000000ULL" 방식은 uint64_t 승격 후 // int32_t로 축소 캐스팅하는 구현정의 동작(현실적으로는 대부분 동작하지만 // 명확성/이식성이 떨어짐)이라 제거함. - uint32_t val_l = (static_cast(regs[0]) << 16) | regs[1]; + uint32_t val_l = (static_cast(regs[2]) << 16) | regs[3]; l_tick = static_cast(val_l); - uint32_t val_r = (static_cast(regs[2]) << 16) | regs[3]; + uint32_t val_r = (static_cast(regs[4]) << 16) | regs[5]; r_tick = static_cast(val_r); - int16_t vl = static_cast(regs[4]); - int16_t vr = static_cast(regs[5]); + int16_t vl = static_cast(regs[6]); + int16_t vr = static_cast(regs[7]); l_fb = static_cast(vl) * 0.1f; // 0.1RPM 단위 -> RPM r_fb = static_cast(vr) * 0.1f; - int16_t tl = static_cast(regs[6]); - int16_t tr = static_cast(regs[7]); + int16_t tl = static_cast(regs[8]); + int16_t tr = static_cast(regs[9]); l_torque_a = static_cast(tl) * 0.1f; // 0.1A 단위 -> A r_torque_a = static_cast(tr) * 0.1f; return true; } return false; } + + // 정격전류(0x2033/0x2063)·최대전류(0x2034/0x2064) 실측 조회. 채널당 + // 2레지스터씩 떨어져 있어 L/R 두 번 읽음(설정값이라 시작 시 1회만 조회). + bool readCurrentLimits(uint16_t &rated_l, uint16_t &max_l, uint16_t &rated_r, + uint16_t &max_r) { + std::vector regs_l, regs_r; + if (!port_->readRegs(slave_id_, 0x2033, 2, regs_l)) + return false; + if (!port_->readRegs(slave_id_, 0x2063, 2, regs_r)) + return false; + rated_l = regs_l[0]; + max_l = regs_l[1]; + rated_r = regs_r[0]; + max_r = regs_r[1]; + return true; + } + + // 최대전류(0x2034/0x2064)를 좌/우 동일 값으로 설정. 단위 0.1A. + void setMaxCurrent(uint16_t max_current_01a) { + port_->writeReg(slave_id_, 0x2034, max_current_01a); + port_->writeReg(slave_id_, 0x2064, max_current_01a); + } }; +// 드라이버 에러코드(0x20A5/0x20A6) 비트마스크를 사람이 읽을 수 있는 설명으로 변환 +std::string decodeDriverError(uint16_t code) { + if (code == 0) + return ""; + std::string s; + auto add = [&](uint16_t bit, const char *name) { + if (code & bit) { + if (!s.empty()) + s += "+"; + s += name; + } + }; + add(0x0001, "과전압"); + add(0x0002, "저전압"); + add(0x0004, "과전류"); + add(0x0008, "과부하"); + add(0x0010, "전류이상(예약)"); + add(0x0020, "엔코더오차"); + add(0x0040, "속도이상(예약)"); + add(0x0080, "기준전압오류"); + add(0x0100, "EEPROM오류"); + add(0x0200, "홀센서오류"); + add(0x0400, "모터과열"); + add(0x0800, "엔코더오류"); + add(0x2000, "속도설정오류"); + if (s.empty()) { + char buf[32]; + snprintf(buf, sizeof(buf), "알수없음(0x%04X)", code); + s = buf; + } + return s; +} + // ----------------------------------------------------------------------------- // Livox Mid-360S Single LiDAR Obstacle Detection & Avoidance Class // ----------------------------------------------------------------------------- @@ -587,6 +647,11 @@ int main(int argc, char **argv) { int airborne_debounce_ticks = 5; // 틱 (100Hz 기준 50ms) 연속 들뜸 판정 // 시에만 실제로 목표속도를 낮춤 std::string log_path = ""; // 비어있으면 로깅 비활성화. --log <파일경로>로 지정 + // 실측 결과 정격15A/최대30A(공장 기본값) 그대로였음. 정격 위로 5A 여유는 + // 남기되, 걸림/과부하 상황에서 30A까지 밀어붙이며 3초씩 버티다 과부하 + // 알람이 터지는 걸 막기 위해 기본값을 20A로 낮춤. --max_current_a로 조정 가능. + // 음수를 주면 미변경(공장/기존 설정 유지). + float max_current_a = 20.0f; // LiDAR Parameters & Robot Physical Specs (User Specification) bool use_lidar = true; @@ -647,6 +712,8 @@ int main(int argc, char **argv) { airborne_debounce_ticks = std::stoi(argv[++i]); else if (arg == "--log" && i + 1 < argc) log_path = argv[++i]; + else if (arg == "--max_current_a" && i + 1 < argc) + max_current_a = std::stof(argv[++i]); else if (arg == "--bcast" || arg == "--broadcast") bcast_mode = true; else if (arg == "--lidar_config" && i + 1 < argc) @@ -721,6 +788,7 @@ int main(int argc, char **argv) { "fb_fl,fb_fr,fb_rl,fb_rr," "amp_fl,amp_fr,amp_rl,amp_rr," "stat_fl,stat_fr,stat_rl,stat_rr," + "err_fl,err_fr,err_rl,err_rr," "dist_axle,comm_ms\n"; std::cout << " - CSV 로그 기록: " << log_path << "\n"; } else { @@ -785,6 +853,40 @@ int main(int argc, char **argv) { driver_rear_ptr = &driver_rear; } + // 현재 드라이버에 실제로 설정된 정격/최대전류를 읽어와서 보여준다 + // (문서 기본값이 아니라 실제 하드웨어에 저장된 값을 확인하기 위함). + // --max_current_a가 지정되면 4바퀴 최대전류를 그 값으로 낮춘다. + if (!bcast_mode) { + uint16_t f_rated_l, f_max_l, f_rated_r, f_max_r; + if (driver_front.readCurrentLimits(f_rated_l, f_max_l, f_rated_r, + f_max_r)) { + std::cout << " - 전방 드라이버 전류설정: 정격 L" << f_rated_l * 0.1f + << "A/R" << f_rated_r * 0.1f << "A | 최대 L" << f_max_l * 0.1f + << "A/R" << f_max_r * 0.1f << "A\n"; + } else { + std::cout << "[경고] 전방 드라이버 전류설정 조회 실패\n"; + } + if (driver_rear_ptr) { + uint16_t r_rated_l, r_max_l, r_rated_r, r_max_r; + if (driver_rear_ptr->readCurrentLimits(r_rated_l, r_max_l, r_rated_r, + r_max_r)) { + std::cout << " - 후방 드라이버 전류설정: 정격 L" << r_rated_l * 0.1f + << "A/R" << r_rated_r * 0.1f << "A | 최대 L" + << r_max_l * 0.1f << "A/R" << r_max_r * 0.1f << "A\n"; + } else { + std::cout << "[경고] 후방 드라이버 전류설정 조회 실패\n"; + } + } + + if (max_current_a >= 0.0f) { + uint16_t new_max_01a = static_cast(max_current_a * 10.0f); + driver_front.setMaxCurrent(new_max_01a); + if (driver_rear_ptr) + driver_rear_ptr->setMaxCurrent(new_max_01a); + std::cout << " - 최대전류를 " << max_current_a << "A로 낮춤(4바퀴 동일)\n"; + } + } + std::cout << "\n[정보] C++ 100Hz 초저지연 루프를 시작합니다. (종료: B 버튼 " "또는 Ctrl+C, 라이다 토글: X 버튼)\n\n"; @@ -841,6 +943,7 @@ int main(int argc, char **argv) { bool airborne_rl = false, airborne_rr = false; int air_count_fl = 0, air_count_fr = 0, air_count_rl = 0, air_count_rr = 0; char wheel_status_str[5] = "OOOO"; + bool fault_active = false; // 드라이버 알람(과전류/과부하 등) 발생 여부 while (g_running) { SDL_Event event; @@ -1060,11 +1163,28 @@ int main(int argc, char **argv) { float fl_fb = 0, fr_fb = 0, rl_fb = 0, rr_fb = 0; float fl_amp = 0, fr_amp = 0, rl_amp = 0, rr_amp = 0; int32_t fl_tick = 0, fr_tick = 0, rl_tick = 0, rr_tick = 0; + uint16_t err_f_l = 0, err_f_r = 0, err_r_l = 0, err_r_r = 0; - driver_front.readFeedback(fl_fb, fr_fb, fl_tick, fr_tick, fl_amp, fr_amp); + driver_front.readFeedback(fl_fb, fr_fb, fl_tick, fr_tick, fl_amp, fr_amp, + err_f_l, err_f_r); if (driver_rear_ptr) driver_rear_ptr->readFeedback(rl_fb, rr_fb, rl_tick, rr_tick, rl_amp, - rr_amp); + rr_amp, err_r_l, err_r_r); + + // 드라이버 알람(과전류/과부하 등) 감지: 새로 발생한 알람만 콘솔에 + // 한 번 크게 출력한다 (매 틱 갱신되는 HUD 줄과 별개의 고정 줄). + // 알람이 뜨면 드라이버가 명령을 무시하는 잠금 상태가 되어 소프트웨어 + // 재시작만으로는 안 풀리는 경우가 많다(하드웨어 클리어/재활성화 필요). + bool fault_now = err_f_l || err_f_r || err_r_l || err_r_r; + if (fault_now && !fault_active) { + std::cout << "\n\n[!!! 드라이버 알람 발생 !!!] " + << "전방L:" << decodeDriverError(err_f_l) + << " 전방R:" << decodeDriverError(err_f_r) + << " 후방L:" << decodeDriverError(err_r_l) + << " 후방R:" << decodeDriverError(err_r_r) + << " -> 모터 정지, 전원 재시작 또는 알람클리어 필요\n\n"; + } + fault_active = fault_now; auto comm_end = std::chrono::high_resolution_clock::now(); float comm_ms = @@ -1167,14 +1287,16 @@ int main(int argc, char **argv) { << rl_fb << ',' << rr_fb << ',' << fl_amp << ',' << fr_amp << ',' << rl_amp << ',' << rr_amp << ',' << wheel_status_str[0] << ',' << wheel_status_str[1] << ',' << wheel_status_str[2] - << ',' << wheel_status_str[3] << ',' << dist_axle << ',' - << comm_ms << '\n'; + << ',' << wheel_status_str[3] << ',' << err_f_l << ',' + << err_f_r << ',' << err_r_l << ',' << err_r_r << ',' + << dist_axle << ',' << comm_ms << '\n'; } printf("\r\033[K[%-8s] AXLE:%5.3fm | %-28s | I(A):FL%+4.1f FR%+4.1f " - "RL%+4.1f RR%+4.1f | WHL(FL/FR/RL/RR):%s | %4.1fms", + "RL%+4.1f RR%+4.1f | WHL(FL/FR/RL/RR):%s%s | %4.1fms", state.c_str(), dist_axle, lidar_telemetry.c_str(), fl_amp, fr_amp, - rl_amp, rr_amp, wheel_status_str, comm_ms); + rl_amp, rr_amp, wheel_status_str, + fault_active ? " [!!알람!!]" : "", comm_ms); fflush(stdout); std::this_thread::sleep_for( diff --git a/xbox_motor_control_cpp b/xbox_motor_control_cpp index 3df30569fecd0c2b0dc028e75cffc437d4b5c357..8cdb1b8ca47ceb6940ad7912b5b350aa449b5a98 100755 GIT binary patch literal 72792 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 literal 60104 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 PU;KvUcq~^SmsS4