4. 电机驱动电路设计:H桥电路原理与设计、MOSFET选型与栅极驱动、PWM调速与电流限制、堵转保护电路

门锁电机驱动,说白了就是让电机正转、反转、停。你想想看,锁门和开门,电机转的方向正好相反。那怎么实现呢?H桥电路就是干这个的。

我在做第一个门锁项目时,觉得H桥很简单,四个开关管嘛。结果一上电,MOS管直接冒烟了。嗯,从那以后我再也不敢小看驱动电路的设计了。

4.1 H桥电路原理与设计

H桥的名字很形象。四个开关管组成一个"H"形状。负载电机接在中间横杠上。通过控制四个管的通断,就能改变电流方向。

基本工作模式就三种:

  • 正转:Q1和Q4导通,Q2和Q3截止。电流从左到右流过电机。
  • 反转:Q2和Q3导通,Q1和Q4截止。电流从右到左。
  • 停止:四个管全关断,或者同侧两个管同时导通(刹车模式)。

关键点:绝对不能让Q1和Q2同时导通,也不能让Q3和Q4同时导通。这就是"直通"现象,会直接烧毁MOS管。我见过一个同事,调试时忘了加死区时间,结果板子上的铜箔都烧断了。

实际设计中,我习惯用N沟道MOSFET做下管,P沟道做上管。为什么?N管导通电阻小,价格便宜。但上管用P管可以简化驱动电路,不需要自举电容。

不过现在更主流的方案是四个管都用N沟道。虽然上管驱动麻烦点,但导通电阻可以做到更低。对于门锁这种大电流应用,效率更重要。

4.2 MOSFET选型与栅极驱动

MOSFET选型,我总结了几条硬指标:

参数 要求 我的经验
Vds(漏源耐压) ≥ 2倍电源电压 12V系统选30V以上,留够余量
Rds(on)(导通电阻) 越小越好 门锁电机启动电流大,我一般选10mΩ以下
Id(漏极电流) ≥ 2倍峰值电流 堵转电流可能到5A,选10A以上的管子
Qg(栅极电荷) 越小越好 影响开关速度,我习惯选20nC以下的

栅极驱动这块,很多人容易忽略。MOSFET的栅极是个电容,充电需要时间。驱动电流不够,开关速度就慢,开关损耗就大。

我个人习惯用专用的栅极驱动芯片,比如IR2104或者类似型号。它们内置了死区时间控制,还能提供足够的驱动电流。如果你用分立元件搭,一定要加栅极串联电阻,限制充放电电流。

小技巧:栅极串联电阻一般选10Ω到100Ω。阻值太小,开关速度快但容易振荡。阻值太大,开关损耗增加。我通常从47Ω开始调,用示波器看栅极波形,直到没有振铃为止。

4.3 PWM调速与电流限制

门锁电机不需要精确调速,但需要控制启动电流。直接全压启动,电流冲击很大,可能把电源拉垮。

PWM调速的原理很简单:占空比越大,平均电压越高,电机转速越快。但门锁应用里,我们更关心的是电流限制。

我常用的方法是:

  1. 启动时用低占空比(比如30%),让电机慢慢转起来
  2. 检测电流,如果没超过阈值,逐步提高占空比
  3. 如果电流超过设定值,立即降低占空比

电流检测怎么做?最简单的是在H桥下管串联一个采样电阻。电阻两端的电压除以电阻值,就是电流。采样电阻要选功率大的,我一般用0.01Ω、2W以上的。

// 伪代码:电流限制PWM控制
void motor_start() {
    uint8_t duty = 30;  // 初始占空比30%
    while (duty < 100) {
        set_pwm_duty(duty);
        uint16_t current = read_current();
        if (current > CURRENT_LIMIT) {
            duty -= 5;  // 超限,降低占空比
        } else {
            duty += 2;  // 正常,缓慢提升
        }
        delay_ms(10);
    }
}

注意:电流采样电阻的布局很关键。要靠近H桥,走线要短粗。我吃过一次亏,采样线走得太长,引入了噪声,导致电流检测不准,电机一直保护性降速。

4.4 堵转保护电路

门锁电机最怕什么?堵转。门卡住了,或者锁舌顶死了,电机还在使劲转。这时候电流会飙升到正常值的5到10倍。不保护的话,几分钟就能烧掉电机和MOS管。

堵转保护,说白了就是检测到电流过大且持续一段时间,就关断电机。

我的实现思路是这样的:

  • 硬件层面:用比较器监测采样电阻电压,超过阈值直接触发硬件关断
  • 软件层面:MCU定时读取电流值,如果连续200ms超过堵转阈值,就执行保护动作

硬件保护比软件快。我习惯两者都用,硬件做第一道防线,软件做第二道。万一比较器误触发,软件还能恢复。

堵转保护后的处理也很重要:

  1. 立即关断所有MOS管
  2. 等待1到2秒
  3. 尝试反向转动一小段,看看能不能解除堵转
  4. 如果连续3次尝试都失败,就彻底停止,上报故障

避坑指南:我曾经遇到过一个问题:电机堵转保护后,用户反复按开关,MCU反复尝试启动,结果MOS管过热损坏。后来我加了保护锁定机制——堵转保护触发后,必须断电重启才能恢复。这个经验分享给你,少走弯路。

最后,画一张H桥驱动电路的核心逻辑图,帮你理清思路:

H桥电机驱动核心逻辑 MCU控制器 PWM生成 电流检测 堵转判断 栅极驱动芯片 死区时间控制 电平转换 驱动电流放大 H桥功率级 4个N-MOSFET 电机正反转 PWM调速 电流采样电阻 0.01Ω / 2W 硬件比较器 过流快速关断 直流电机 门锁执行器 硬件保护信号 PWM + 方向控制 栅极驱动信号 电流反馈

这张图把整个驱动链路串起来了。MCU发PWM信号,栅极驱动芯片做电平转换和死区控制,H桥功率级驱动电机。电流采样电阻把电流转换成电压,一路送给比较器做硬件保护,一路送给MCU做软件保护。两层保护,双重保险。

好了,电机驱动这块就讲到这里。记住一句话:H桥设计,安全第一。死区时间、电流限制、堵转保护,一个都不能少。


公众号:蓝海资料掘金营,微信deep3321