4、电机控制原理:直流有刷电机PWM调速、H桥驱动电路设计、电流采样与限流保护

直流有刷电机,听起来好像有点古老?其实在工业现场,它依然是最皮实、最直接的动力源之一。我刚开始做运动控制那会儿,第一个项目就是调一个直流有刷电机。那时候经验少,烧了好几个MOS管才摸到门道。今天咱们就把这块硬骨头啃下来。

4.1 直流有刷电机PWM调速

直流有刷电机的转速,说白了跟两端电压成正比。你想让它转快点,就多给点电压;想慢点,就少给点。但问题来了——我们常用的控制器是数字芯片,它只能输出0或3.3V,没法直接输出一个连续可调的电压。怎么办?

答案就是PWM,脉冲宽度调制。我习惯这么理解:把开关打得飞快,让电机“感觉”到的是一个平均电压。占空比50%,平均电压就是电源电压的一半,转速也差不多是一半。

核心公式:

电机平均电压 Vavg = Vsupply × DutyCycle

电机转速 n ∝ Vavg

这里有个坑,我踩过。PWM频率不能太低,否则电机会“一抖一抖”的,噪音也大。但频率太高也不行,MOS管的开关损耗会急剧上升。我个人习惯,对于普通直流有刷电机,10kHz到20kHz是个好区间。听不到刺耳声,效率也还行。

避坑指南:我曾经在一个项目中把PWM频率设到了50kHz,结果MOS管烫得能煎鸡蛋。后来查资料才发现,开关损耗跟频率成正比。嗯,从那以后我选频率就老实多了。

4.2 H桥驱动电路设计

电机调速搞定了,但还有个问题——怎么让电机正反转?单靠一个开关管只能单向转。这时候就需要H桥了。

H桥的名字很形象,四个开关管(通常是MOSFET)摆成“H”形,电机在中间横杠上。你想想看:

  • 正转:左上和右下导通,电流从左往右流过电机
  • 反转:右上和左下导通,电流从右往左流过电机
  • 刹车:要么上下同时导通(短路刹车),要么全部关断(滑行)

下面这张图是我手绘的H桥结构,你看一眼就明白了。

Q1 Q2 Q3 Q4 M VCC GND 正转电流路径:Q1→M→Q4

实际设计时,有个关键问题——死区时间。上下两个管子不能同时导通,否则电源直接短路,瞬间冒烟。我见过一个实习生,没加死区,一上电MOS管就炸了,那声音真吓人。

警告:死区时间一般设置为几百纳秒到几微秒,具体看MOS管的关断延迟。别为了省那点时间把管子烧了。

4.3 电流采样与限流保护

电机堵转、负载突变、启动瞬间——这些情况电流会飙升。如果不做限流,轻则烧驱动,重则烧电机。我有个血的教训:一台AGV小车,因为没做电流保护,堵转时把减速箱齿轮都打碎了。

电流采样,常用的方法有两种:

采样方式 原理 优点 缺点
低端采样 在GND回路串采样电阻 电路简单,共模电压低 无法检测到短路到GND的故障
高端采样 在电源正极串采样电阻 可检测所有故障 共模电压高,需要差分放大器
霍尔电流传感器 利用霍尔效应隔离测量 隔离、无损耗 成本高,带宽有限

我个人习惯,在低端采样上加一个运放放大信号,然后送给ADC。成本低,效果也不错。采样电阻的阻值要选好——太大了发热严重,太小了信号太弱。一般选0.01Ω到0.1Ω之间。

限流保护的实现,分硬件和软件两种:

  • 硬件限流:用比较器+参考电压,电流超了就立刻关PWM。响应快,纳秒级。
  • 软件限流:ADC采样→MCU计算→调整占空比。响应慢,但灵活。

实战建议:我一般两种都用。硬件限流做第一道防线,防止炸管;软件限流做精细调节,比如恒流运行。双保险,心里踏实。

下面给一个简单的电流采样代码片段,基于STM32的ADC读取:

// 电流采样与限流保护示例(伪代码)
uint16_t adc_value;
float current;

while(1) {
    adc_value = HAL_ADC_GetValue(&hadc1);
    current = (adc_value * 3.3f / 4096.0f) / 0.01f;  // 采样电阻0.01Ω
    
    if(current > CURRENT_LIMIT) {
        // 硬件限流已经触发,软件做二次保护
        __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 0);  // 关PWM
        error_flag = 1;
        break;
    }
    
    // 正常调速
    duty = calculate_duty_from_speed(target_speed, current);
    __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, duty);
}

避坑指南:我曾经在采样电路上没加RC滤波,结果ADC读数跳得厉害,限流阈值设了跟没设一样。后来加了个100nF电容到地,世界清净了。

嗯,到这里,直流有刷电机的PWM调速、H桥驱动、电流采样和限流保护就讲完了。这些是运动控制最基础的东西,但也是最容易出问题的地方。你想想看,一个电机都控不好,后面更复杂的伺服、步进怎么搞?

下次调试的时候,记得先测PWM波形,再看H桥有没有直通,最后确认电流采样是否准确。这三步走完,基本不会出大问题。


专注资料整理