典型应用方案
按摩仪驱动:采用低速高扭矩模式,PWM频率设为15-20kHz以降低噪音。
风扇控制:结合温度传感器实现自动调速,支持软启动(PWM占空比从10%线性增至目标值)。
PFC886-S1电气特性
-
基本参数
-
工作电压:5V–24V DC
-
驱动电流:单相峰值电流可达3A(需外置MOSFET扩展)
-
PWM频率:可调范围10kHz–50kHz
-
工作温度:-40°C至+85°C
-
-
保护功能
-
过流保护(OCP):硬件触发关断MOSFET。
-
过温保护(OTP):芯片温度超阈值时降频或停机。
-
欠压锁定(UVLO):电压低于4.5V时自动禁用输出。
-
一、硬件设计思路
电源与驱动电路设计
电源部分:采用DC 12-24V输入,通过LDO或DC-DC转换器(如LM2596)为PFC886-S16提供稳定的5V/3.3V工作电压。需注意电源滤波设计,增加陶瓷电容和电解电容以抑制高频噪声。
驱动电路:使用三相半桥拓扑结构,搭配低侧MOSFET(如AO3400)和高侧预驱电路。建议在MOSFET的栅极串联10-22Ω电阻并并联反向二极管(如1N4148),以优化开关速度并抑制电压尖峰。
传感器接口设计
若采用霍尔传感器检测转子位置,需将霍尔信号(H1/H2/H3)通过RC滤波电路接入PFC886-S16的GPIO引脚,并配置为输入模式。推荐在霍尔信号线上串联1kΩ电阻并并联100pF电容,以增强抗干扰能力。
保护电路设计
过流保护:通过采样电阻(如0.01Ω/3W)检测母线电流,经运放(如LM358)放大后输入芯片的ADC引脚。设定阈值触发过流保护中断,并立即关闭PWM输出。
温度保护:在PCB靠近MOSFET的位置放置NTC热敏电阻,通过分压电路输入芯片ADC,实时监控温度并触发降频或停机。
过流保护与堵转检测
// 电流检测ADC通道
#define ISEN_CH ADC_CH4
void Protection_Check() {
uint16_t current = ADC_Read(ISEN_CH); // 读取电流值
// 过流保护(阈值根据硬件设计调整)
if (current > OCP_THRESHOLD) {
PWM_Disable(); // 立即关闭PWM
Fault_LED = 1; // 点亮故障指示灯
}
// 堵转检测:监测换相周期是否超时
static uint32_t last_comm_time = 0;
if (Get_Tick() - last_comm_time > COMM_TIMEOUT) {
PWM_Disable();
Restart_Motor(); // 尝试重启电机
}
}
二、软件开发流程
初始化配置
时钟与PWM模块:配置芯片主频至最高(如48MHz),初始化PWM模块为互补输出模式,死区时间设为200-500ns以避免桥臂直通。
ADC采样:设置电流和温度采样通道,采用定时器触发ADC连续采样模式,并启用DMA传输以提高效率。
换相逻辑实现
六步换相法:根据霍尔传感器信号的状态变化(6种组合),切换PWM输出的相位顺序。例如,霍尔信号组合为101时,驱动A相高侧、B相低侧,C相悬空。
无感启动(可选):若未使用霍尔传感器,可通过反电动势过零检测实现换相。需配置比较器监测电机端电压,并采用开环启动(如三段式启动)过渡至闭环控制。
闭环控制策略
速度环PID:通过编码器或霍尔信号计算转速误差,调节PWM占空比。建议采用增量式PID算法,参数整定范围:Kp=0.5-2.0,Ki=0.01-0.1,Kd=0。
电流环控制:在高速运行时启用电流闭环,限制峰值电流以保护MOSFET和电机。
三、调试与优化
硬件验证
使用示波器观测PWM波形,确保死区时间和电压幅值符合设计(如高侧驱动电压10-15V)。
通过静态测试验证霍尔信号与换相逻辑的匹配性,手动旋转电机观察换相顺序是否正确。
参数整定
PID调参:逐步增加负载,观察转速响应曲线,优先调整比例项(Kp)以消除稳态误差,再优化积分项(Ki)抑制超调。
电流保护阈值:根据电机额定电流(如2A)设定过流阈值,建议设置为额定值的1.2-1.5倍。
EMC优化
在电机电源线加装共模电感(如10μH)和Y电容(如1000pF/2kV),降低传导干扰。
PCB布局需将功率地(MOSFET区域)与信号地单点连接,避免地环路噪声。
四、参考设计资源
开发工具
应广官方IDE(如Mini-C IDE)支持PFC886-S16的代码编译与调试,内置BLDC驱动库函数(如BLDC_Init()、PWM_SetDuty())。
使用应广专用烧录器(如PGT05)进行程序下载,支持在线调试和Flash擦写。
基于应广(Padauk)PFC886-S16 BLDC驱动芯片的简化代码示例,涵盖有感(霍尔传感器)和无感(反电动势)控制的核心逻辑
#include "pfc886_s16.h" // 应广官方头文件
// 定义霍尔传感器输入引脚
#define HALL_U P3_0
#define HALL_V P3_1
#define HALL_W P3_2
// PWM输出引脚定义(驱动三相逆变桥)
#define PWM_UH P1_0
#define PWM_UL P1_1
#define PWM_VH P1_2
#define PWM_VL P1_3
#define PWM_WH P1_4
#define PWM_WL P1_5
void BLDC_Init() {
// 时钟配置:使用内部16MHz RC振荡器
CLKCON = 0x02; // 16MHz模式
// 初始化PWM模块:互补输出,死区时间500ns
PWM_CTRL = 0x1F; // 使能PWM通道,设定死区时间
PWM_FREQ = 199; // PWM频率=16MHz/(200*1)=80kHz(实际需根据需求调整)
// 配置霍尔传感器输入引脚为输入模式
P3M = 0x00; // P3.0~P3.2设为输入
P3UR = 0x07; // 使能内部上拉
// 使能霍尔中断
INT_EDGE = 0x07; // 霍尔信号上升沿/下降沿均触发中断
INTEN = 0x01; // 使能外部中断0(霍尔信号变化)
}
// 霍尔中断服务函数:换相逻辑
#pragma vector=EXT0_VECTOR
void Hall_ISR() {
uint8_t hall_state = (HALL_U << 2) | (HALL_V << 1) | HALL_W;
switch (hall_state) {
case 0b101: // 霍尔状态101 → 换相到Phase A+
PWM_UH = 1; PWM_UL = 0; // UH高,UL低
PWM_VH = 0; PWM_VL = 1; // VL高,VH低
PWM_WH = 0; PWM_WL = 0; // W相关闭
break;
case 0b100: // 霍尔状态100 → 换相到Phase B+
// 其他换相逻辑...
break;
// 补充完整的6种霍尔状态对应的换相逻辑
default:
PWM_Disable(); // 异常状态关闭PWM
}
}
官方文档:
《PFC886-S16 Datasheet》:确认引脚定义和电气极限。
《BLDC Motor Control Application Note》:参考换相逻辑和EMC设计。
开发套件:
应广BLDC评估板(如EVB_PFC886),可快速验证硬件设计。
代码示例:
官方提供的“Hall_Sensor_Example”和“Sensorless_Example”工程。
如需更详细的电路原理图或代码示例, 若对以上说明有不清楚之处或仍有其他疑问, 请与 逐高电子技术方案开发部 sales11@zicoic.com 0755-88364040 联络 获取官方开发包。