2. 电机驱动基础:H桥电路原理、PWM调速原理、电机驱动芯片选型

各位同学,欢迎来到第二章。上一章我们聊了直流有刷电机的基本特性,今天要讲的,才是真正让电机“动起来”的核心——驱动电路。

说白了,单片机那点电流,连个LED都带得勉强,更别说驱动窗帘电机了。我们需要一个“功率放大器”,把控制信号放大成能驱动电机的大电流。而H桥,就是干这个活的经典方案。

2.1 H桥电路原理

H桥这个名字,你一看电路图就明白了。四个开关管(通常是MOSFET或三极管)摆成“H”形,电机接在中间横杠上。通过控制这四个管的通断,我们能实现电机的正转、反转、刹车和滑行。

我刚开始学的时候,总觉得这东西很神秘。其实说白了,就是两组“推挽”结构。

  • 正转:左上管 + 右下管导通,电流从左往右流过电机。
  • 反转:右上管 + 左下管导通,电流从右往左流过电机。
  • 刹车(急停):两个下管同时导通,电机两端短路,利用反电动势快速制动。
  • 滑行(惰行):所有管子都断开,电机靠惯性自由旋转。

关键点:绝对不能让左上和左下(或右上和右下)同时导通!这叫“直通”,相当于把电源正负极直接短路。我在项目里见过一次,MOS管瞬间冒烟,板子直接报废。所以,驱动芯片内部都会设计死区时间,防止这种情况。

2.2 PWM调速原理

电机转速怎么调?调电压呗。但单片机没法输出连续可调的模拟电压,怎么办?

PWM(脉冲宽度调制)就是答案。我们输出一串方波,通过改变高电平的占空比,来等效地改变平均电压。

  • 占空比 100%:全速前进。
  • 占空比 50%:半速。
  • 占空比 0%:停止。

你想想看,电机是个大电感,它对电流有平滑作用。PWM频率足够高时(通常几kHz到几十kHz),电流纹波很小,电机转起来就很平稳,几乎听不到“滋滋”声。

我的经验:窗帘电机对噪音比较敏感,我一般选10kHz~20kHz的PWM频率。太低会有啸叫,太高会增加MOS管的开关损耗。另外,启动时我会用“软启动”——占空比从0逐渐升到目标值,这样能避免冲击电流,保护机械结构。

2.3 电机驱动芯片选型

自己搭H桥?当然可以,但费时费力,还容易出问题。现在市面上有大量集成驱动芯片,把H桥、保护电路、逻辑控制都封装好了。我们直接选型就行。

这里我重点讲三款常用的芯片:L298N、DRV8833、TB6612。它们各有特点,适合不同的场景。

参数 L298N DRV8833 TB6612
最大电流 2A(峰值) 1.5A(峰值) 1.2A(峰值)
工作电压 4.5V ~ 46V 2.7V ~ 10.8V 2.7V ~ 13.5V
导通电阻 较大(双极型) 较小(MOSFET) 较小(MOSFET)
封装 MultiWatt15(大) QFN/TSSOP(小) SSOP24(小)
特点 经典、皮实、压降大 低功耗、带电流检测 低功耗、效率高

2.3.1 L298N

这芯片太经典了,我大学做智能车时就在用。它是个双极型晶体管H桥,优点是耐压高、电流大、皮实耐操。缺点也很明显——压降大(约2V),发热严重,效率低。

用在窗帘电机上?我个人不太建议。窗帘电机通常用12V供电,L298N一上去就吃掉2V,电机实际只有10V,转速和力矩都会打折扣。而且它体积大,不适合做在窗帘盒里。

注意:L298N的使能引脚(ENA/ENB)必须接PWM才能调速。我曾经见过有人直接把使能接VCC,然后靠IN1/IN2的切换来调速——那是错的,那样只能全速或停止,没法平滑调速。

2.3.2 DRV8833

DRV8833是我现在用得最多的芯片。它是MOSFET结构的,导通电阻只有几百毫欧,发热小,效率高。工作电压范围2.7V~10.8V,刚好覆盖3.3V和5V系统,也兼容12V(但要注意极限)。

它还有个很实用的功能——内置电流检测。通过一个引脚输出与电机电流成比例的电压,我们可以做堵转保护或恒流控制。嗯,这个在窗帘防夹手功能里特别有用。

// DRV8833 控制示例(Arduino)
// 定义引脚
#define AIN1 5
#define AIN2 6
#define PWMA 9

void setup() {
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWMA, OUTPUT);
}

void loop() {
  // 正转,50% 占空比
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 128);  // 0-255
  delay(2000);

  // 刹车
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, 255);
  delay(1000);

  // 反转,75% 占空比
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, 192);
  delay(2000);
}

2.3.3 TB6612

TB6612是东芝的产品,性能和DRV8833类似,也是MOSFET结构。它的最大优势是效率高,在低压下表现很好。我记得有一次做电池供电的窗帘,TB6612的待机电流只有几微安,非常适合低功耗场景。

不过它的封装是SSOP24,引脚间距小,手工焊接有点费劲。我建议用现成的模块,淘宝上几块钱一个,省心。

选型建议:

  • 如果做12V窗帘电机,电流在1A以内,我推荐TB6612DRV8833
  • 如果电流超过1.5A,或者电压超过12V,可以考虑L298N,或者直接上分立MOSFET方案。
  • 如果做电池供电的低功耗产品,TB6612的待机特性更好。

好了,这一章的内容就到这里。H桥是电机驱动的基石,PWM是调速的灵魂,选对芯片能让你少走很多弯路。下一章,我们会把这些知识串起来,开始讲窗帘电机的实际控制逻辑——怎么让电机平稳启动、精准停止、遇到阻力自动反转。

到时候见。