第一章 电机控制概述:剃须刀电机类型与驱动基础
做嵌入式驱动这么多年,我接触过各种各样的电机。但要说最贴近生活的,还得是剃须刀里的那颗小电机。你别看它个头不大,里面的门道可不少。今天咱们就从最基础的开始聊起。
1.1 剃须刀电机类型:有刷 vs 无刷
剃须刀里用的电机,说白了就两种:有刷电机和无刷电机。我刚开始做这行时,市面上几乎全是有刷的。现在嘛,高端产品基本都转向无刷了。
核心区别一句话:有刷电机靠电刷换向,无刷电机靠电子换向。
有刷电机
结构简单,成本低。两个电刷压在换向器上,转子转一圈,电流方向就切换一次。嗯,这里要注意——电刷是消耗品。我在项目中遇到过,有些客户为了省成本,用了很便宜的电刷材料,结果几千小时就磨没了。
- 优点:控制简单,两根线就能转
- 缺点:有火花、有噪音、寿命短
- 适用场景:低端剃须刀、玩具
无刷电机
没有电刷,转子是永磁体,线圈在定子上。换向靠控制器里的MOS管完成。你想想看,没有机械摩擦,效率自然就上去了。
- 优点:效率高、噪音低、寿命长
- 缺点:需要专用驱动电路,控制复杂
- 适用场景:高端剃须刀、电动工具
| 对比项 | 有刷电机 | 无刷电机 |
|---|---|---|
| 控制方式 | 直接通直流电 | 需要电子换向 |
| 效率 | 70%-80% | 85%-95% |
| 噪音 | 较大(电刷摩擦) | 较小 |
| 寿命 | 1000-3000小时 | 10000小时以上 |
| 成本 | 低 | 高 |
我的建议:如果你做的是百元以内的剃须刀,有刷电机够用了。但要做高端产品,直接上无刷,用户体验完全不一样。
1.2 PWM调速原理
电机调速,最常用的方法就是PWM。PWM是什么?说白了就是让电源一会儿开一会儿关。开的时间长,电机转得快;开的时间短,电机转得慢。
为什么会这样?因为电机是个大电感。你给它一个脉冲,电流不会瞬间跳变,而是慢慢上升。脉冲宽度决定了平均电压,平均电压决定了转速。
关键参数:
- 频率:一般20kHz以上,避免人耳听到
- 占空比:0%-100%,决定转速
- 分辨率:8位(256级)或更高
我记得有一次调试,PWM频率设成了1kHz,结果剃须刀嗡嗡响,客户投诉说像蚊子叫。后来改成25kHz,世界清净了。嗯,这里要注意——频率太低会有噪音,太高了MOS管开关损耗又大。
// 简单的PWM初始化代码(STM32为例)
void PWM_Init(void) {
// 定时器配置
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
// 设置PWM频率为20kHz
TIM_TimeBaseStructure.TIM_Period = 3599; // 72MHz / (3599+1) = 20kHz
TIM_TimeBaseStructure.TIM_Prescaler = 0;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
// 配置PWM通道
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = 1800; // 50%占空比
TIM_OC1Init(TIM2, &TIM_OCInitStructure);
// 启动定时器
TIM_Cmd(TIM2, ENABLE);
}
避坑指南:我曾经在批量生产时发现,同一批板子PWM频率有偏差。后来查出来是晶振精度问题。所以量产时,建议用内部RC振荡器或者校准过的晶振。
1.3 H桥驱动电路基础
有刷电机要正反转,或者无刷电机要换向,都离不开H桥。H桥长什么样?四个开关管(MOS管)摆成H形,电机在中间横杠上。
你想想看,如果左上和右下导通,电流从左往右流,电机正转。右上和左下导通,电流从右往左流,电机反转。就这么简单。
H桥的四种状态:
- 正转:Q1和Q4导通
- 反转:Q2和Q3导通
- 刹车:Q1和Q3导通(或Q2和Q4)
- 滑行:所有MOS管关闭
我个人习惯用N沟道MOS管做下桥,P沟道做上桥。但P沟道MOS管贵,导通电阻也大。所以现在很多方案都用全N沟道,上桥加个自举电路。
// H桥控制逻辑示例
void H_Bridge_Control(uint8_t direction) {
switch(direction) {
case FORWARD:
// Q1和Q4导通
GPIO_SetBits(GPIOA, GPIO_Pin_0); // Q1
GPIO_ResetBits(GPIOA, GPIO_Pin_1); // Q2
GPIO_ResetBits(GPIOA, GPIO_Pin_2); // Q3
GPIO_SetBits(GPIOA, GPIO_Pin_3); // Q4
break;
case REVERSE:
// Q2和Q3导通
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
GPIO_SetBits(GPIOA, GPIO_Pin_1);
GPIO_SetBits(GPIOA, GPIO_Pin_2);
GPIO_ResetBits(GPIOA, GPIO_Pin_3);
break;
case BRAKE:
// 上下桥同时导通
GPIO_SetBits(GPIOA, GPIO_Pin_0);
GPIO_SetBits(GPIOA, GPIO_Pin_1);
GPIO_ResetBits(GPIOA, GPIO_Pin_2);
GPIO_ResetBits(GPIOA, GPIO_Pin_3);
break;
case COAST:
// 全部关闭
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
GPIO_ResetBits(GPIOA, GPIO_Pin_2);
GPIO_ResetBits(GPIOA, GPIO_Pin_3);
break;
}
}
小技巧:切换方向时,一定要先关闭所有MOS管,等几十微秒再打开另一组。不然上下桥直通,瞬间就冒烟了。我刚开始做时吃过这个亏,烧了好几块板子才长记性。
好了,第一章的内容就这些。电机类型、PWM调速、H桥驱动,这三个概念是后面所有章节的基础。你把这些搞明白了,后面的内容学起来就轻松多了。
本章要点回顾:
- 有刷电机便宜但寿命短,无刷电机贵但性能好
- PWM调速靠改变占空比,频率建议20kHz以上
- H桥用四个MOS管控制正反转,切换时要加死区
下一章,咱们聊聊如何根据剃须刀的负载特性,选择合适的电机参数。到时候我会分享一些实际项目中的选型经验。