第一章 电机控制概述:剃须刀电机类型与驱动基础

做嵌入式驱动这么多年,我接触过各种各样的电机。但要说最贴近生活的,还得是剃须刀里的那颗小电机。你别看它个头不大,里面的门道可不少。今天咱们就从最基础的开始聊起。

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桥驱动,这三个概念是后面所有章节的基础。你把这些搞明白了,后面的内容学起来就轻松多了。

本章要点回顾:

  1. 有刷电机便宜但寿命短,无刷电机贵但性能好
  2. PWM调速靠改变占空比,频率建议20kHz以上
  3. H桥用四个MOS管控制正反转,切换时要加死区

下一章,咱们聊聊如何根据剃须刀的负载特性,选择合适的电机参数。到时候我会分享一些实际项目中的选型经验。