聊聊国产6.6kW OBC硬核设计
OBC车载充电机6.6kw国内OBC车载充电机NO.1 硬件原理图和软件源码符合15年国标。最近拆解了一台号称国内出货量最大的车载充电机这玩意儿虽然长得方头方脑像个黑盒子但内部藏着不少有意思的设计。今天咱们不扯虚的直接上干货。硬件架构有点东西打开金属外壳主功率板上躺着三个显眼的平面变压器。这可不是为了堆料——全桥LLC拓扑结构用三路并联单路设计2.2kW。这种模块化设计有个好处当系统检测到某一路异常时比如散热片温度超过85℃可以自动切换到双路模式继续工作。原理图上那个带温度补偿的电流采样电路挺有意思// 温度补偿电流采样代码片段 float get_compensated_current(float raw_adc, float temp) { const float R25 0.005; // 25℃时采样电阻值 float R_actual R25 * (1 0.00393*(temp-25)); return (raw_adc * 3.3 / 4096) / (50 * R_actual); // 50是运放增益 }这个算法实时修正了采样电阻的温漂实测在-40℃到105℃范围内电流测量误差始终小于1.5%。硬件工程师偷偷告诉我他们为此做了上百次高低温循环测试PCB上的热应力消除结构都改了三版。软件里的国标密码OBC车载充电机6.6kw国内OBC车载充电机NO.1 硬件原理图和软件源码符合15年国标。翻看源码时发现个有趣的函数原来国标GB/T 18487.1-2015的通信协议被封装得相当巧妙void send_GB_frame(CAN_HandleTypeDef *hcan) { static uint8_t sequence_num 0; GB_Frame frame; frame.header 0x18FF50E5; frame.data[0] (obc_mode 4) | (fault_status 0x0F); frame.data[1] (uint8_t)(output_voltage * 10) 8; frame.data[2] (uint8_t)(output_voltage * 10); // ...其他数据打包 HAL_CAN_AddTxMessage(hcan, tx_header, frame.data, tx_mailbox); sequence_num (sequence_num 1) % 16; }每个CAN帧都带着实时充电状态和故障码最绝的是电压数据用了个10倍精度存储——明明国标只要求0.5%精度他们愣是做到了0.1%。测试组的兄弟说这是为了兼容出口车型未雨绸缪的设计。藏在EEPROM里的黑科技量产版本里有个自适应充电曲线功能核心算法居然用查表法实现# 充电功率自适应调整伪代码 def adjust_charging(batt_temp, line_voltage): temp_index clamp(batt_temp, -20, 55) 20 volt_index clamp(line_voltage, 180, 250) - 180 # 从EEPROM读取补偿系数 k eeprom_read(0x1000 temp_index*70 volt_index) return 6600 * k # 6.6kW基准功率这张补偿表是实验室拿实车跑了三十多种工况标定出来的。现场工程师吐槽为了通过国标的电压波动测试他们在地下车库通宵调试了半个月咖啡机都干废了两台。看完这套设计终于明白为什么这代OBC能坐稳头把交椅。硬件上该堆的料不含糊软件里该抠的细节不马虎最关键的还是吃透了国标里那些容易栽跟头的测试项——比如那个变态的10万次插拔寿命测试他们的连接器选型直接比竞品贵了五倍。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2433990.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!