基于 AiP9M161 的个人护理产品方案:从原理到实战全解
目录
- 一、个人护理产品概述
- [二、AiP9M161 平台优势](#二、AiP9M161 平台优势)
- 三、电动牙刷完整方案
- 四、洁面仪完整方案
- 五、筋膜枪完整方案
- [六、通用 BOM 与成本分析](#六、通用 BOM 与成本分析)
- 七、制作与调试指南
一、个人护理产品概述
1.1 三大品类核心参数
| 品类 | 电机类型 | 工作电压 | 典型功率 | 核心功能 |
|---|---|---|---|---|
| 电动牙刷 | 直流有刷 / 磁悬浮声波 | 3.7V 锂电 | 1~3W | 振动模式切换、2min 定时、30s 换区提醒 |
| 洁面仪 | 偏心振动电机 | 3.7V 锂电 | 0.5~2W | 振动强弱调节、定时、IPX7 防水 |
| 筋膜枪 | 无刷直流电机 (BLDC) | 7.4~12V (2S/3S 锂电) | 20~80W | 多档转速、堵转保护、电池管理 |
1.2 共性需求
- 电池供电:锂电池 + USB 充电
- 电机驱动:PWM 调速 + 多种模式
- 防水等级:IPX5~IPX7(电动牙刷/洁面仪)
- 低功耗待机:长时间不用自动关机
- 安全保护:过流/堵转/低电保护
二、AiP9M161 平台优势
| 个人护理需求 | AiP9M161 能力 | 评价 |
|---|---|---|
| 电池 1S~3S 供电 | 1.8~5.5V (需 LDO) | ✅ |
| PWM 电机调速 | 6 路独立 PWM | ✅ 充裕 |
| 电池电压监测 | 12-bit ADC | ✅ 精准 |
| 按键操作 | GPIO 中断 + 唤醒 | ✅ |
| 定时功能 | 硬件定时器 | ✅ |
| 超低待机 | Stop 模式 ≤ 1µA | ✅ 极佳 |
| 小体积 | SOP8~SOP16 | ✅ |
| 防水设计 | 无触摸依赖, 纯按键 | ✅ |
| BLDC 无感控制 | 6 路 PWM + 12-bit ADC | ⚠️ 筋膜枪勉强够用 |
三、电动牙刷完整方案
3.1 工作原理
┌──────────────────────────────────────────────────────┐
│ 电动牙刷系统框图 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │
│ │ 锂电池 │──▶│ 无线充电 │──▶│ AiP9M161 │ │
│ │ 3.7V │ │ (Qi/A4WP)│ │ (SOP14) │ │
│ │ 700mAh │ │ │ │ │ │
│ └──────────┘ └──────────┘ │ PA0: PWM → │─┐ │
│ │ 电机驱动 │ │ │
│ ┌──────────┐ │ PA1: ADC ← │─┤ │
│ │ 按键 │─────────────────▶│ 电池监测 │ │ │
│ │ (防水) │ │ PA2: GPIO ← │ │ │
│ └──────────┘ │ 按键输入 │ │ │
│ │ PA3: GPIO ← │ │ │
│ ┌──────────┐ │ 充电检测 │ │ │
│ │ LED × 2 │◀─────────────────│ PA5: LED1 → │ │ │
│ │ (模式/电量)│ │ PA6: LED2 → │ │ │
│ └──────────┘ └───────────────┘ │ │
│ │ │
│ ┌──────────────────────────────────────────────┐ │ │
│ │ 电机驱动 (H桥) │◀┘ │
│ │ PWM → TC118S 单芯片电机驱动 → 偏心振动电机 │ │
│ └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
3.2 声波电机驱动
电动牙刷的核心是声波电机(高频振动电机),工作频率通常在 200~400Hz。
方案一:单芯片电机驱动 (推荐)
c
// TC118S --- 单通道直流电机驱动芯片
// 工作电压: 2.0~7.5V
// 最大电流: 1.5A
// 封装: SOT23-6 / DFN2×2
// 接线:
// MCU PWM (PA0) → TC118S IN pin
// TC118S OUT → 电机正极
// 电机负极 → GND
VBAT (3.7V)
│
┌────┴────┐
│ TC118S │
│ │
PWM──│ IN VCC│── VBAT
│ OUT │── 电机 (+)
│ GND │── GND
└─────────┘
电机 (-) ── GND
方案二:MOS 管 H 桥 (可换向)
VBAT
│
┌─────┴─────┐
│ Q1(P) │ Q2(P)
│ │
├── 电机 ──┤
│ │
│ Q3(N) │ Q4(N)
└─────┬─────┘
│
GND
可通过 H 桥实现正反转 → 实现不同的刷头振动模式
PWM 信号通过半桥驱动器 (IR2104 等) 驱动上下 MOS
3.3 电动牙刷软件设计
c
#include "aip9m161.h"
// ===== 刷牙模式 =====
typedef enum {
MODE_OFF,
MODE_CLEAN, // 清洁模式 (31000次/分)
MODE_WHITEN, // 美白模式 (35000次/分)
MODE_SENSITIVE, // 敏感模式 (28000次/分)
MODE_MASSAGE, // 按摩模式 (变频)
} brush_mode_t;
// 各模式 PWM 占空比 (0~50)
const uint8_t mode_duty[] = {
0, // OFF
38, // CLEAN: 76%
43, // WHITEN: 86%
34, // SENSITIVE: 68%
0 // MASSAGE: 变频 (单独处理)
};
// 各模式振动频率 (Hz)
const uint16_t mode_freq[] = {
0, // OFF
310, // CLEAN: 310Hz (~31000次/分)
350, // WHITEN: 350Hz
280, // SENSITIVE: 280Hz
0 // MASSAGE: 变频
};
brush_mode_t current_mode = MODE_OFF;
// ===== 2 分钟定时 + 30 秒换区提醒 =====
#define BRUSH_TOTAL_SEC 120 // 总时间 2 分钟
#define QUAD_CHANGE_SEC 30 // 每 30 秒提醒换区
void brush_timer(void)
{
uint8_t seconds = 0;
uint8_t quadrants = 0;
while (seconds < BRUSH_TOTAL_SEC && current_mode != MODE_OFF) {
// 30 秒换区提醒
if (seconds > 0 && seconds % QUAD_CHANGE_SEC == 0) {
// 短暂停顿 (0.5s) 提醒换区
PWM_SetDuty(PWM5, 0);
delay_ms(500);
PWM_SetDuty(PWM5, mode_duty[current_mode]);
quadrants++;
}
// 按摩模式: 频率从 280Hz 到 350Hz 正弦变化
if (current_mode == MODE_MASSAGE) {
// 每 2 秒一个按摩周期
uint8_t phase = seconds % 4; // 0~3
uint8_t mass_duty[4] = {20, 35, 28, 42};
PWM_SetDuty(PWM5, mass_duty[phase]);
}
// 电量监测 (每 10 秒)
if (seconds % 10 == 0) {
led_show_battery(battery_level());
}
delay_ms(1000);
seconds++;
}
// 刷牙结束
PWM_SetDuty(PWM5, 0);
current_mode = MODE_OFF;
led_brush_done(); // 完成指示: LED 闪烁 3 次
}
3.4 电动牙刷状态机
┌──────────┐ 按键 ┌──────────┐ 按键 ┌──────────┐
│ OFF │──────▶│ CLEAN │───────▶│ WHITEN │
│ (待机) │ │ │ │ │
└──────────┘ └────┬─────┘ └────┬─────┘
▲ │ 按键 │ 按键
│ ▼ ▼
│ ┌──────────┐ ┌──────────┐
│ │SENSITIVE │───────▶│ MASSAGE │
│ │ │ 按键 │ │
│ └────┬─────┘ └────┬─────┘
│ │ │
│ └───── 双击 ────────┘
│ (直接 OFF)
│ │
└──────────────────────────┘
长按 3 秒任意模式 → OFF
2 分钟自动结束 → OFF
30 秒换区提醒 → 短暂停 0.5s → 继续
3.5 电动牙刷 BOM
| 序号 | 元件 | 型号 | 数量 | 单价(¥) | 小计(¥) |
|---|---|---|---|---|---|
| 1 | MCU | AiP9M161 SOP14 | 1 | 0.60 | 0.60 |
| 2 | 电机驱动 | TC118S SOT23-6 | 1 | 0.25 | 0.25 |
| 3 | 声波电机 | 31000rpm 偏心 | 1 | 3.00 | 3.00 |
| 4 | 无线充电接收 | Qi 5V 500mA | 1 | 2.50 | 2.50 |
| 5 | 锂电池 | 3.7V 700mAh 14500 | 1 | 5.00 | 5.00 |
| 6 | 防水按键 | IPX7 硅胶按键 | 1 | 0.50 | 0.50 |
| 7 | LED × 3 | 0805 | 3 | 0.03 | 0.09 |
| 8 | 电阻电容 | - | 若干 | - | 0.30 |
| 9 | PCB | 双层 0.8mm | 1 | 1.50 | 1.50 |
| 10 | 刷头 (可替换) | 杜邦刷丝 | 1 | 1.00 | 1.00 |
| 11 | 外壳 | ABS+TPE 包胶 IPX7 | 1 | 4.00 | 4.00 |
| BOM 合计 | | | | ¥18.74 |
四、洁面仪完整方案
4.1 工作原理
洁面仪与电动牙刷类似,但电机功率更小、振动频率更低:
┌─────────────────────────────────────────┐
│ 洁面仪系统框图 │
│ │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ 锂电池 │───▶│ AiP9M161 SOP14 │ │
│ │ 300mAh │ │ │ │
│ └──────────┘ │ PA0: PWM → MOS →│──▶│ 偏心振动电机
│ │ PA1: ADC ← 电池 │ │
│ ┌──────────┐ │ PA2: GPIO ← 按键 │ │
│ │ 按键 │───▶│ PA3: GPIO ← 充电 │ │
│ └──────────┘ │ PA5: LED1 → │ │
│ │ PA6: LED2 → │ │
│ ┌──────────┐ └──────────────────┘ │
│ │ LED × 2 │◀──────────────────────────│
│ └──────────┘ │
│ │
│ 核心差异: 硅胶刷头 + 全机身 IPX7 防水 │
└─────────────────────────────────────────┘
4.2 洁面仪与电动牙刷的区别
| 维度 | 电动牙刷 | 洁面仪 |
|---|---|---|
| 振动频率 | 280~350 Hz | 100~200 Hz |
| 电机功率 | 1~3W | 0.5~1.5W |
| 刷头材质 | 尼龙刷丝 | 医用级硅胶 |
| 档位 | 4~5 档 | 2~3 档 |
| 定时 | 2min + 30s换区 | 1min 自动停 |
| 充电方式 | 无线充电为主 | USB 磁吸充电 |
| 防水等级 | IPX7 | IPX7 |
4.3 洁面仪软件设计
c
typedef enum {
CLEANSER_OFF,
CLEANSER_LOW, // 柔和清洁 (120Hz)
CLEANSER_MID, // 日常清洁 (160Hz)
CLEANSER_HIGH, // 深度清洁 (200Hz)
} cleanser_mode_t;
// PWM 频率设置 (通过调整周期实现不同振动频率)
void cleanser_set_vibration(uint16_t freq_hz)
{
// PWM 频率 = FIRC / 预分频 / 周期
// 例如 FIRC=16MHz, 预分频=64, 周期=16M/64/200Hz=1250
uint16_t period = 16000000 / 64 / freq_hz;
PWM_SetPrescaler(PWM5, PWM_PRESCALER_64);
PWM_SetPeriod(PWM5, period);
PWM_SetDuty(PWM5, period * 70 / 100); // 70% 占空比
}
// 1 分钟定时 + 20 秒换区提醒
void cleanser_timer(void)
{
uint8_t seconds = 0;
while (seconds < 60) { // 总时间 1 分钟
if (seconds > 0 && seconds % 20 == 0) {
// 振动暂停 0.3s 提醒换区 (额头→鼻子→下巴)
PWM_SetDuty(PWM5, 0);
delay_ms(300);
// 恢复振动
cleanser_set_vibration(160);
}
delay_ms(1000);
seconds++;
}
PWM_SetDuty(PWM5, 0);
}
// 防水按键消抖 (IPX7 环境, 按键可能受水膜影响)
#define WATERPROOF_DEBOUNCE_MS 80 // 水下需更大的消抖时间
uint8_t waterproof_key_read(void)
{
static uint16_t stable_cnt = 0;
if (GPIO_ReadPin(PA, 2) == 0) { // 按下
stable_cnt++;
if (stable_cnt >= WATERPROOF_DEBOUNCE_MS) {
return 1;
}
} else {
stable_cnt = 0;
}
return 0;
}
4.4 洁面仪 BOM
| 序号 | 元件 | 型号 | 数量 | 单价(¥) | 小计(¥) |
|---|---|---|---|---|---|
| 1 | MCU | AiP9M161 SOP14 | 1 | 0.60 | 0.60 |
| 2 | N-MOS | AO4406 SOP8 | 1 | 0.20 | 0.20 |
| 3 | 偏心振动电机 | 3.7V 8000RPM | 1 | 1.50 | 1.50 |
| 4 | 磁吸充电 | 2P 磁吸接口 | 1 | 0.80 | 0.80 |
| 5 | 锂电池 | 3.7V 300mAh 软包 | 1 | 3.00 | 3.00 |
| 6 | 防水按键 | IPX7 硅胶 | 1 | 0.40 | 0.40 |
| 7 | LED × 2 | 0805 | 2 | 0.03 | 0.06 |
| 8 | 电阻电容 | - | 若干 | - | 0.30 |
| 9 | PCB | 双层 0.8mm | 1 | 1.00 | 1.00 |
| 10 | 硅胶刷头 | 医用级硅胶 | 1 | 2.00 | 2.00 |
| 11 | 外壳 | ABS IPX7 | 1 | 3.00 | 3.00 |
| BOM 合计 | | | | ¥12.86 |
五、筋膜枪完整方案
5.1 系统架构
筋膜枪是三个方案中最复杂的,需要驱动无刷电机(BLDC),功率也最大。
┌──────────────────────────────────────────────────────────┐
│ 筋膜枪系统架构 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ 2S/3S │──▶│ BMS │──▶│ AiP9M161 (SOP16) │ │
│ │ 锂电池组 │ │ 充放电管理│ │ │ │
│ │ 7.4~12V │ │ │ │ PA0: PWM_UH → │─┐ │
│ └──────────┘ └──────────┘ │ PA1: PWM_UL → │─┤ │
│ │ PA2: PWM_VH → │─┤ │
│ ┌──────────┐ │ PA3: PWM_VL → │─┤ │
│ │ 按键 │─────────────────▶│ PA4: PWM_WH → │─┤ │
│ │ + 电位器 │ │ PA5: PWM_WL → │─┤ │
│ └──────────┘ │ │ │ │
│ │ PA6: ADC_BEMF_A │─┤ │
│ ┌──────────┐ │ PA7: ADC_BEMF_B │─┤ │
│ │ LED 挡位 │◀─────────────────│ PB0: ADC_BEMF_C │─┤ │
│ │ + 数码管 │ │ PB4: ADC_BAT │─┤ │
│ └──────────┘ │ PB5: ADC_CURRENT │─┤ │
│ └───────────────────┘ │ │
│ │ │
│ ┌──────────────────────────────────────────────────┐ │ │
│ │ BLDC 三相驱动桥 (6×N-MOS) │◀┘ │
│ │ MCU 6路PWM → 栅极驱动 → 3 相半桥 → BLDC 电机 │ │
│ │ 反电动势检测: 分压后送 3 路 ADC │ │
│ └──────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
5.2 BLDC 驱动关键电路
三相桥臂 (以 U 相为例):
VBAT (12V)
│
┌────┴────┐
PWM_UH ──│ 栅极驱动 │── Q1 (P-MOS / N-MOS+自举)
│ IR2101 │
└────┬────┘
│
├───────── 电机 U 相 ──── 电机
│
┌────┴────┐
PWM_UL ──│ 栅极驱动 │── Q2 (N-MOS)
│ │
└────┬────┘
│
┌────┴────┐
│ R_sense │ 采样电阻 10mΩ (可选, 单电阻电流采样)
│ 10mΩ │
└────┬────┘
│
GND
U/V/W 三相完全相同结构
反电动势检测: 电机相电压通过分压电阻 (如 10kΩ+2kΩ) → MCU ADC
⚠️ AiP9M161 驱动 BLDC 的局限性:16MHz 主频 + 8 位内核在处理高转速 BLDC 的 FOC 算法时能力有限。建议:
- 转速 ≤ 10000 RPM 时,使用六步换相 (6-step) 方波控制
- 转速 > 10000 RPM 时,建议改用更高性能的 MCU (如 Cortex-M0+)
- 或者使用专用的 BLDC 预驱动芯片,MCU 仅发调速指令
5.3 六步换相控制
c
// 六步换相序列 (H-PWM, L-ON 调制方式)
typedef enum {
STEP_1 = 0, // U→V: UH_PWM, VL_ON
STEP_2, // U→W: UH_PWM, WL_ON
STEP_3, // V→W: VH_PWM, WL_ON
STEP_4, // V→U: VH_PWM, UL_ON
STEP_5, // W→U: WH_PWM, UL_ON
STEP_6, // W→V: WH_PWM, VL_ON
} bldc_step_t;
// 换相表
const uint8_t step_table[6][6] = {
// {UH, UL, VH, VL, WH, WL}
{ 1, 0, 0, 1, 0, 0 }, // STEP_1: U→V
{ 1, 0, 0, 0, 0, 1 }, // STEP_2: U→W
{ 0, 0, 1, 0, 0, 1 }, // STEP_3: V→W
{ 0, 1, 1, 0, 0, 0 }, // STEP_4: V→U
{ 0, 1, 0, 0, 1, 0 }, // STEP_5: W→U
{ 0, 0, 0, 1, 1, 0 }, // STEP_6: W→V
};
bldc_step_t current_step = STEP_1;
// 换相函数
void bldc_commutate(void)
{
// 1. 关闭所有桥臂 (插入死区)
PWM_SetDuty(PWM0, 0); // UH
PWM_SetDuty(PWM1, 0); // UL
PWM_SetDuty(PWM2, 0); // VH
PWM_SetDuty(PWM3, 0); // VL
PWM_SetDuty(PWM4, 0); // WH
PWM_SetDuty(PWM5, 0); // WL
delay_us(1); // 死区时间 1µs
// 2. 设置新相序
const uint8_t *step = step_table[current_step];
PWM_SetDuty(PWM0, step[0] ? g_pwm_duty : 0);
PWM_SetDuty(PWM1, step[1] ? g_pwm_duty : 0);
// ... 其余同理
}
// 反电动势过零检测
uint8_t bemf_zero_cross_detect(void)
{
// 检测悬空相的反电动势是否过零点
// 通过 ADC 读取悬空相电压与中点电压比较
switch (current_step) {
case STEP_1: // U→V, W 悬空
return ADC_Read(ADC_W) > (ADC_U + ADC_V) / 2;
case STEP_2: // U→W, V 悬空
return ADC_Read(ADC_V) > (ADC_U + ADC_W) / 2;
// ... 其余同理
default:
return 0;
}
}
5.4 筋膜枪简化方案(推荐)
对于 AiP9M161 的性能限制,推荐使用BLDC 专用驱动芯片 + MCU的方案:
MCU (AiP9M161) BLDC 预驱动 IC
┌──────────┐ ┌──────────────┐
│ PA0 │── PWM ───────────▶│ SPEED IN │
│ │ │ │
│ │ │ 三相预驱动 │── 6 × N-MOS → BLDC
│ PA1 │── DIR ───────────▶│ DIR IN │
│ │ │ │
│ PA2 │── FG ◀────────────│ FG OUT │ (转速反馈)
│ │ └──────────────┘
└──────────┘
可选 BLDC 预驱动芯片:
- FD6288: 三相栅极驱动, 250mA, 内建自举二极管
- JY01: 集成预驱+MOS, 单芯片 BLDC 方案
- DRV11873: TI 三相无感 BLDC 驱动, 外部 MOS
优势:
- MCU 只需输出 PWM 占空比 + 方向信号
- 换相逻辑由硬件完成,不占用 MCU 资源
- AiP9M161 的计算压力极大降低
- 成本增加约 ¥2~3
5.5 筋膜枪软件逻辑
c
// 筋膜枪多档位 + 智能保护
#define MAX_SPEED_RPM 3200
#define MIN_SPEED_RPM 1200
typedef enum {
GUN_OFF,
GUN_GEAR_1, // 1200 RPM
GUN_GEAR_2, // 1800 RPM
GUN_GEAR_3, // 2400 RPM
GUN_GEAR_4, // 2800 RPM
GUN_GEAR_5, // 3200 RPM
GUN_ERROR,
} massage_gun_mode_t;
const uint16_t gear_rpm[] = {0, 1200, 1800, 2400, 2800, 3200};
const uint8_t gear_duty[] = {0, 20, 28, 38, 44, 50}; // PWM 占空比
massage_gun_mode_t mode = GUN_OFF;
void massage_gun_control(void)
{
// BLDC 启动: 先对预驱动芯片使能
blcd_enable();
// 设置速度
PWM_SetDuty(PWM0, gear_duty[mode]);
// 等待稳定
delay_ms(500);
// 实时转速监测 (通过 FG 信号)
uint16_t actual_rpm = read_fg_rpm();
// 转速闭环 (简单 PI 控制)
if (actual_rpm < gear_rpm[mode] - 100) {
// 调速不达标 → 增大占空比
uint8_t duty = PWM_GetDuty(PWM0);
if (duty < 50) PWM_SetDuty(PWM0, duty + 1);
} else if (actual_rpm > gear_rpm[mode] + 100) {
uint8_t duty = PWM_GetDuty(PWM0);
if (duty > 1) PWM_SetDuty(PWM0, duty - 1);
}
// 堵转保护: 0.5s 内转速 < 200 → 堵转
static uint16_t stall_timer = 0;
if (actual_rpm < 200) {
stall_timer++;
if (stall_timer > 500) {
blcd_disable();
mode = GUN_ERROR;
led_error_stall();
}
} else {
stall_timer = 0;
}
}
5.6 筋膜枪 BOM
| 序号 | 元件 | 型号 | 数量 | 单价(¥) | 小计(¥) |
|---|---|---|---|---|---|
| 1 | MCU | AiP9M161 SOP16 | 1 | 0.65 | 0.65 |
| 2 | 栅极驱动 | FD6288 QFN24 | 1 | 1.50 | 1.50 |
| 3 | N-MOS × 6 | AON7410 DFN | 6 | 0.35 | 2.10 |
| 4 | BLDC 电机 | 12V 3200RPM | 1 | 20.00 | 20.00 |
| 5 | BMS 3S | 12.6V 充放电保护 | 1 | 3.00 | 3.00 |
| 6 | 锂电池组 | 3S1P 12V 2000mAh | 1 | 30.00 | 30.00 |
| 7 | 采样电阻 | R010 | 1 | 0.20 | 0.20 |
| 8 | 按键 + 电位器 | 档位调节 | 各1 | 0.50 | 0.50 |
| 9 | LED × 5 | 0805 挡位指示 | 5 | 0.03 | 0.15 |
| 10 | 数码管 | 3 位共阴 (可选) | 1 | 1.50 | 1.50 |
| 11 | 电阻电容 | - | 若干 | - | 1.00 |
| 12 | PCB | 双层 1.6mm | 1 | 3.00 | 3.00 |
| 13 | 外壳 | ABS+橡胶 | 1 | 8.00 | 8.00 |
| BOM 合计 | | | | ¥71.60 |
筋膜枪是三个方案中 BOM 最高的,主要成本在电池组(¥30)和电机(¥20)。
六、通用 BOM 与成本分析
| 品类 | 电控 BOM | 电机+电池 | 结构件 | 总 BOM | 市场售价参考 |
|---|---|---|---|---|---|
| 电动牙刷 | ¥7.24 | ¥8.00 | ¥4.00 | ¥18.74 | ¥59~129 |
| 洁面仪 | ¥3.36 | ¥4.50 | ¥5.00 | ¥12.86 | ¥39~89 |
| 筋膜枪 | ¥10.60 | ¥50.00 | ¥11.00 | ¥71.60 | ¥199~499 |
七、制作与调试指南
7.1 防水设计要点 (IPX7)
电动牙刷/洁面仪的防水设计:
1. 外壳密封: 超声波焊接或 O 型密封圈
2. 按键: 硅胶按键 + 外壳一体成型 (无缝隙)
3. 充电口: 无线充电 (避免物理开孔) 或磁吸触点+密封
4. PCB 三防漆: 全板喷涂 UV 三防漆
5. 电机防水: 选用防水电机或电机仓独立密封
6. 测试方法: 1 米水深浸泡 30 分钟后功能正常
7.2 筋膜枪调试步骤
1. 电源检查: 12V 空载正常, 带载 5A 不跌压
2. PWM 输出: 6 路互补 PWM, 死区 1µs
3. 电机空载启动: 低速档是否平稳
4. 电流监测: 空载 < 1A, 加载 3~8A
5. 堵转测试: 用手堵住输出轴, < 1s 停机
6. 温升测试: 满载 10min, MOS 管温度 < 70°C
7. 续航测试: 中档测试实际续航时间
7.3 常见问题
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 电动牙刷振动无力 | PWM 占空比不够或电池老化 | 调高占空比/换电池 |
| 洁面仪进水 | 按键密封不严 | 换 IPX7 级防水按键 |
| 筋膜枪发热严重 | MOS 管 Rds(on) 太大 | 换低压大电流 MOS 管 |
| BLDC 启动困难 | 无感启动算法不好 | 采用三段式启动法 |
| 电池续航短 | RFID/按键未进入休眠 | 检查 Stop 模式是否进入 |
| 磁吸充电接触不良 | 触点氧化 | 触点镀金处理 |