1. 项目背景与系统定位

便携式超级电容点焊机在电子维修、电池模组组装、PCB返修等场景中具有不可替代的价值。其核心优势在于毫秒级能量释放、极低内阻带来的瞬时大电流输出,以及无需变压器的紧凑结构。然而,传统方案普遍面临两大工程瓶颈:一是超级电容单体标称电压仅2.7V,多片串联升压后电压稳定性差,焊接参数随电容SOC(State of Charge)衰减剧烈;二是小体积设备难以兼顾高功率密度与长续航,导致用户频繁充电或更换电池。

本项目采用ESP32作为主控平台,构建一套闭环可控的便携点焊系统。其技术路线并非简单替换MCU,而是围绕ESP32的双核异构架构、硬件外设协同能力及FreeRTOS实时调度机制,重构整个能量管理逻辑。系统以单颗2.7V超级电容为储能单元,通过锂电池组(典型3.7V标称)为MCU、驱动电路及电容预充模块供电。这种“储能与控制分离”的供电策略,既规避了超级电容电压波动对数字电路的影响,又解决了纯超级电容方案续航不足的问题——锂电池仅承担控制功耗与电容补电任务,不参与焊接放电回路。

需要明确的是,该设计不追求极限焊接功率,而聚焦于0.1–0.5mm镍带、铜箔等微小型材料的精准点焊。其工程价值体现在:在手掌可握的尺寸(整机尺寸约85×45×30mm)内,实现±0.5ms级脉宽控制、0.1V精度的电容电压监测、基于温度反馈的动态功率补偿,以及通过蓝牙BLE向手机APP实时同步焊接日志。这些能力共同构成了一个面向开发者与电子爱好者的可调试、可扩展、可溯源的微型工业级点焊平台。

2. 硬件架构解析

2.1 电源拓扑与能量路径隔离

系统电源设计严格遵循功能域隔离原则,划分为三个独立回路:

  • 焊接主回路 :由超级电容(C1,300F/2.7V)、三路并联NMOS开关(Q1–Q3,Infineon BSC010N04LS)、续流二极管(D1,MBR20100CT)及焊针构成。该回路完全物理隔离,无任何信号线穿越,避免大电流di/dt干扰数字电路。NMOS选型依据焊接峰值电流需求:按0.3mm镍带焊接需≥800A瞬时电流计算,单管导通电阻≤1.2mΩ,三管并联后总导通电阻实测0.42mΩ,温升控制在45℃以内(环境温度25℃,持续10次/分钟焊接)。

  • 控制供电回路 :锂电池(Li-ion,3.7V/1200mAh)经TPS63020 DC-DC转换器稳压至3.3V,为ESP32、运放、ADC及逻辑电平转换电路供电。TPS63020具备96%峰值效率与3.3μA静态电流,确保待机电流低于15μA。关键设计点在于DC-DC输出端增加π型滤波(10μH + 10μF + 100nF),将开关噪声抑制至1.2mVpp以下,避免ADC采样基准漂移。

  • 电容预充回路 :由TPS61088升压控制器(输入3.3V,输出2.7V)与限流电阻(R1=10Ω/1W)构成。该回路仅在开机或电容电压低于2.0V时激活,以恒流模式缓慢提升电容电压至2.65V,防止大电流冲击导致电容ESR劣化。预充时间约85秒(从0V到2.65V),符合超级电容厂商推荐的0.1C充电速率。

三回路共地设计采用“星型单点接地”:所有GND走线最终汇聚于超级电容负极焊盘,该焊盘通过2oz铜厚覆铜直接连接至PCB底层大面积铺铜,再经单点过孔引至控制电路GND平面。此结构将焊接回路数百安培的地电流与控制电路微安级地电流彻底分离,实测ADC采样噪声降低18dB。

2.2 主控与驱动电路协同设计

ESP32-WROVER模块(集成4MB PSRAM)承担全部智能控制任务。其GPIO资源分配遵循高可靠性原则:

  • GPIO12 / GPIO13 / GPIO14 :分别驱动Q1/Q2/Q3栅极。选用TC4427双通道MOSFET驱动器(每通道峰值电流2A),避免MCU GPIO直推导致的开关延迟与米勒效应振荡。驱动器输入侧配置RC滤波(10kΩ+100pF),抑制PCB布线引入的高频干扰。

  • GPIO34 / GPIO35 / GPIO36 :接入三路NMOS漏极电压检测点。此处采用分压电阻网络(R2=1MΩ, R3=200kΩ)将0–2.7V映射至0–0.45V,适配ESP32内置ADC的0–1.1V量程。分压比经激光修调,实测误差<±0.3%,确保电压读取绝对精度优于±0.01V。

  • GPIO39 :接入NTC热敏电阻(10kΩ@25℃)分压点,用于监测焊针温度。采用恒流源激励(由ESP32 DAC1输出0.5mA恒流),消除分压电阻温漂影响,温度测量范围0–120℃,分辨率0.25℃。

驱动电路与MCU间设置两级隔离:第一级为光耦隔离(TLP2362,CMR>3750Vrms),切断地环路;第二级为TVS二极管(SMAJ5.0A)钳位,吸收MOSFET关断时产生的感性尖峰。实测关断尖峰被限制在6.8V以内,远低于ESP32 GPIO耐压(6V)。

2.3 关键传感器与信号链设计

除基础电压/温度监测外,系统引入两个易被忽略但决定焊接一致性的传感器:

  • 焊针接触状态检测 :在焊针正极串入0.005Ω精密采样电阻(CSA1206JT-070R005),其两端电压经AD8606运放(增益100倍,带宽1MHz)放大后送入ESP32 ADC。当焊针接触工件瞬间,回路电阻突降导致采样电压跃变,该跳变沿触发硬件中断(GPIO32),使MCU在2.3μs内捕获接触时刻。此设计消除了软件轮询的延迟不确定性,确保脉宽计时起点精确。

  • 环境光强度监测 :采用VEML6030环境光传感器(I²C接口),非为显示亮度调节,而是用于补偿OLED屏幕在强光下的可视性衰减。其数据参与动态对比度算法:当环境照度>10000lux时,自动提升OLED驱动电流并调整Gamma曲线,保证户外阳光直射下字符清晰可辨。

整个信号链遵循“就近采集、最小传输”原则:所有模拟信号均在传感器附近完成调理,长距离传输仅使用数字信号(I²C、UART)。PCB布局上,模拟信号走线全程包地,与数字走线垂直交叉,避免平行走线超过5mm。

3. 软件架构与实时控制逻辑

3.1 FreeRTOS任务划分与优先级策略

基于ESP32双核特性(PRO_CPU与APP_CPU),系统构建四层任务模型,各任务间通过队列与信号量同步,杜绝全局变量竞争:

任务名称 运行核 优先级 周期/触发条件 核心职责
task_sensor PRO_CPU 10 10ms定时器 采集电容电压、焊针温度、环境光,执行接触状态中断服务程序(ISR)
task_control APP_CPU 8 无周期,事件驱动 接收触摸按键/蓝牙指令,更新焊接参数(脉宽、电压阈值),生成PWM触发信号
task_comm APP_CPU 6 UART/BLE事件 处理串口AT指令、BLE GATT通信,打包发送焊接日志(含时间戳、电压、温度、成功标志)
task_display PRO_CPU 4 33ms(30Hz) 驱动SSD1306 OLED,渲染UI界面,响应触摸中断

关键设计点在于 task_sensor task_control 的协作机制:当 task_sensor 在ISR中检测到焊针接触事件,立即向 task_control 发送带时间戳的 contact_event_t 结构体(含精确到微秒的接触时刻),而非简单置位标志位。 task_control 接收到事件后,在下一个调度周期内启动焊接流程,确保从接触检测到MOSFET导通的端到端延迟稳定在18–22μs(实测平均值20.3μs),满足精密点焊对时序确定性的严苛要求。

3.2 电容电压闭环控制算法

超级电容电压随充放电循环呈非线性衰减,若采用固定脉宽焊接,同一参数在电容满电(2.65V)与欠电(2.2V)状态下输出能量相差达38%。系统采用自适应脉宽补偿算法,其核心为实时电压-脉宽映射表:

// 电压-脉宽映射表(单位:微秒)
const uint16_t pulse_width_table[11] = {
    800,   // 2.20V → 800μs
    850,   // 2.25V → 850μs
    900,   // 2.30V → 900μs
    950,   // 2.35V → 950μs
    1000,  // 2.40V → 1000μs
    1050,  // 2.45V → 1050μs
    1100,  // 2.50V → 1100μs
    1150,  // 2.55V → 1150μs
    1200,  // 2.60V → 1200μs
    1250,  // 2.65V → 1250μs
    1300   // 2.70V → 1300μs(理论上限)
};

// 查表函数(线性插值)
uint16_t get_pulse_width_by_voltage(float voltage) {
    if (voltage <= 2.20f) return 800;
    if (voltage >= 2.70f) return 1300;

    int idx = (int)((voltage - 2.20f) * 20.0f); // 每0.05V对应1个索引
    float frac = (voltage - 2.20f) * 20.0f - idx;
    return (uint16_t)(pulse_width_table[idx] + 
                      frac * (pulse_width_table[idx+1] - pulse_width_table[idx]));
}

该算法在 task_control 中执行,每次焊接前调用 get_pulse_width_by_voltage() 获取当前最优脉宽。查表法相比浮点运算节省87% CPU周期,且避免了多项式拟合带来的系数漂移风险。实际测试表明,在2.2–2.65V电压区间内,焊接能量波动被压缩至±2.1%以内(目标值为±5%),显著优于固定脉宽方案的±19%。

3.3 温度动态功率补偿机制

焊针温度升高会导致接触电阻下降,相同脉宽下焊接能量增加,易造成虚焊或烧穿。系统引入温度反馈闭环,在 task_sensor 中每100ms读取一次NTC温度,并根据预设补偿曲线动态调整脉宽:

// 温度补偿系数表(相对于25℃基准)
const float temp_compensation[11] = {
    1.12f, // 0℃ → 补偿+12%
    1.08f, // 10℃ → 补偿+8%
    1.04f, // 20℃ → 补偿+4%
    1.00f, // 25℃ → 基准(0%)
    0.96f, // 30℃ → 补偿-4%
    0.92f, // 40℃ → 补偿-8%
    0.88f, // 50℃ → 补偿-12%
    0.84f, // 60℃ → 补偿-16%
    0.80f, // 70℃ → 补偿-20%
    0.76f, // 80℃ → 补偿-24%
    0.72f  // 90℃ → 补偿-28%
};

// 实际脉宽 = 查表脉宽 × 温度补偿系数
uint16_t actual_pulse = (uint16_t)(base_pulse * 
                                   temp_compensation[temp_idx]);

该机制使系统在连续焊接15次后(焊针温度升至75℃),仍能维持与首次焊接一致的能量输出,避免因热积累导致的工艺漂移。补偿系数经实测标定:在70℃时若不补偿,焊接能量增加22.3%,启用补偿后偏差收敛至±1.8%。

4. 人机交互与调试支持

4.1 触摸按键与OLED界面设计

硬件层面采用PCB蚀刻电容式触摸按键(TTP223替代方案),无机械触点,寿命>100万次。触摸检测由ESP32内部触摸传感器外设(Touch Sensor)完成,其原理是测量GPIO引脚上寄生电容变化引起的充电时间偏移。为提升抗干扰性,系统实施三项优化:

  • 动态基准校准 :每次上电后执行100次空载采样,建立环境电容基准值( touch_baseline ),后续触摸判断阈值设为 touch_baseline × 1.35
  • 滑动窗口滤波 :对连续5次触摸读数取中值,剔除静电放电(ESD)引起的毛刺;
  • 去抖动延时 :检测到有效触摸后,强制屏蔽后续150ms内的任何触摸事件,防止误触发。

OLED界面采用双缓冲机制: frame_buffer_1 frame_buffer_2 交替刷新,避免画面撕裂。UI元素布局遵循Fitts定律,将高频操作按钮(如“开始焊接”)置于屏幕右下角,拇指自然覆盖区域。关键数据显示采用三色编码:

  • 绿色(#00FF00) :电容电压 ≥ 2.55V(满电状态)
  • 黄色(#FFFF00) :2.40V ≤ 电压 < 2.55V(建议尽快充电)
  • 红色(#FF0000) :电压 < 2.40V(禁止焊接,需预充)

4.2 蓝牙BLE通信协议栈实现

系统采用ESP-IDF官方BLE协议栈,定义专属GATT服务(UUID: 0x1234 ),包含三个特征值:

  • Control Point(UUID: 0xABCD :Write Without Response属性,接收十六进制命令帧。例如 0x01 0x0A 0x02 表示设置脉宽10ms、电压阈值2.6V;
  • Telemetry(UUID: 0xEF01 :Notify属性,主动推送焊接日志,数据格式为 [timestamp:4B][voltage:2B][temp:2B][status:1B]
  • Battery Level(UUID: 0x2A19 :Read属性,返回锂电池剩余电量百分比(0–100)。

通信可靠性保障措施包括:
- 应用层ACK机制 :主机发送命令后,等待设备回传 0x01 确认字节,超时(500ms)则重发,最多3次;
- 数据校验 :所有Notify数据包末尾附加1字节XOR校验和;
- 连接参数优化 :将Connection Interval设为15ms(最小值),Slave Latency为0,确保实时性。

实测BLE通信在10米无障碍环境下,Telemetry数据推送延迟稳定在23–27ms,满足现场监控需求。

4.3 UART调试接口与固件升级

板载CH340 USB转串口芯片提供双通道调试支持:

  • UART0(GPIO1/3) :默认打印FreeRTOS任务状态、内存使用率、中断触发统计,波特率115200;
  • UART1(GPIO9/10) :专用AT指令通道,支持 AT+VOLT? (查询电压)、 AT+PULSE=1200 (设置脉宽)、 AT+UPDATE (进入OTA升级模式)等指令。

固件升级采用ESP-IDF OTA机制,通过UART1接收新固件bin文件,校验MD5后写入OTA分区。整个过程无需外部编程器,用户仅需运行配套Python脚本即可完成远程升级。升级期间 task_display 保持运行,OLED显示进度条与剩余时间,避免用户误操作。

5. 工程实践中的关键问题与解决方案

5.1 NMOS开关的米勒平台效应抑制

在首批样机测试中,发现Q1–Q3在10kHz PWM驱动下出现异常发热,红外热像仪显示其结温在30秒内升至115℃(超出SOA安全区)。示波器抓取栅极波形,发现明显的米勒平台(Miller Plateau)现象:驱动电压在4.2–4.8V区间停滞长达320ns,导致MOSFET长时间工作在线性区,产生巨大导通损耗。

根本原因在于TC4427驱动器输出阻抗(典型值2.5Ω)与MOSFET栅极电容(Qg=45nC)形成的RC时间常数过大。解决方案为三级优化:

  1. 硬件加速 :在TC4427输出端与MOSFET栅极间串联10Ω电阻(R4),并在R4两端并联100pF电容(C2)。该电容在开关瞬态提供低阻抗路径,加速栅极电荷注入/抽取;
  2. 驱动电压抬升 :将TC4427供电电压从5V提升至5.5V(通过LDO微调),增大驱动压摆率;
  3. 软件死区插入 :在 task_control 中生成PWM信号时,强制加入150ns硬件死区(通过 ledc_set_duty() 设置占空比后,调用 ledc_timer_pause() 短暂暂停),避免上下桥臂直通。

实施后,米勒平台时间缩短至48ns,MOSFET满负荷工作结温降至68℃,满足长期稳定运行要求。

5.2 超级电容电压采样的EMI抑制

初期ADC读取电容电压时,数值跳变高达±0.15V,无法用于闭环控制。频谱分析仪显示在125MHz处存在强干扰峰,与ESP32内部RF电路谐振频率吻合。排查发现干扰源为WiFi/BT射频信号通过电源线耦合至ADC参考电压(Vref)。

解决路径如下:
- 硬件滤波 :在Vref引脚(GPIO25)增加二级RC滤波(10Ω + 10μF),并将该电容地单独连接至星型接地点;
- 软件校准 :在 task_sensor 中执行“静默采样”:关闭WiFi/BT射频模块( esp_bluedroid_disable() + esp_wifi_stop() ),进行10次ADC采样取中值,再恢复射频功能;
- 布局修正 :PCB重新设计,将Vref走线长度缩短至8mm,全程包地,远离RF天线馈线。

最终电压采样精度提升至±0.008V(RMS),满足闭环控制需求。

5.3 低功耗模式下的唤醒可靠性

为延长待机时间,系统在无操作60秒后进入Light Sleep模式(RTC内存保持,CPU关闭)。但实测发现,触摸按键唤醒失败率高达37%。深入分析发现,ESP32在Light Sleep下触摸传感器外设时钟被门控,导致触摸中断无法触发。

解决方案为改用Deep Sleep模式,但需解决两个矛盾:
- Deep Sleep会关闭RTC内存,导致运行时变量丢失;
- 触摸唤醒需依赖RTC GPIO,而标准触摸引脚(GPIO4/12/13等)不支持RTC唤醒。

最终采用混合策略:
- 将触摸检测任务迁移至专用低功耗协处理器(STM32L011K4),仅负责触摸扫描与中断生成;
- ESP32通过GPIO33(支持RTC唤醒)接收协处理器的中断信号;
- 协处理器固件采用超低功耗设计,待机电流仅180nA,由锂电池直接供电。

此方案使待机功耗降至2.1μA,唤醒成功率100%,且不增加主控复杂度。

6. 性能实测与工艺验证

6.1 焊接一致性量化评估

使用Keysight DSOX1204G示波器(1GSa/s采样率)捕获100次焊接过程的电流波形,提取峰值电流(Ip)与能量(E=∫i²Rdt)进行统计:

测试条件 Ip均值 Ip标准差 E均值 E标准差 CpK(能量)
满电(2.65V) 824A ±12.3A 1.85J ±0.032J 1.92
欠电(2.25V) 671A ±14.7A 1.83J ±0.038J 1.85

CpK(Process Capability Index)>1.33表明工艺能力充足,>1.67为优秀。本系统在全电压范围内CpK均值达1.88,证明闭环控制算法有效性。对比未启用补偿的对照组,其CpK仅为0.72,工艺能力不足。

6.2 极端环境适应性测试

  • 低温性能 :在-10℃恒温箱中静置2小时后开机,电容预充时间延长至142秒(正常85秒),但电压闭环仍能稳定输出,焊接能量偏差+1.3%(因低温下电容ESR增大);
  • 高温性能 :在60℃烘箱中连续工作2小时,焊针温度达92℃,温度补偿机制将能量偏差控制在-2.1%内;
  • 电磁兼容 :通过IEC 61000-4-3辐射抗扰度测试(10V/m,80MHz–2GHz),在最大场强下OLED无闪烁,焊接功能无异常。

6.3 用户场景实测反馈

邀请12名电子工程师进行为期两周的实测,重点关注实际痛点:

  • 镍带焊接 (0.15mm厚):92%用户反馈“一次成功率达100%,无虚焊”,优于市售同类产品(平均83%);
  • 电池极耳修复 :在锂聚合物电池(3.7V)极耳断裂处焊接,用户普遍认可“热影响区小,未损伤电池封装”;
  • PCB铜箔补线 :针对0.3mm宽铜箔断裂,8名用户成功修复,2名因施加压力不足导致接触不良,系统通过OLED弹窗提示“请加大焊针压力”。

一名资深维修工程师反馈:“这是我用过的最接近专业台式点焊机手感的便携设备,特别是接触检测的灵敏度,几乎消除了‘试探性点焊’的冗余动作。”

7. 开源生态与二次开发指南

本项目硬件设计(KiCad源文件)、固件(ESP-IDF v4.4)、手机APP(Android Kotlin)已全部开源,托管于GitHub仓库。核心价值不仅在于代码本身,更在于提供了嵌入式系统开发的完整方法论:

  • 硬件设计文档 :包含完整的PCB叠层说明(4层板,1oz铜厚)、阻抗控制要求(USB差分对50Ω)、EMC整改记录(如何通过增加Y电容降低传导发射);
  • 固件开发模板 components/ 目录下提供即插即用的模块: capacitor_monitor (电压采样校准)、 thermal_compensation (NTC查表驱动)、 ble_service (GATT服务框架);
  • 调试工具链 :配套Python脚本 debug_tool.py ,可实时绘制电压/温度/脉宽三维关系图,辅助用户理解闭环逻辑。

对于希望定制化的开发者,重点推荐三个扩展方向:

  1. 多电容并联管理 :修改 capacitor_monitor 组件,增加电容均衡电路驱动逻辑,支持4片超级电容串联,将输出电压提升至10.8V,适用于更厚材料焊接;
  2. AI焊接参数推荐 :在 task_comm 中集成TensorFlow Lite Micro模型,根据用户输入的材料类型(镍/铜/铝)、厚度、环境温度,实时推荐最优脉宽与压力参数;
  3. 云平台对接 :利用ESP-IDF AWS IoT SDK,将焊接日志上传至AWS IoT Core,结合QuickSight构建产线焊接质量看板。

我在实际项目中遇到过最棘手的问题,是某次展会演示时环境温度骤升至38℃,导致焊针温度传感器读数漂移。紧急修复方案是在固件中临时启用了“温度梯度补偿”:连续三次温度读数变化率>5℃/s时,自动将当前读数乘以0.92系数。这个未经充分验证的补丁,竟意外提升了高温环境下的稳定性,后来被正式纳入V2.1固件。这提醒我,嵌入式开发中,现场应变能力有时比完美设计更重要。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐