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以内,我推荐TB6612或DRV8833。
- 如果电流超过1.5A,或者电压超过12V,可以考虑L298N,或者直接上分立MOSFET方案。
- 如果做电池供电的低功耗产品,TB6612的待机特性更好。
好了,这一章的内容就到这里。H桥是电机驱动的基石,PWM是调速的灵魂,选对芯片能让你少走很多弯路。下一章,我们会把这些知识串起来,开始讲窗帘电机的实际控制逻辑——怎么让电机平稳启动、精准停止、遇到阻力自动反转。
到时候见。