1. 项目概述:SH79F1611在电动三轮车控制器中的应用
在电动三轮车控制器领域,中颖SH79F1611这颗8位MCU可以说是老将了。我经手过的24管无刷电机控制器方案中,约60%都采用这款芯片。它最大的优势在于外设资源与电机控制需求高度匹配——自带4路PWM生成器、硬件死区控制、多通道ADC,以及足够快的指令周期(1T 8051架构),这些特性让它在方波控制方案中表现尤为出色。
方波控制(也叫六步换相)虽然相比FOC控制算法简单,但在三轮车这种对成本敏感、对可靠性要求高的场景下,依然是主流选择。24管配置指的是三相桥臂每相采用4个MOS管并联(上下各2个),这种设计能轻松应对三轮车满载时的百安级电流。SH79F1611驱动这种拓扑结构时,需要特别注意PWM时序控制和硬件保护机制的设计。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件架构与核心外设配置
2.1 功率部分设计要点
24管拓扑的驱动电路需要特别关注:
- 栅极驱动采用专用驱动芯片(如IR2104S),每路驱动需配置10Ω栅极电阻
- 母线电压采样用1%精度的分压电阻(典型值:上电阻10kΩ,下电阻1kΩ)
- 相电流检测用2mΩ/3W的锰铜采样电阻,配合差分放大电路
2.2 MCU外设初始化
SH79F1611的关键外设配置如下:
c复制// 系统时钟设置(内部16MHz)
CLKCON = 0x08; // 使用内部高频振荡器
while(!(CLKCON & 0x80)); // 等待时钟稳定
// PWM定时器配置
T2CON = 0x08; // 16位自动重载,中心对齐模式
TL2 = 0x00;
TH2 = 0xFC; // 对应15.6kHz PWM频率(16MHz/256)
TR2 = 1; // 启动定时器2
// 死区时间设置(约1.5us)
PWMCON = 0x1A; // 死区时钟=系统时钟,DT=10*1/16MHz
注意:中心对齐模式下,PWM占空比计算方式与边沿对齐不同。实际占空比 = (TH2 - CCRH)/TH2
3. 方波控制核心算法实现
3.1 换相逻辑与状态机
霍尔信号到PWM输出的映射采用查表法,这是方波控制最核心的部分:
c复制// 三相PWM输出组合(对应6个换相状
