☰
手把手教你学Simulink——扫地机器人行走电机及主刷电机的堵转检测与自适应控制仿真
2026/10/11 1:44:38 网站建设 项目流程

目录

手把手教你学Simulink——扫地机器人行走电机及主刷电机的堵转检测与自适应控制仿真

一、两类电机的差异化建模

1.1 行走电机(低速大转矩PMSM)

1.2 主刷电机(中高速BLDC)

1.3 负载模型

二、堵转检测策略

2.1 电流阈值法

2.2 转速偏差法

2.3 $I^2 t$ 热累积法

三、自适应控制策略

3.1 主刷防缠绕自适应

3.2 行走轮自适应

3.3 模糊PID自适应(进阶)

四、Simulink仿真搭建

4.1 整体架构

4.2 关键子系统

4.3 仿真参数推荐

五、典型仿真场景

六、从仿真到实物部署

七、总结


手把手教你学Simulink——扫地机器人行走电机及主刷电机的堵转检测与自适应控制仿真

扫地机器人里,行走电机和主刷电机是负载最"恶劣"的两类:行走轮频繁启停、差速转向、爬坡越障,启动冲击电流可达额定5~10倍;主刷直接接触地面,极易被毛发、电线、地毯边缘缠绕堵转,堵转瞬间电流飙升可能烧毁MOSFET。 这篇把堵转检测 + 自适应脱困 + 双电机协同仿真在Simulink里打通。

一、两类电机的差异化建模

1.1 行走电机(低速大转矩PMSM)

主流方案是FOC磁场定向控制,追求静音和精准差速。 Simscape Electrical 用PMSM (Three-Phase)模块:

  • 极对数:4~8对极,低速大转矩;
  • 额定转速:500~2000 rpm;
  • 功率:10~40 W;
  • 关键特性:需设置磁饱和曲线,低速时反电动势微弱,无感观测器精度下降。

1.2 主刷电机(中高速BLDC)

主流方案是方波六步换相或FOC,追求恒扭矩和防缠绕。 用BLDC (Trapezoidal)模块:

  • 额定转速:1000~5000 rpm;
  • 功率:5~20 W;
  • 关键特性:反电动势为梯形波,换相噪音需通过20~40 kHz PWM频率抑制。

1.3 负载模型

行走轮负载(含爬坡/越障):

$$T_{wheel} = T_{rolling} + T_{slope} + T_{obstacle}$$

其中爬坡转矩与坡度角正弦成正比,越障用阶跃转矩模拟。

主刷负载(含缠绕工况):

$$T_{brush} = T_{friction} + k \cdot \omega + T_{tangle}$$

$T_{tangle}$ 用阶跃或斜坡信号模拟毛发逐渐缠绕导致的阻力上升,堵转时设为极大值。

二、堵转检测策略

堵转检测是保护的第一道防线,工程上常用"电流+转速"双判据。

2.1 电流阈值法

最直接可靠。采样电阻+运放或驱动芯片内置ISEN引脚实时监测电流。

  • 行走电机:堵转阈值15~20 A,持续1 s判定堵转;
  • 主刷电机:堵转阈值超过额定30%且持续5 ms即判定;

Simulink实现:用Relational Operator比较电流与阈值,接Timer模块计时,超时触发保护。

2.2 转速偏差法

给定PWM但转速为零或远低于预期,判定堵转。适用于有编码器/霍尔反馈的场景。

转速给定 - 实际转速 → 误差过大且持续N ms → 堵转标志

2.3 $I^2 t$ 热累积法

模拟热保护,对 $I^2$ 积分,超过阈值触发降额或停机。

$$\frac{dQ}{dt} = I^2 - \frac{Q}{\tau_{thermal}}$$

Simulink用Integrator实现,加入散热项更贴近真实温升。

三、自适应控制策略

堵转检测只是"发现问题",自适应控制才是"解决问题"。扫地机主流做法是分级响应。

3.1 主刷防缠绕自适应

负载状态判据自适应动作
正常运行电流稳定在额定值维持恒定转速
轻微缠绕电流上升10%~20%转速提升5%~10%,增大扭矩挣脱
严重堵转电流超额定30%持续5 ms立即停机→反转3 s→重试,仍堵转则报错

Simulink用Stateflow实现状态机:

NORMAL → LIGHT_TANGLE → HEAVY_STALL → REVERSE → FAULT

3.2 行走轮自适应

  • 爬坡/越障:电流上升时自动提升电流环给定,增大输出扭矩;
  • 打滑检测:轮速远高于IMU推算的机身速度时,降低扭矩防止空转;
  • 差速转向:左右轮独立FOC,通过转速差实现转向,PID实时纠偏补偿机械误差。

3.3 模糊PID自适应(进阶)

传统PID参数固定,面对负载剧烈变化时响应不佳。用模糊逻辑在线调整 $K_p$、$K_i$、$K_d$:

  • 误差大时增大 $K_p$ 加快响应;
  • 误差小时增大 $K_i$ 消除静差;
  • 误差变化率大时增大 $K_d$ 抑制超调。

Simulink用Fuzzy Logic Controller模块搭建,输入为误差 $e$ 和误差变化率 $\dot{e}$,输出为三个PID参数的修正量。

四、Simulink仿真搭建

4.1 整体架构

电池(14.4V) → 三相逆变桥(行走) / 三相逆变桥(主刷) ↓ ↓ FOC控制器 六步换相/FOC ↓ ↓ PMSM电机 BLDC电机 ↓ ↓ 轮地接触模型 主刷负载模型 ↓ ↓ 堵转检测 ←──────────→ 堵转检测 ↓ ↓ Stateflow自适应控制 ←─────→ Stateflow自适应控制

4.2 关键子系统

电流环(内环):转速环输出作为电流给定,电流PI控制器输出PWM占空比。电流环带宽设为转速环5~10倍,采样频率≥20 kHz。

转速环(外环):PI控制器,输出限幅对应最大电流,防止堵转时积分饱和。

堵转检测子系统:

% MATLAB Function 实现堵转判据 function stall_flag = stall_detection(current, speed, current_thresh, speed_thresh, time_thresh) persistent timer if isempty(timer), timer = 0; end if (current > current_thresh) && (speed < speed_thresh) timer = timer + Ts; % Ts为采样时间 else timer = 0; end stall_flag = (timer >= time_thresh); end

自适应状态机(Stateflow):

state NORMAL: on_entry: set_reverse(0); set_speed_ref(normal_speed); if current > light_tangle_thresh transition to LIGHT_TANGLE; end if stall_flag == 1 transition to HEAVY_STALL; end state LIGHT_TANGLE: on_entry: set_speed_ref(normal_speed * 1.1); after 0.5s: transition to NORMAL; state HEAVY_STALL: on_entry: set_pwm(0); wait(0.1s); transition to REVERSE; state REVERSE: on_entry: set_reverse(1); set_speed_ref(reverse_speed); after 3s: transition to RETRY; state RETRY: on_entry: set_reverse(0); set_speed_ref(normal_speed); if stall_flag == 1 retry_count++; if retry_count >= 3 transition to FAULT; else transition to HEAVY_STALL; end else transition to NORMAL; end state FAULT: on_entry: set_pwm(0); report_error();

4.3 仿真参数推荐

电池电压:14.4 V(4串锂电) 行走电机:PMSM,4对极,额定500 rpm,额定电流5 A 主刷电机:BLDC,2对极,额定3000 rpm,额定电流2 A PWM频率:行走15 kHz,主刷25 kHz 电流环采样率:20 kHz 转速环采样率:2 kHz 仿真步长:1e-6 s(详细开关模型)/ 1e-4 s(平均模型) 求解器:ode23tb 仿真时长:5 s

五、典型仿真场景

场景设置验证点
正常启动空载启动电流平滑上升,转速跟踪给定
爬坡越障t=1 s突加负载转矩电流自适应增大,转速恢复
轻微缠绕t=2 s主刷负载上升20%转速自动提升,电流增大挣脱
严重堵转t=2 s主刷负载突增至堵转5 ms内检测→停机→反转→重试
反复堵转重试3次仍堵转进入FAULT状态,上报错误
行走打滑轮速远高于机身速度扭矩自动降低,防止空转
电池欠压电压从14.4 V降至11 V占空比自动补偿,维持功率

六、从仿真到实物部署

Simulink模型调通后,可用Embedded Coder生成C代码部署到STM32/GD32等MCU:

  • FOC Clarke/Park/SVPWM → MCU定时器中断;
  • 电流采样 → ADC DMA双缓冲;
  • 堵转检测 → 定时器中断中执行判据;
  • Stateflow状态机 → switch-case结构;
  • 模糊PID → 查表法或在线计算。

关键工程细节:死区时间(0.5~2 μs)、电流采样偏移校准、母线电压前馈补偿、看门狗复位保护,都需在模型中预留接口。

七、总结

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询