CMS79F13x智能电饭煲方案|CMS79F136选型、硬件设计、控制流程与核心代码全解析(附原厂资料对照)
基于CMS79F13x用户手册V1.1.4整理的智能电饭煲完整工程方案:CMS79F136(SOP20,18路12位ADC)主控选型,双路100kΩ B3950 NTC测温,H11AA1过零检测与MOC3063+BTA16-600B可控硅整周波调功,四位LED动态扫描,AN3电阻梯按键,PWM1蜂鸣器,128字节程序EEPROM双副本+CRC8掉电记忆,LVD 3.3V低压保护
以CMS79F136为主控,完成双路NTC测温、交流过零加热、LED显示、按键菜单、蜂鸣提示、EEPROM参数记忆和多级安全保护。
方案类型:3L-5L加热盘式智能电饭煲 | 参考手册:CMS79F13x V1.1.4
1. 项目需求与整体方案
本案例面向常见的加热盘式智能电饭煲。整机由低压控制板、底盘加热盘、底盘NTC、上盖NTC、LED显示与按键板、蜂鸣器、过零检测电路以及可控硅功率回路组成。MCU不直接驱动市电负载,而是通过光耦隔离控制双向可控硅。
控制目标不只是“加热到某个温度”,而是按照预热、沸腾识别、吸水焖煮、收水和保温等阶段调整功率,同时连续检查传感器、升温速度、过温、电源和过零信号。任何故障都先关闭加热,再更新显示和蜂鸣器。
| 模块 | 功能 | MCU资源 |
|---|---|---|
| 双路温度检测 | 检测底盘温度与上盖蒸汽/温度变化 | 12位ADC,AN1与AN2 |
| 人机交互 | 四位LED显示、菜单与预约按键 | GPIO扫描,AN3模拟按键 |
| 加热执行 | 交流过零检测与可控硅整周波调功 | INT0、GPIO、定时器 |
| 声音提示 | 按键音、完成提示和故障报警 | PWM1 |
| 参数记忆 | 保存菜单、口感、预约时间与配置版本 | 程序EEPROM |
| 电源保护 | 低压时关闭加热并禁止新的EEPROM写入 | LVD |
2. 主控选型与资源分配
根据CMS79F13x用户手册V1.1.4,系列器件采用8位RISC内核,最高16MHz,提供8K×16程序存储器、344B RAM、128B程序EEPROM、3个定时器、12位ADC、5路10位PWM、2路USART和8档LVD。CMS79F133为SOP16,CMS79F136为SOP20。
本方案选择CMS79F136,是因为直驱四位LED需要较多段选和位选管脚。若使用外部显示驱动芯片,或产品只保留少量指示灯,CMS79F133也能覆盖温度采样、过零、加热和按键功能。
3. 硬件方案设计
硬件系统工程图
关键电路原理图
3.1 电源与安全边界
控制板使用隔离5V电源。MCU低压地与市电功率侧通过光耦隔离,加热回路配置保险丝、温度保险器和独立机械温控保护。PCB按市电标准保留爬电距离和电气间隙,功率器件根据加热盘电流、浪涌、散热和dv/dt选型。
3.2 双路NTC测温
底盘NTC接AN1,上盖NTC接AN2,均使用电阻分压和RC低通滤波。ADC参考选择VDD时,NTC分压和ADC参考随同一电源变化,可减小供电波动对比值测量的影响。软件每100ms采样,多次排序取中值,再通过查表和线性插值换算温度。
3.3 过零检测与加热控制
交流过零信号经过双向输入光耦和整形电路后送入RA0/INT0。RA4通过光耦驱动双向可控硅。控制器把0-1000‰的功率请求转换为多个半周中的导通比例,并只在过零附近安排门极脉冲,从而降低开关冲击和电磁干扰。
3.4 显示、按键与蜂鸣器
四位LED采用动态扫描;按键使用电阻梯形网络接AN3,以一个ADC管脚识别多个按键;无源蜂鸣器接RC1/PWM1,通过改变PWM频率输出不同提示音。若产品改用段式LCD,可按手册配置LCD COM功能并重新分配显示管脚。
3.5 EEPROM与LVD
菜单、口感和预约参数采用双副本保存,每份包含魔数、版本号、递增序号、数据和CRC8。只有参数稳定改变后才写入,避免频繁擦写。LVD设为3.3V门限;检测到低压后立即关闭加热并禁止新的EEPROM写操作,而不是等到真正掉电时才仓促保存。
| CMS79F136管脚 | 本方案用途 | 设计说明 |
|---|---|---|
| RA0 / INT0 | 交流过零输入 | 光耦隔离、施密特整形,兼顾ICSP调试 |
| RA1 / AN1 | 底盘NTC | RC滤波,远离功率回路 |
| RA2 / AN2 | 上盖NTC | 设置开路、短路电压窗口 |
| RA3 / AN3 | 模拟按键 | 按键窗口留出电阻容差和噪声余量 |
| RA4 | 加热光耦控制 | 上电默认低,外部下拉 |
| RA5-RA7、RB0 | LED位选 | 必要时增加三极管驱动 |
| RB1-RB7、RC0 | LED段选 | 每段配置限流电阻 |
| RC1 / PWM1 | 无源蜂鸣器 | PWM变频,超时自动关闭 |
3.6 主要电子元器件物料表(BOM)
下表对应图3和图4,用于控制板打样及成本评估。数量按单块控制板估算;加热盘、温度保险器、线束和结构件需结合整机功率、安装方式及认证要求确定。
| 类别/位号 | 建议规格 | 数量 | 选型与用途说明 |
|---|---|---|---|
| U1 主控MCU | CMS79F136,SOP20 | 1 | 16MHz、8K×16程序存储器、12位ADC、PWM、程序EEPROM及LVD;负责测温、显示、按键和烹饪控制。 |
| U2 过零光耦 | H11AA1或同等级双向输入光耦 | 1 | 检测交流电压过零点;需核对隔离耐压、输入电流和最低市电电压下的输出余量。 |
| U3 可控硅驱动光耦 | MOC3063或同等级过零型光耦 | 1 | 隔离MCU与市电功率侧,驱动双向可控硅;爬电距离和耐压应满足整机安规。 |
| Q6 功率双向可控硅 | BTA16-600B参考,600V/16A等级 | 1 | 控制加热盘通断;最终型号按额定电流、浪涌电流、散热条件和dv/dt裕量重新核算。 |
| HS1 可控硅散热片 | 按Q6损耗与允许结温计算 | 1 | 根据最不利电压、满载电流和环境温度完成热阻计算,并通过封闭整机温升测试确认。 |
| Q1-Q4 位选驱动 | S8050或同等级NPN三极管 | 4 | 四位LED数码管动态扫描位选;根据显示电流配置基极电阻。 |
| Q5 蜂鸣器驱动 | S8050或同等级NPN三极管 | 1 | 放大PWM1输出电流,驱动无源蜂鸣器。 |
| NTC1、NTC2 | 100kΩ,B3950,1% | 2 | 分别检测底盘与上盖温度;探头封装、耐温等级和绝缘方式按实际安装位置选择。 |
| DS1 显示器 | 四位共阳或共阴LED数码管 | 1 | 显示时间、菜单、温度和故障码;极性必须与位选、段选驱动方案一致。 |
| R14-R21 段限流 | 330Ω参考,1/8W或1/4W | 8 | 分别用于A-G和DP段限流;按LED压降、扫描占空比和目标亮度计算,不直接照搬参考值。 |
| R22-R25 位选基极电阻 | 2.2kΩ参考 | 4 | 限制Q1-Q4基极电流,保证动态扫描时三极管可靠饱和且不超过MCU端口能力。 |
| BZ1 蜂鸣器 | 5V无源蜂鸣器 | 1 | 用于按键音、烹饪完成提示和故障报警。 |
| SW1-SW4 | 轻触按键,耐压12V以上 | 4 | 通过电阻梯连接AN3;阻值窗口需覆盖电阻误差、接触电阻和ADC噪声。 |
| R5、RK1-RK4 按键电阻梯 | 10kΩ上拉;0Ω/2.2kΩ/4.7kΩ/10kΩ参考 | 5 | 形成AN3按键电压窗口;量产前按VDD范围和ADC误差计算各按键判定边界。 |
| R1、R3 | 100kΩ,1%,1/4W | 2 | NTC分压上拉电阻,建议选低温漂器件。 |
| R2、R4 | 1kΩ,1%,1/8W或1/4W | 2 | ADC输入限流,并与C3、C4构成低通滤波。 |
| C1、C3、C4 | 100nF,X7R,耐压25V以上 | 3 | C1用于MCU高频去耦;C3、C4用于双路NTC采样滤波。 |
| C2 | 10μF,耐压10V以上 | 1 | 5V电源低频去耦,靠近MCU电源入口布置。 |
| R7、R8 | 100kΩ,0.5W,阻燃型 | 2 | H11AA1交流输入限流,串联分担功耗与耐压;须验证85%-110%额定市电范围内的过零脉冲。 |
| R9 | 330Ω,1/4W | 1 | MOC3063输入LED限流;根据5V电源和光耦触发电流复核。 |
| R10-R13、C8 | 360Ω、180Ω、10kΩ、100Ω;47nF/X2 | 各1 | 可控硅门极与RC吸收网络参考值,需结合功率器件、负载和EMC测试调整。 |
| F1 输入保险丝 | 慢断型,250VAC | 1 | 额定电流按整机输入功率、浪涌和线材承载能力确定,使用具有认证的保险丝及底座。 |
| F2 温度保险器 | 一次性温度保险器 | 1 | 与加热盘串联并贴近热源安装;动作温度根据结构热测试确定,不能由软件保护替代。 |
| MOV1 压敏电阻 | 14D471K参考 | 1 | 吸收市电浪涌;前端保护组合及失效防护按安规和浪涌等级设计。 |
| NTC3 浪涌抑制器 | 5D-9参考 | 1 | 限制上电浪涌电流,冷态阻值和稳态电流按电源模块输入特性选择。 |
| CX1、L1 | 0.1μF X2安规电容;共模电感 | 各1 | 构成交流输入EMI滤波;参数根据传导骚扰测试结果调整。 |
| PS1 隔离电源 | 220VAC转5VDC,3W以上 | 1 | 采用满足目标市场认证要求的隔离电源模块,输出电流应覆盖显示峰值、蜂鸣器和控制电路。 |
| J1-J5 连接器 | 防呆锁扣连接器,按电流分级 | 5组 | 连接NTC、显示按键板、调试口和功率板;市电连接器与低压连接器应物理隔离且不可互插。 |
4. 软件架构与烹饪流程
软件使用固定节拍调度,不在主循环中堆积阻塞延时:1ms任务刷新显示,10ms任务扫描按键,100ms任务采样温度并运行控制算法,1s任务处理阶段计时和界面更新。过零中断只累计功率并启动短门极脉冲。
启动流程
- 首先把加热控制脚设为关闭状态。
- 初始化时钟、GPIO、定时器、ADC、PWM、LVD和显示。
- 检查复位原因、双路NTC和过零输入。
- 读取EEPROM双副本,选择CRC正确且序号更新的一份。
- 自检通过后进入待机;异常则锁定加热并显示故障码。
烹饪状态机
| 阶段 | 控制策略 | 转移条件 |
|---|---|---|
| IDLE 待机 | 关闭加热,显示菜单和预约时间 | 用户确认启动 |
| PREHEAT 预热 | 高功率升温,同时监控升温斜率 | 温度进入沸腾识别区 |
| BOIL 沸腾识别 | 结合底盘温度、上盖温升和时间判断沸腾 | 连续满足沸腾条件 |
| ABSORB 吸水焖煮 | 中低功率间歇加热,控制上下温差 | 阶段时间完成 |
| FINISH 收水 | 短时功率补偿并防止底部过温 | 温度与时间达到标定值 |
| KEEP_WARM 保温 | 迟滞或定点PI控制 | 用户取消、超时或故障 |
| FAULT 故障 | 关闭加热,显示错误码并蜂鸣 | 受控复位或断电检修 |
具体温度阈值和阶段时间必须按内胆材质、加热盘功率、NTC B值、安装热阻、米水比例、海拔与目标口感进行整机标定,不能直接从通用文章复制到量产程序。
5. 核心代码
代码根据V1.1.4手册的寄存器名称和位定义独立整理,用于体现实现方法。中断向量、位定义、延时函数和端口宏需要与CMS IDE官方工程头文件对接。
5.1 12位ADC读取
#define ADC_GO 0x02u
#define ADC_ON 0x01u
#define ADC_CLK_FSYS_DIV32 0x80u
static unsigned int adc_read12(unsigned char channel)
{
unsigned char adcon1 = ADCON1 & 0x3Fu; /* ADFM=0,12位左对齐 */
if (channel & 0x10u) adcon1 |= 0x40u; /* CHS4 */
ADCON1 = adcon1;
ADCON0 = ADC_CLK_FSYS_DIV32 |
((channel & 0x0Fu) << 2) | ADC_ON;
delay_us(20); /* 按NTC分压源阻抗验证采集时间 */
ADCON0 |= ADC_GO;
while (ADCON0 & ADC_GO) { }
return ((unsigned int)ADRESH << 4) |
((unsigned int)ADRESL >> 4);
}
5.2 过零整周波调功
static volatile unsigned int heat_request_permille;
static volatile unsigned int burst_accumulator;
static volatile bit system_fault;
void zero_cross_isr(void)
{
HEAT_GATE = 0;
if (system_fault || (LVDCON & 0x80u)) return;
burst_accumulator += heat_request_permille;
if (burst_accumulator >= 1000u) {
burst_accumulator -= 1000u;
schedule_triac_gate_pulse_us(200u);
}
}
5.3 双NTC与状态机
void control_task_100ms(void)
{
unsigned int pan_adc = adc_median_filter(1u);
unsigned int lid_adc = adc_median_filter(2u);
signed int pan_c10, lid_c10;
if (ntc_is_open_or_short(pan_adc) ||
ntc_is_open_or_short(lid_adc)) {
fault_enter(FAULT_SENSOR);
return;
}
pan_c10 = ntc_table_to_c10(pan_adc);
lid_c10 = ntc_table_to_c10(lid_adc);
/* 示例保护值,量产前必须按整机热结构标定。 */
if (pan_c10 >= 1350 || lid_c10 >= 1200) {
fault_enter(FAULT_OVER_TEMPERATURE);
return;
}
switch (cook_state) {
case PREHEAT:
heat_request_permille = 1000u;
if (boiling_detected(pan_c10, lid_c10)) cook_state = ABSORB;
break;
case ABSORB:
heat_request_permille = heat_pi_control(980, pan_c10);
break;
case KEEP_WARM:
heat_request_permille = heat_pi_control(720, pan_c10);
break;
default:
heat_request_permille = 0u;
break;
}
}
5.4 LVD与EEPROM写入
#define LVD_LOW_FLAG 0x80u
#define EE_WRERR 0x08u
#define EE_WREN 0x04u
#define EE_WR 0x02u
bit eeprom_write_byte(unsigned char addr, unsigned char data)
{
unsigned char irq_state;
if (LVDCON & LVD_LOW_FLAG) return 0;
EEADR = addr;
EEDAT = data;
EECON1 = 0x30u; /* EETIME=10ms,EEPGD=0 */
EECON1 |= EE_WREN;
CLRWDT();
irq_state = irq_save_and_disable();
EECON2 = 0x55u;
EECON2 = 0xAAu;
EECON1 |= EE_WR;
NOP();
NOP();
irq_restore(irq_state);
EECON1 &= (unsigned char)~EE_WREN;
return (EECON1 & EE_WRERR) ? 0 : 1;
}
6. 安全保护与故障处理
| 故障 | 判定方法 | 处理 |
|---|---|---|
| NTC开路/短路 | ADC值进入上下极限窗口并持续多个采样周期 | 立即关闭加热,锁定故障 |
| 底盘或上盖超温 | 温度超过经整机验证的保护阈值 | 关闭加热,显示错误码并报警 |
| 升温异常 | 高功率运行后温升斜率不足 | 判断加热盘、传感器或功率回路异常 |
| 过零丢失 | 规定时间内未收到INT0过零脉冲 | 停止触发可控硅 |
| 低电压 | LVD_RES置位 | 关闭加热,禁止新EEPROM写入 |
| 程序异常 | 任务超时或WDT复位 | 加热脚保持硬件安全态,记录复位原因 |
7. 样机验证计划
- 校准双路NTC在常温、沸点和保护点附近的测量误差与重复性。
- 覆盖空锅、少量米、满载、冷水、热水和不同环境温度的烹饪曲线。
- 验证NTC开路、短路、松脱、过零丢失和加热器断路时能够安全停机。
- 测试可控硅在满功率、低占空比和频繁启停下的温升与浪涌裕量。
- 执行反复上电、瞬时掉电、棕断和WDT复位测试,检查状态恢复。
- 核对EEPROM双副本、CRC、写后回读和寿命预算。
- 完成ESD、EFT、浪涌、传导和辐射骚扰测试,以及整机安全认证要求。
8. 常见问题
8.1 选型与芯片资源
CMS79F133和CMS79F136用于电饭煲时如何选择?
需要直驱四位显示、双路测温、按键、过零、加热和蜂鸣器时优先选CMS79F136(SOP20,18个GPIO,18路12位ADC)。CMS79F133为SOP16,14个GPIO,14路ADC,外接显示驱动或功能较少时也能覆盖温度采样、过零、加热和按键功能。
CMS79F13x的程序存储器和RAM够用吗?
CMS79F13x系列提供8K×16程序存储器(ROM)和344×8通用RAM,配备68条指令系统和8级堆栈缓存器。对于3L-5L电饭煲方案,程序代码量通常在4K-6K×16之间,RAM占用约200-280字节,8K×16 ROM和344B RAM有充足余量。
CMS79F13x的工作电压和温度范围能否满足电饭煲需求?
CMS79F13x工作电压为2.0V-5.5V,16MHz主频下为2.6V-5.5V,8MHz下为2.0V-5.5V;工作温度范围-40℃至85℃。电饭煲控制板在隔离5V电源供电下工作,环境温度通常不超过70℃,完全满足要求。
CMS79F13x的ADC精度如何?测温够用吗?
CMS79F13x内置18路12位ADC,内建高精度1.2V基准电压(±1.5% @VDD=2.5-5.5V, TA=25℃),也可选择内部参考源2.0V/2.4V。12位ADC分辨率约0.8mV/LSB,配合100kΩ B3950 NTC在常温区约-0.3℃/LSB的分辨率,经查表插值后测温精度可达±1℃以内,满足烹饪控温需求。
CMS79F13x的程序EEPROM能擦写多少次?
CMS79F13x内置128字节程序EEPROM,可重复擦写10万次。本方案采用双副本保存策略,每次参数更新写两份共约32字节。以每天最多写入10次计算,EEPROM寿命可支撑超过27年,远高于电饭煲正常使用寿命。
8.2 硬件设计
为什么市电加热不直接使用PWM引脚?
MCU不能直接驱动市电负载,必须通过光耦隔离控制双向可控硅。本方案用H11AA1过零检测和整周波调功控制BTA16-600B,PWM仅用于无源蜂鸣器(PWM1)或低压功率级。
双路NTC测温需要占用几个ADC通道?
底盘NTC接AN1,上盖NTC接AN2,共占用2路ADC。CMS79F136支持最大18路ADC检测,剩余通道可用于AN3模拟按键和预留扩展。NTC推荐100kΩ B3950 1%,配合100kΩ上拉分压和1kΩ+100nF RC低通滤波。
过零检测电路为什么选用H11AA1而不是普通光耦?
H11AA1是双向输入光耦,交流正负半周均可导通,输出过零脉冲信号。普通单方向光耦只能检测半个周期,会丢失一半过零点信息,导致可控硅触发不对称,产生直流分量和谐波干扰。H11AA1配合施密特整形后送入RA0/INT0,确保每个过零点都被可靠捕获。
可控硅驱动为什么选择MOC3063而不是MOC3021?
MOC3063是过零型光耦,内部集成了过零检测电路,只在交流电压过零附近才触发输出,能有效抑制浪涌电流和EMI干扰。MOC3021是非过零型,任何时刻都可触发,适合需要相位调功的场合。本方案采用整周波调功策略,配合MOC3063的过零触发特性可进一步降低开关冲击。
按键为什么要用电阻梯而不是独立GPIO?
使用电阻梯接AN3(ADC通道),一个管脚即可识别4个按键,节省3个GPIO。在CMS79F133(SOP16,14个GPIO)上尤其重要,可腾出管脚用于显示或其他功能。本方案按键电阻梯参考值为0Ω/2.2kΩ/4.7kΩ/10kΩ,配合10kΩ上拉形成不同电压窗口。
LVD门限为什么选3.3V而不是2.0V?
CMS79F13x的LVD模块支持2.2V/2.4V/2.7V/3.0V/3.3V/3.7V/4.0V/4.3V共8种电压档位。选择3.3V门限是为了在5V电源开始明显跌落时提前响应:5V隔离电源正常纹波约±5%,3.3V门限提供了约1V的余量,确保MCU在电源崩溃前有足够时间关闭加热并禁止EEPROM写入。
LED动态扫描的刷新率多少合适?会闪烁吗?
本方案四位LED采用1ms任务刷新显示,每位显示250μs,刷新率为1kHz。人眼闪烁感知阈值约60Hz,1kHz远高于此,不会看到闪烁。位选三极管(S8050)在250μs内需完成导通和关断,需确保基极电阻配置合理,使三极管在动态扫描时可靠饱和。
8.3 软件与开发
CMS79F13x怎样实现电饭煲掉电记忆?
使用片内128字节程序EEPROM保存菜单和预约参数,采用双副本、序号、版本号和CRC8。参数稳定改变后再低频写入,LVD进入低压状态(3.3V门限)后禁止启动新的写操作。EEPROM可重复擦写10万次,配合合理的写入策略可满足产品全生命周期使用。
ADC参考电压选VDD还是内部基准?
NTC测温推荐选VDD作为ADC参考。因为NTC分压电路的上拉电阻也接VDD,当VDD波动时,分压比不变,ADC读数基本不受影响,可减小供电波动对比值测量的影响。如果选用内部1.2V基准,VDD波动会导致分压电压相对基准变化,反而引入误差。内部1.2V基准更适合测量绝对值信号(如电池电压检测)。
CMS79F13x的定时器资源如何分配?
CMS79F13x内置3个定时器:8位定时器TIMER0、TIMER2和16位定时器TIMER1。本方案建议TIMER0用于1ms系统节拍,TIMER2用于PWM输出(蜂鸣器),TIMER1用于烹饪阶段计时和超时监控。WDT作为独立看门狗,在任务超时或程序跑飞时复位系统。
CMS79F13x用什么工具开发和烧录?
中微官方提供CMS IDE集成开发环境,编译和仿真稳定可靠。但CMS IDE编辑器功能较弱(无定义跳转、无全局搜索、无代码格式化),推荐使用VS Code编辑代码,后台调用CMS IDE工具链编译,兼顾开发效率和编译正确性。烧录方面,CMS79F13x支持在线串行编程(ICSP),可通过专用调试器或UART串口烧录。
CMS79F13x的PWM模块有哪些特性?
CMS79F13x内置5路10位PWM模块,带互补输出功能,可设置成2路互补输出。4路PWM共用周期、独立占空比,1路PWM独立周期、独立占空比。本方案中PWM1用于驱动无源蜂鸣器,通过改变PWM频率输出不同提示音。官方电饭煲方案页提到使用2路10位PWM实现精密调节功率,如需低压功率调节可扩展使用PWM0和PWM1互补输出。
CMS79F136有配套的示例代码吗?
有。中微半导体官网提供CMS79F136_DemoCode(C语言)和CMS79F136_DemoCode汇编两个版本的驱动程序和样例程序,可在产品页“设计与开发”栏目下载。建议以官方DemoCode为基础搭建工程框架,再根据本方案的状态机和保护逻辑进行修改。
看门狗(WDT)在电饭煲程序中怎么用?
CMS79F13x的WDT溢出周期在芯片复位后默认128ms。电饭煲方案中,1ms任务、10ms任务、100ms任务和1s任务都在主循环中运行,只要主循环不阻塞,WDT就会被定期喂狗。如果某个任务超时(如ADC转换卡死或任务死循环),WDT不会被喂狗,128ms后自动复位,加热脚保持硬件安全态(外部下拉),确保安全停机。
程序跑飞时如何保证加热自动关闭?
三重保障:第一,硬件层面RA4(加热光耦控制脚)外部配置下拉电阻,MCU复位或引脚高阻时可控硅光耦自动关断;第二,WDT复位后启动流程第一步就是把加热控制脚设为关闭状态;第三,LVD低压状态下零中断直接返回,不累计功率也不触发门极脉冲。
8.4 方案与验证
CMS79F13x电饭煲方案支持哪些烹饪菜单?
官方方案支持煮饭流程自动控制,功能菜单丰富,可满足用户多种口感需求。本方案在此基础上实现了完整的烹饪状态机,包含IDLE待机、PREHEAT预热、BOIL沸腾识别、ABSORB吸水焖煮、FINISH收水、KEEP_WARM保温和FAULT故障共7个阶段。具体菜单数量和口感档位由EEPROM参数决定。
烹饪温度阈值怎么标定?
不能直接套用通用值。必须按实际内胆材质、加热盘功率、NTC B值、安装热阻、米水比例、海拔和目标口感进行整机标定。建议先在空锅和标准米水比条件下记录完整的升温曲线,然后根据沸腾识别特征点(底盘温度、上盖温升斜率和时间)确定各阶段的转移阈值。代码中的1350(135.0℃)和1200(120.0℃)仅为示例保护值,量产前必须重新标定。
可控硅散热片怎么选?
根据Q6(BTA16-600B)的损耗和允许结温计算。满载电流约6-8A时,BTA16-600B通态压降约1.5V,损耗约9-12W。在封闭整机环境温度50℃、允许结温125℃条件下,总热阻需求不超过6℃/W。需选择足够面积的铝散热片并涂导热硅脂,最终通过封闭整机满载温升测试确认。
为什么需要温度保险器?软件保护不够吗?
不够。温度保险器是一次性硬件保护装置,与加热盘串联并贴近热源安装,在软件失效(MCU死机、可控硅击穿短路直通)导致持续加热时提供最终保护。动作温度根据结构热测试确定,不能由软件保护替代。
样机验证需要覆盖哪些关键场景?
建议覆盖以下场景:(1)空锅、少量米、满载、冷水、热水和不同环境温度的烹饪曲线;(2)NTC开路、短路、松脱时的安全停机;(3)过零丢失和加热器断路检测;(4)可控硅满功率、低占空比和频繁启停的温升与浪涌;(5)反复上电、瞬时掉电、棕断和WDT复位的状态恢复;(6)EEPROM双副本、CRC、写后回读和寿命预算;(7)ESD、EFT、浪涌、传导和辐射骚扰测试。
9. 资料来源
中微单片机开发
-
中微单片机选型指南:从电压、内存、模拟外设到电机控制 | 瞰芯科技中微单片机选型指南先用供电范围、内核/算力、Flash 与 SRAM、ADC/PWM/通信接口、封装和量产状态做硬门槛筛选,再用样片实测验证功耗、模拟精度、电机保护和开发工具链。不要只按主频或“位数”选型,也不要把系列级参数直接套到每个订购型号
2026.10.31
-
中微单片机CMS8H130x快速测温体温计开发方案:PCB、原理图与核心代码中微单片机CMS8H130x快速测温体温计开发实现,包含开发套件PCB实物图、QFN32芯片图、应用原理图、系统框架图及24位ADC采样、温度换算、LCD显示和低功耗核心代码。
2026.10.20
-
CMS79F13x智能电饭煲方案|CMS79F136选型、硬件设计、控制流程与核心代码全解析(附原厂资料对照)基于CMS79F13x用户手册V1.1.4整理的智能电饭煲完整工程方案:CMS79F136(SOP20,18路12位ADC)主控选型,双路100kΩ B3950 NTC测温,H11AA1过零检测与MOC3063+BTA16-600B可控硅整周波调功,四位LED动态扫描,AN3电阻梯按键,PWM1蜂鸣器,128字节程序EEPROM双副本+CRC8掉电记忆,LVD 3.3V低压保护
2026.10.13
-
中微单片机开发高压FOC油烟机方案,三芯片架构的工程权衡与FOC原理深度解析中微半导单片机从工程视角拆解中微半导高压FOC油烟机方案:为什么用三芯片而不是单芯片?CMS32M6610无感FOC的坐标变换原理是什么?这套方案适合谁、不适合谁?含12个FAQ。
2026.9.19
-
CMS32W41x低功耗蓝牙键盘方案:电路、PCB、代码与测试案例 | 中微半导基于中微半导CMS32W413/CMS32W414的低功耗蓝牙键盘工程案例,包含官方方案框图、参考电路逻辑、开发套件PCB、矩阵扫描与BLE HID代码、BOM、低功耗状态机、烧录流程及测试计划。
2026.9.14
-
BAT32A237 + CMSA6164 汽车电子水泵:45–150W 无感FOC真实方案与核心代码 | 中微单片机代理基于中微半导公开英文方案核验的 BAT32A237 + CMSA6164 汽车电子水泵工程案例。包含官方系统框图、可实现的单分流无感FOC功率拓扑、采样与保护要点,以及原创C语言快速环代码框架。
2026.9.13
-
中微半导体BAT32A237汽车氛围灯方案:LIN自动寻址与RGB控制案例 | 中微单片机代理BAT32A237汽车氛围灯方案以Arm Cortex-M0+ MCU为控制核心,通过LIN总线与车辆控制端通信。MCU利用GPIO控制上拉和恒流源电路,通过采样电阻、电流放大及12-bit ADCB获得检测结果,再结合软件实现LIN节点自动寻址;三路高精度PWM经过驱动电路控制RGB灯的颜色和亮度结合新能源SUV六节点案例,
2026.9.4
-
中微半导新品单片机BAT32A253与BAT32A255区别、参数及车规MCU选型|瞰芯科技代理BAT32A253与BAT32A255有什么区别?瞰芯科技按6个具体订货型号解析封装、GPIO、ADC、触摸、DAC、PGA、LIN 2.2及2.5V至5.5V供电配置,帮助工程师完成车灯、开关、座椅和传感器节点选型
2026.8.26
-
高转速与大扭矩兼得:中微半导CMS32M6635FA 无感 BLDC 电动工具方案解析 | 瞰芯科技CMS32M6635FA 无感 BLDC 电动工具方案面向锂电电钻、冲击扳手等应用,集成六路 N 型 MOS 预驱、反电动势检测、PGA、ACMP 和高速 ADC,兼顾高转速、大扭矩、紧凑设计与多重保护
2026.8.17