第三章 步进电机驱动原理:单极性驱动与双极性驱动、H桥电路详解、恒流斩波驱动技术

大家好,我是老张。今天咱们聊聊步进电机最核心的部分——驱动原理。说实话,很多工程师选型时只看电机参数,却忽略了驱动方式,结果项目跑起来各种问题。我当年就吃过这个亏,所以这一章咱们好好掰扯清楚。

3.1 单极性驱动 vs 双极性驱动

先问个问题:你拆过步进电机吗?如果拆过,你会发现绕组有两种接法。这就是单极性和双极性的物理区别。

3.1.1 单极性驱动

单极性驱动,说白了就是每个绕组只有一个方向通电。电机内部有中心抽头,电流从中心流向一端,或者从一端流向中心。

特点:

  • 驱动电路简单,只需要4个开关管(比如达林顿管)
  • 绕组利用率低——只有一半的线圈在工作
  • 转矩比同尺寸双极性电机小
  • 常见于老式打印机、低成本设备
我的经验:单极性驱动适合对成本敏感、对转矩要求不高的场合。我曾经在一个自动售货机的出货机构上用过,便宜够用,没出过问题。

3.1.2 双极性驱动

双极性驱动就厉害了。电流可以在绕组中双向流动,整个线圈都被利用起来。这意味着同样的电机尺寸,双极性能输出更大的转矩。

特点:

  • 需要H桥电路(后面细讲)
  • 绕组利用率100%
  • 转矩比单极性高约40%
  • 控制更复杂,但性能更好

关键对比:

项目 单极性 双极性
开关管数量 4个 8个(或4个H桥)
绕组利用率 50% 100%
转矩密度
成本
应用场景 低成本、低性能 高性能、高精度

3.2 H桥电路详解

双极性驱动的核心就是H桥。为什么叫H桥?你看电路图,四个开关管连成H形状,负载电机在中间横杠上。形象吧?

3.2.1 基本结构

一个H桥由4个开关管(MOSFET或BJT)组成:Q1、Q2是上桥臂,Q3、Q4是下桥臂。电机绕组接在中间。

四种工作状态:

  1. 正转:Q1和Q4导通,电流从左到右流过绕组
  2. 反转:Q2和Q3导通,电流从右到左
  3. 制动:Q1和Q3导通(或Q2和Q4),绕组短路
  4. 自由轮:所有开关管关断,绕组开路
注意!绝对不能让Q1和Q2同时导通,这叫「直通」,会瞬间烧毁MOSFET。我曾经有个实习生调试时没加死区时间,一上电就冒烟了。嗯,从那以后我都在代码里强制加死区。

3.2.2 实际电路设计要点

设计H桥时,有几点我特别在意:

  • 死区时间:上下桥臂切换时,必须留几微秒的死区
  • 续流二极管:MOSFET体二极管不够快,要外加肖特基二极管
  • 电流检测:在低边串联采样电阻,实时监控电流

3.3 恒流斩波驱动技术

这是步进电机驱动的精髓。你想想看,电机绕组是电感,电流不能突变。如果直接给绕组加电压,电流会慢慢上升,转矩就不稳定。

恒流斩波的核心思想:让电流保持恒定,不管电机转速怎么变。

3.3.1 工作原理

说白了就是:检测电流→超过阈值就关断→低于阈值再开通。像不像空调的恒温控制?

具体步骤:

  1. 给绕组施加电压,电流开始上升
  2. 电流达到设定值(比如1A),关断开关管
  3. 电流通过续流二极管衰减
  4. 电流降到下限(比如0.9A),重新开通
  5. 重复以上过程,电流就在设定值附近波动

斩波频率的选择:

频率太低,电流纹波大,电机噪音大。频率太高,开关损耗大,MOSFET发热严重。我个人习惯用20kHz-40kHz,既听不到噪音,效率也还行。

3.3.2 电流衰减模式

这里有个坑——电流衰减模式选不对,电机跑起来会抖。

三种模式:

  • 慢衰减:电流通过绕组和两个下管续流,衰减慢
  • 快衰减:电流通过反接的电源续流,衰减快
  • 混合衰减:先快后慢,折中方案

我曾经在一个3D打印机项目上,用慢衰减模式跑低速,结果电机嗡嗡响。换成混合衰减后,世界安静了。

3.3.3 实际代码示例

下面是一个简化的恒流斩波控制伪代码,我用在STM32上的:

// 恒流斩波控制循环
while(1) {
    // 读取当前电流
    current = ADC_Read(CHANNEL_CURRENT);
    
    // 判断是否超过阈值
    if(current > TARGET_CURRENT + HYSTERESIS) {
        // 关断上管,进入衰减
        GPIO_ResetPin(PIN_Q1);
        GPIO_ResetPin(PIN_Q2);
        // 开启下管续流(慢衰减模式)
        GPIO_SetPin(PIN_Q3);
        GPIO_SetPin(PIN_Q4);
    }
    else if(current < TARGET_CURRENT - HYSTERESIS) {
        // 重新开通
        GPIO_SetPin(PIN_Q1);
        GPIO_SetPin(PIN_Q4);
        // 关断续流管
        GPIO_ResetPin(PIN_Q3);
        GPIO_ResetPin(PIN_Q4);
    }
    
    // 延时,控制斩波频率
    delay_us(25);  // 40kHz
}
小技巧:实际项目中,我会用定时器PWM输出配合比较器来做硬件斩波,比纯软件快得多。软件斩波在低速还行,高速时根本来不及响应。

3.4 知识体系总览

为了让你更直观地理解本章内容,我画了张图:

步进电机驱动原理知识体系 驱动原理 驱动方式 单极性 双极性 H桥电路 4种状态 死区时间 恒流斩波 电流检测 衰减模式 核心目标:让电机绕组电流保持恒定 实现手段:H桥 + 电流检测 + 斩波控制 典型应用场景 3D打印机 | CNC机床 | 工业机器人 | 医疗设备 | 自动化产线 选型建议:低速高精度选双极性+恒流斩波,成本敏感选单极性

3.5 避坑指南

最后,分享几个我踩过的坑:

  • 电源滤波:斩波驱动会产生很大的电流纹波,电源端一定要加足够的电容。我曾经用1000μF不够,电机一转单片机就复位。
  • PCB布局:大电流回路要短粗,采样电阻要靠近电机。信号线和功率线分开走,不然ADC读数全是噪声。
  • 散热:MOSFET的散热片别省。我见过有人用TO-252封装跑2A,没加散热,3分钟就过热保护了。

嗯,这一章就到这里。驱动原理搞懂了,后面选型和控制就顺理成章了。


专注资料整理