大功率H桥电机驱动板电路设计方案 此大功率直流电机驱动板采用ir2103驱动芯片,可同时驱动两路电机,使用10m高速光耦对控制信号进行隔离,最大额定电流可达100A,方案包括:硬件原理图,PCB(可直接打样测试),BOM表(直接购买元器件),STM32测试程序,硬件测试方案,接线图等。

基于 IR2103 + N-MOS H 桥的大功率直流电机驱动方案


一、项目背景与系统概述

本项目是一套基于 STM32F10x 系列 MCU 的大功率直流电机驱动控制系统,采用 IR2103S 半桥驱动芯片 + N 沟道 MOSFET 构成 H 桥电路,实现对直流电机的双向调速、启停控制、编码器反馈采集、串口通信调试等功能。

系统具备如下特点:

  • 高电压/大电流驱动能力(适用于 12V~36V 电机);
  • 硬件级死区控制与防直通保护
  • 编码器测速反馈,实现闭环控制基础
  • 串口通信支持调试与虚拟示波器功能
  • 模块化设计,便于扩展与维护

二、系统架构与模块划分

系统整体分为以下几个模块:

模块名称 功能描述
PWM 输出模块 使用 TIM1 产生带死区的互补 PWM 波,驱动 IR2103
电机方向控制 通过 GPIO 控制 H 桥上下桥臂通断,实现正反转
编码器采集模块 使用 TIM8 的编码器接口模式采集电机转速
串口通信模块 USART1 实现调试信息输出与虚拟示波器数据上传
按键输入模块 使用行列扫描方式读取 4×4 矩阵键盘
定时器中断模块 TIM2 用于周期任务调度与速度计算
看门狗与异常保护 IWDG 提供系统异常复位保护

三、核心功能流程说明

3.1 电机驱动与调速控制

功能目标:

实现对直流电机的正转、反转、调速、刹车等功能,确保驱动电路安全、稳定。

实现方式:
  • TIM1 配置为 PWM 模式,输出两路 PWM 信号(CH1 与 CH4),分别控制 H 桥的左右半桥;
  • PWM 周期固定为 3000 计数单位,占空比通过设置 CCR1CCR4 实现;
  • IR2103 提供高端驱动能力,内部集成自举电路,支持 N-MOS 高边驱动;
  • 死区时间由 TIM1 的互补输出与刹车机制硬件级保障,防止上下桥臂直通;
  • 方向控制由 GPIO 实现,通过设置 IN1/IN2 电平组合实现正反转与刹车。
控制逻辑表:
IN1 IN2 状态
0 0 刹车(低阻)
0 1 反转
1 0 正转
1 1 禁止(高阻)

3.2 编码器测速与反馈采集

功能目标:

采集电机转速,支持单位时间脉冲计数方向识别,为后续闭环控制提供反馈。

实现方式:
  • TIM8 配置为编码器接口模式,使用 CH1(PC6)与 CH2(PC7)采集 A/B 相脉冲;
  • 每转脉冲数(PPR)为 400,4 倍频后每转计数为 1600;
  • 计数器自动增减,支持方向识别;
  • TIM2 定时中断周期为 1ms,用于计算单位时间内脉冲差值,从而得到转速(RPM);
  • 支持速度滤波与异常检测,防止抖动干扰。

3.3 串口通信与调试功能

功能目标:

通过串口输出调试信息,支持虚拟示波器功能,便于调试 PID 控制器或观察波形。

实现方式:
  • USART1 配置为 256000 波特率,8N1 格式;
  • 重定向 printf() 到 USART1,便于打印变量;
  • 支持自定义协议上传浮点数据,用于山外虚拟示波器;
  • 协议格式

    [0x03][~0x03][float0][float1][~0x03][0x03]

    每帧 10 字节,支持两通道波形显示;
  • 支持中断接收,可用于后续指令控制扩展。

3.4 按键输入与人机交互

功能目标:

通过 4×4 矩阵键盘实现本地控制,如启停、调速、方向切换等。

实现方式:
  • GPIO 行列扫描方式,PD0~PD3 为输出列,PD4~PD7 为输入行;
  • 使用状态机消抖,确保按键稳定识别;
  • 返回键值 1~16,0 表示无按键;
  • 支持组合键与长按检测扩展

3.5 系统保护与异常处理

功能目标:

防止系统死机、驱动器烧毁、电机失控等异常。

实现方式:
  • IWDG 看门狗定时器,默认 1 秒复位;
  • TIM1 刹车功能,在过流或异常信号触发时关闭 PWM 输出;
  • 编码器断线检测,若长时间无脉冲则判定为堵转或断线;
  • 串口指令支持急停,可远程关闭输出;
  • GPIO 初始化默认关闭输出,防止上电误动作。

四、系统启动流程图(文字描述)

上电复位
   ↓
SystemInit() → 时钟配置为 72MHz
   ↓
GPIO 初始化 → 关闭所有输出,配置按键引脚
   ↓
TIM1 初始化 → PWM 输出,默认占空比为 0
   ↓
TIM8 初始化 → 编码器接口模式
   ↓
TIM2 初始化 → 1ms 中断,用于测速与任务调度
   ↓
USART1 初始化 → 串口调试与示波器功能
   ↓
IWDG 初始化 → 启动看门狗
   ↓
主循环开始 → 扫描按键、计算速度、处理串口指令

五、扩展建议与注意事项

项目 建议说明
PID 控制 可在 TIM2 中断中实现速度闭环 PID 控制;
电流采样 增加 ADC 采样电阻电压,实现电流闭环;
方向切换 切换方向前应先刹车并延时,防止反向冲击;
死区时间 若使用软件控制死区,需确保 TIM1 互补输出已禁用;
电源保护 建议加入过压、欠压、过流保护电路;
EMC 优化 PWM 输出线应尽量短,加入 RC 吸收电路;

六、结语

本系统为一套高可靠性、高扩展性的直流电机驱动控制平台,具备完整的驱动、采集、通信、保护机制。代码结构清晰,模块划分合理,适合用于智能小车、机器人、工业控制等场景。后续可在此基础上快速扩展为双电机驱动、闭环 PID、CAN 总线通信等高级应用。


文档版本:v1.0

大功率H桥电机驱动板电路设计方案 此大功率直流电机驱动板采用ir2103驱动芯片,可同时驱动两路电机,使用10m高速光耦对控制信号进行隔离,最大额定电流可达100A,方案包括:硬件原理图,PCB(可直接打样测试),BOM表(直接购买元器件),STM32测试程序,硬件测试方案,接线图等。

作者:资深嵌入式系统工程师

日期:2025 年 10 月

版权声明:本文档仅供学习与交流使用,禁止用于商业用途。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐