基于 PIC16 系列的多功能电子烟(温控 + 电压控制 + 多模式)方案

基于 PIC16 系列的多功能电子烟(温控 + 电压控制 + 多模式)方案

一、芯片与最小系统

  1. 推荐型号:PIC16F18313/18323

    • 8-bit 内核,14/20-pin 小封装,成本低
    • 28 MHz 内部振荡,带 10-bit ADC(12 通道)、2×ECCP PWM(互补输出)
    • 4 个运放/比较器、硬件 CCP/CLC,适合温控闭环
    • 低功耗 Sleep < 0.5 µA,满足待机法规
  2. 最小系统

    • 3.3 V LDO + 1 µF + 100 nF 去耦
    • RST、PGC/PGD 两线仿真口
    • VBAT 检测分压到 RA0(ADC)做低电量提醒
    • SWIM 单线调试口留焊盘,便于量产烧录

────────────────────────
二、硬件拓扑(一次性 / 换弹式通用)

功能 关键器件 PIC16 引脚分配
电池管理 软包 3.7 V 400 mAh VBAT→RA0(ADC)
升压/降压 MT3608 5 V/6 W PWM1→RC5(推挽)
MOS 驱动 AO3407 PMOS RC2(PWM1) + RC3(PWM2 互补)
发热丝 0.1 Ω Ni200/Ti/SS316 一端接 MOS 漏极,另一端接 GND
温控采样 四线 Kelvin 电阻测量 RA1(ADC) 差分放大→RA2
咪头检测 MEMS 硅麦 RA3(比较器+) + 负压唤醒中断
LED 指示 3×WS2812 级联 RC0(SPI-SDO) 硬件 DMA 扫描
TFT 彩屏 0.96" IPS SPI1 + DMA 刷图
充电 TP4056 1 A 通过 ADC 监测 VBUS

────────────────────────
三、软件框架(MPLAB-X + XC8)

  1. 主循环状态机
Idle → Detect → Pre-heat → Normal → Power-down
  1. 温控算法

    • TCR 表:内置 Ni200/Ti/SS316 三档 TCR 系数,用户菜单切换
    • PID 参数:Kp=0.3, Ki=0.02, Kd=0.05(实测不震荡)
    • 干烧保护:1 ms 采样周期,ΔR/Δt > 阈值立即关断 MOS
    • 温度上限:用户可调 200–300 °C,默认 230 °C
  2. 多模式菜单(按键 / 触摸滑条)

    • Power Mode:1–80 W,步进 0.5 W
    • TC Mode:Ni/Ti/SS 三材质
    • Bypass Mode:直接电池电压输出
    • LED 灯效:彩虹 / 单色 / 呼吸
  3. 低功耗策略

    • Sleep 时关闭升压、LED,仅保留咪头中断唤醒
    • 待机电流 < 8 µA,满足欧盟 TPD 要求

参考项目 基于PIC16系列,多功能电子烟,温控、电压控制、多模式 youwenfan.com/contentcsa/69335.html
四、关键代码片段(XC8-C)

// 1. 读取线圈电阻(四线法,12-bit ADC)
uint16_t readR() {
    ADCON0bits.CHS = 1;            // AN1
    ADCON0bits.GO = 1;
    while(ADCON0bits.GO);
    return ((ADRESH<<8)|ADRESL);
}

// 2. PID 温控(1 ms 中断)
void __interrupt() ISR() {
    if (TMR0IF) {
        TMR0IF = 0;
        float R = readR()*0.0008f; // 标定系数
        float T = T0 + (R - R0)/TCR;
        float err = Tset - T;
        pwm += Kp*err + Ki*integral + Kd*(err-prev);
        setPWM(pwm);
    }
}

────────────────────────
五、量产注意事项

项目 要求
校准 每片 MCU 写入 TCR 曲线 + 25 °C 基准电阻
ESD MOS 栅极加 TVS,咪头信号线加 RC 滤波
安规 过流(8 A)、过温(80 °C)硬件保护 + MCU 软件双备份
测试 100 % 咪头灵敏度、LED 一致性、电池低电量关机测试

────────────────────────
六、总结

 

专注于matlab/simulink,电子电路,编程