本帖最后由 happypcb 于 2023-10-30 21:29 编辑
#申请原创# #有奖活动#
一、方案名称 USB PD 20W充电器设计方案
二、方案简述 此方案是采用InnoSwitch3-Pro离线式恒压/恒流/恒功率准谐振反激式开关IC,实现20WUSB PD充电器电源设计,其中MCU部分可以自行选择,通过I2C协议编程实现与InnoSwitch3-Pro的通讯设计。主要是应用在USB type-C充电器电源中。
三、电源规格 拓扑结构:反激式 输入:交流默认值AC85-265V 50HZ 输出:USB PD 20W(5.0V-3A、9.0V-2.22A)
四、原理图设计
五、PCB设计 PCB的设计要求PI Expert中也给出了: 1 最大化源极区以利于散热 2 可选Y电容连接到初级侧另外的大容量电容干线,实现雷击保护 3 漏极和箝位环路应尽量短;使漏极元件远离初级旁路和输入欠压/过压引脚电路 4 BPP和BPS电容应靠近IC 5 6.4 mm放电针间隙。具有充足爬电距离的火花隙有助于通过Y电容等保护元件避开在静电放电(ESD)时产生的破坏性能量。 6 IS-GND检测电阻应靠近IC 7 将电压引脚检测电阻靠近电压引脚放置 8 将正激引脚检测电阻靠近IC 9 输出SF FET和输出滤波电容回路应尽量短
六、变压器设计 绕组参数与变压器的结构图:
七、设计评估: 损耗百分比图:
八、软件编程设计 通过软件编程指南可以通过I2C接口实现对InnoSwitch3-Pro的数字控制。 以下是部分编程示例: Voltage Increment Process
- //Voltage Increase Routine
- if(bVoltIncrease)
- {
- //Initial Command Sequence
- if(!bControlFlag_Increase)
- {
- I2C_Write16(INNO3PRO_ADDRESS ,INNO3PRO_OVA ,u8_Buffer_OVA ,WR_WORD);
- I2C_Write16(INNO3PRO_ADDRESS ,INNO3PRO_CV ,u8_Buffer_CV ,WR_WORD);
- bControlFlag_Increase = true;
- }
- if(bControlFlag_Increase)
- {
- //Check If Vout already reached 90% of the desired Set Point
- //if(Inno3Pro_Read_Volts() >(Inno3Pro_Get_Register_CV()*0.9))
- {
- //UVA must be written only after New Voltage Setpoint was reached, UVA is Fixed to 3V
- I2C_Write16(INNO3PRO_ADDRESS ,INNO3PRO_UVA ,u8_Buffer_UVA ,WR_WORD);
- //New Set Point Was Reached
- bVoutIncOk = true;
- bControlFlag_Increase = false;
- }
- }
- //Return Increment Voltage Status
- return bVoutIncOk;
- }
Voltage Decrement Process
- else //Voltage Decrease Routine
- {
- // UVA is Fixed to 3V
- I2C_Write16(INNO3PRO_ADDRESS ,INNO3PRO_UVA ,u8_Buffer_UVA ,WR_WORD);
- I2C_Write16(INNO3PRO_ADDRESS ,INNO3PRO_CV ,u8_Buffer_CV ,WR_WORD);
- // Immediately Executed after CV
- // Turn on Bleeder
- Inno3Pro_Bleeder_Enable(true);
- Do
- {
- bVout10pct_Flag = Inno3Pro_Read_Status_Vout10pct();
-
- } while (bVout10pct_Flag == true);
-
- //Disable Bleeder
- Inno3Pro_Bleeder_Enable(false);
- //OVA must be after Bleeder Turn Off to avoid OVP trigger
- I2C_Write16(INNO3PRO_ADDRESS ,INNO3PRO_OVA ,u8_Buffer_OVA ,WR_WORD);
-
- //New Set Point Was Reached
- bVoutDecOk = true;
- }
- //Return Decrement Voltage Status
- return bVoutDecOk;
-
- }
原理图:
PCB图:
BOM单:
编程指南:
|