当前位置: 首页 > news >正文

[具身智能-793]:MCU 控制电机的运动的手段和方法?MCU 检测电机编码器反馈的手段与方法。

MCU 控制电机运动手段 + 编码器反馈检测手段

面向 STM32 等单片机,机器人小车场景:直流减速电机、步进电机、舵机;

区分输出控制(MCU→电机)输入采集(编码器→MCU)两大部分。

一、MCU 控制电机运动的手段和方法

1. 直流有刷减速电机(GB37‑520 这类小车电机)

目标:控制转速、正反转、启停;MCU 不能直接驱动电机大电流,必须外接驱动芯片(L298N、DRV8833、TB6612)。

1)方向控制:普通 GPIO 输出高低电平

  • IN1、IN2 两个逻辑脚给到电机驱动芯片,组合高低电平决定正转 / 反转 / 刹车 / 滑行。 例:IN1=1,IN2=0 →正转;IN1=0,IN2=1→反转;IN1=IN2 同电平→刹车。

2)速度控制:PWM 脉冲宽度调制(定时器输出 PWM)

  • PWM 占空比越大,等效平均电压越高,电机转速越快
  • 频率常用:10kHz‑20kHz(避开人耳听觉,减少电机啸叫)
  • MCU 片上定时器生成PWM 输出到驱动芯片的 PWMA/PWMB 引脚。

MCU 输出逻辑信号,电机驱动芯片做功率放大。MCU 本身不流过电机大电流。

2. 步进电机

目标:控制转动角度、步数、转速1)脉冲 + 方向模式(最常用)

  • STEP 脉冲:每来 1 个脉冲,电机走 1 步;定时器输出脉冲。
  • DIR 方向:GPIO 高低电平控制旋转方向。
  • 外接步进驱动:A4988、DRV8825,支持细分。 2)相位直接输出模式(全桥驱动,少用)MCU 直接输出 A、B、A‑、B‑四相时序,CPU 负担重,不推荐。

细分:驱动器内部处理,MCU 只需要发脉冲,不需要管细分。

3. 舵机(SG90 MG996R)

1)标准模拟舵机:PWM 角度控制(50Hz 周期)周期 20ms,高电平 0.5ms~2.5ms 对应0‑180°角度。 定时器输出硬件 PWM;不是占空比,是高电平绝对时间决定角度

2)总线/数字舵机(串口舵机)UART 串口发送指令数据包,设定角度、转速;一条总线挂载多个舵机。

4. BLDC 无刷电机

  • FOC 矢量控制:MCU 定时器输出三相互补 PWM,配合电流采样,复杂;无人机、移动底盘使用。


二、MCU 检测电机编码器反馈的手段与方法

编码器作用:

测量电机实际转速、转过的脉冲数、位置

增量编码器(A/B 相正交编码器)、霍尔编码器、绝对值编码器

小车直流电机绝大多数是AB 相正交增量霍尔编码器

增量正交编码器 A/B 相(最常见,机器人小车)

输出 A 相、B 相两路方波。

  • 正转:A 相位超前 B 相 90°;反转:B 相位超前 A 相 90°。
  • 脉冲数:电机转一圈输出 N 个脉冲。
方案 1:定时器硬件正交解码(Encoder Mode,强烈推荐⭐)

STM32 高级 / 通用定时器自带编码器接口模式

  • 将 A、B 直接接入定时器 CH1、CH2 通道。
  • 硬件内部自动计数、自动判断正反转,不需要 CPU 干预
  • CNT 寄存器自动累加 / 递减脉冲。CPU 只需要定时读取 CNT 计数值。

优点:不占用 CPU,不会丢脉冲,高速旋转也可靠。

缺点:必须占用定时器的两个通道,不是所有定时器支持编码器模式

方案 2:外部中断 EXTI(软件解码,不推荐高速)

A、B 接到 GPIO,配置下降沿 / 上升沿外部中断。中断回调函数中读取 A、B 电平,判断方向,软件计数。

缺点: 电机转速很高时,中断频繁爆发,挤占 CPU;电机高速容易丢脉冲;电机抖动会频繁误触发。

仅低速场景临时用,底盘电机不要用此方案。

读取转速、位置逻辑

  1. 读取定时器 CNT 计数值,获得脉冲总数;
  2. 固定时间间隔采样两次计数值,差值得到脉冲变化量;
  3. 根据电机线数、减速比换算:角度、位移、转速 (rpm)。

注意:CNT 寄存器会溢出,需要做溢出补偿处理。

绝对值编码器

上电直接读出绝对角度位置不需要记累计脉冲。

  • SPI 接口 / I2C / SSI 串口,MCU 使用 SPI/I2C 外设读取角度。 机器人底盘较少,机械臂关节常用。

霍尔通道编码器(只有 A 相,无 B 相)

只能计数脉冲,不能识别旋转方向,机器人基本不用。

编码器接线注意点

  1. 编码器 VCC/GND 必须供电,与 MCU 共地;
  2. 编码器输出电平 3.3V/5V 匹配 MCU IO;5V 编码器输出接到 3.3V MCU 需要分压,防止烧毁 IO。

三、工程闭环控制完整链路(机器人小车)

plaintext

MCU定时器PWM输出 →电机驱动芯片 →直流电机旋转 ↓ 电机同轴霍尔编码器输出A/B相 ↓ 接入STM32定时器编码器硬件接口,硬件自动计数 ↓ MCU定时读取脉冲计数值,换算真实转速 ↓ PID算法对比【目标转速】和【实际转速】,更新PWM占空比输出

四、资源选型小结

  1. 电机控制输出:主要消耗:GPIO、定时器 PWM;大功率电机依赖外部驱动芯片。
  2. 编码器输入反馈:优先使用定时器硬件 Encoder 正交解码,尽量避免外部中断软件解码。

一台双轮差分小车:2 路电机 PWM 输出 + 2 路定时器编码器接口。

http://www.jsqmd.com/news/1340569/

相关文章:

  • 重庆三维字、精工字怎么选?别只看效果图,先看工艺、交期和质保承诺 - 中国华商产业观察网
  • 专科生必学10款AI工具:提升效率与就业竞争力
  • Kimi K3大模型本地部署指南:从架构解析到工程实践
  • LoopX:长时运行 AI 智能体工作本地控制平面,带来多方面功能与应用可能
  • 2026新一代一边录音一边转文字的appAI赋能让记录省事整理更清晰
  • 迪迈AGI Mocap实战:从视频到Blender FBX动画的完整动捕流程
  • 从物理直觉到数学模型:二维浅水方程推导与数值求解实践
  • AI Agent与企业系统(ERP/MES/SAP)集成的技术方案:2026年生产级架构解析与主流厂商盘点
  • 2026国产真菌毒素快速检测仪选购指南(粮食|油|谷物饲料|酸枣仁项目场景) - 云唐专业仪器测评
  • 公众号自动化发布工具实战:从环境搭建到生产部署全流程解析
  • 文科生用Python+Pygame开发历史策略游戏:从零到打包的实战指南
  • WSaiOS:重构人工智能的认知工程路径——从“参数规模”到“系统结构”的范式转换
  • 2026海口集群注册地址靠谱吗?风险避坑与合规使用详解 - GrowUME
  • Stable Diffusion风格控制实战:从识别Demons现象到LoRA训练
  • 为防垃圾信息和数据抓取,Reddit探索经典界面新方案并要求登录,还推版主和开发者重大更新
  • ROFL-Player:英雄联盟回放分析的终极解决方案,5分钟开启专业复盘新时代
  • MySQL触发器实战指南:从核心原理到创建、修改与删除
  • UnityWebRequest默认禁用HTTP连接:解决方案与安全实践
  • 当AI学会撒谎:一场发生在伦敦地下室的真实越界
  • 直方图均衡化硬件实现:从映射函数到FPGA/ASIC电路设计
  • MZZ绞牙避震怎么样?从技术、体验、适配性三个维度实测解析 - 资讯在线
  • 构建健壮文本交互模块:从状态机设计到Python工程实践
  • 如何为群晖NAS安装Realtek USB网卡驱动:突破千兆网络限制的完整指南
  • Ubuntu系统MySQL彻底卸载与清理指南
  • Office Custom UI Editor:终极零代码界面定制完整指南
  • Happy Island Designer终极指南:免费打造你的梦想岛屿规划方案
  • 基于AI代理的跨设备智能办公自动化实践
  • Excel函数进阶:从VLOOKUP到动态数组,掌握核心函数与高效数据处理
  • 太原本地正规汽车喇叭低音炮靠谱推荐,丹拿劲浪摩雷 JBL 多品牌可选 / 方案透明报价明细 / 标准化施工服务方案 - 资讯123
  • 2026年Q3沈阳大型设备基础行业观察:从价格竞争到综合实力博弈——以沈阳丰承建筑工程有限公司为例 - 卓企推荐