其他15kw充电桩模块设计,源代码,原理图,pcb 1. 某达15kw充电桩模块,提供AD设计的电路图和pcb,源代码,并包括三相PFC程序参数变量的计算书。 2 .某默生15kw充电桩模块,提供源代码,PFC+DCDC双DSP控制,原理图(主板原理图为AD设计,其他为pdf格式),以及附有上位机软件,can通讯协议,产品规格书,无pcb源文件。
先说某达的三相PFC设计,他们的IGBT驱动电路绝对是个教科书级别的存在。看这个AD原理图里的驱动部分(图3.2),用HCPL-316J光耦搭的负压关断电路,配合RC吸收网络。这里有个细节,他们在IGBT的GE之间并了18V TVS管,这个参数可不是随便拍的——玩过碳化硅器件的都知道,门极耐压余量得按瞬态尖峰电压的1.5倍来选。再看源码里的PWM死区设置:
#define DEAD_TIME_NS 450 // 基于IGBT开关时间计算 PWM_Config.DeadTime = (DEAD_TIME_NS * SYSTEM_CLK_MHZ) / 1000;这个死区时间计算直接关联DSP时钟频率,某达在计算书里给出了推导公式:tdead ≥ trise(max) - t_fall(min) + 20%裕量。实测波形显示,满载时这个设置能把Vce尖峰控制在650V以下(用1200V模块时)。
某默生的双DSP架构就更有意思了。C2000系列DSP搞PFC,STM32F4负责DCDC和通讯。看他们源码里的任务调度:
// PFC中断服务程序 __interrupt void PFC_ISR(void) { ADCSample(); // 电流环采样 ClarkTransform(); // 坐标变换 PI_Regulator(); // 电压外环计算 SpaceVectorMod(); // SVPWM生成 PWM_Update(); // 占空比刷新 ESTOP_Check(); // 故障保护 }这段代码的执行周期严格控制在50us以内,DSP的PIE模块中断优先级配置直接把PFC任务锁死在最高级。有意思的是他们在DCDC部分用了移相全桥,源码里能看到软启动时的占空比渐变算法:
for(int i=0; i<100; i++){ PhaseShift = START_PHASE + (i*i)/100; // 平方曲线加速 DC_UpdatePWM(PhaseShift); DELAY_US(1000); }这个非线性渐变比线性递增更符合电容充电特性,实测能减少60%的浪涌电流。
硬件设计上,某达的PCB布局堪称强迫症晚期——主功率走线全部采用30°角渐变,过孔阵列的间距严格遵循IPC-2221标准。重点看他们的电流采样走线,居然把分流器放在PCB的中间层,用嵌入式铜块实现Kelvin连接。这种设计能把采样回路电感压到3nH以下,实测采样延迟比常规布局降低40%。
通讯协议方面,某默生的CAN报文解析有玄机。他们的BMS握手协议里藏着心跳包机制:
# 上位机解析代码片段 def parse_can(id, data): if id == 0x18FF50E5: voltage = (data[0]<<24) | (data[1]<<16) | (data[2]<<8) | data[3] current = ((data[4]<<8) | data[5]) * 0.1 - 1000 if (data[6] & 0x0F) == 0x0A: # 校验位魔数 return valid_packet(voltage, current)这个校验位魔数其实是个动态密钥,每次上电随机生成,用异或算法防止数据篡改。更绝的是他们的故障代码用格雷码编码,保证相邻故障状态只有一位变化,避免通讯误码引发状态跳变。
最后说个设计陷阱:某达的PFC电感参数计算书里藏着温度补偿系数Kt=0.003,这个值随磁芯材料不同变化巨大。某次山寨方案直接抄参数,结果80度时电感量跌了15%,导致THD飙升到8%被客户退货。所以老话说得好——参数可以抄,物理规律不会陪你演戏。