Hello World by 阿水

何须更问浮生事,只此浮生是梦中 鸟窠禅师《无题》

0%

hello world by 阿水

你好,我叫阿水,一个来自北方小城的漂泊少年,知世故而不世故,倦飞之鸟。思久欲知,知繁渴思,天地一蜉蝣。

60294580_p0_master1200.jpg

开关电源设计之:AP法的公式推导

1 前提条件

由变压器基本公式可得下列表

序号 说明
1 忽略磁芯的磁阻,全部能量在气隙中
2 气隙量较大,磁导率 $u_{r} $接近常数,且不触发磁饱和
3 气隙中磁通密度为均匀分布
4 气隙中磁场强度$H$

2 基本磁心公式

阅读全文 »

1 设计流程

1.1 输入端

名称 作用 注意事项
输入侧:浪涌保护 输入侧防止启动电压过高 TVS
压敏电阻
放电气体管
浪涌控制:有源浪涌抑制电路(晶闸管启动电路)
输入侧 第2步:电磁兼容 主要抑制传导噪音
辐射噪音靠机壳抑制
滤波器插入损耗的设计(共模和差模)
输入侧 第3步:输入侧的整流与滤波 PFC电路
输入电容
浪涌抑制电阻()
启动电路 软启动和低压禁止 输入电容充满电后再启动(软启动)
低压禁止,防止过电流,而且驱动控制等模块
需要稳定的电压才能工作。
接通电压过冲 建立正确的状态之前,输出电压会超出正确值。
此为接通电压过冲

1.2 工作运行中

名称 作用 注意事项
过压保护
欠压保护
过载保护 超功率限制
输出恒流限制
熔断器或跳闸
开关管缓冲电路 减少电压电流应力 一定程度降低变化率,减少视频干扰问题
ZCS ZVS 降低开关损耗 LLC的谐振电感与频率选择,DAB的谐振频率选择,体二极管和旁路电容的选择
阅读全文 »

参考网站

1 变频器专用电抗器与滤波器的区别

变频器专用电源滤波器和电抗器,都具有滤波功能,这点是毋庸置疑的,但是,变频器专用滤波器和电抗器,究竟有什么区别,下面简单的总结了一下,现将总结结果与各位分享之,如果有不同意见,欢迎批评指正。

2 构建方面

先从构件方面,来进行分析:变频器专用滤波器的主要构件包括:滤波电容、滤波电感和电阻,而电抗器的主要构件只有一个,那就是电感。举一个可能不是很恰当的例子:可以把电抗器看作是软启动器,变频器专用滤波器就是变频器。变频器专用滤波器比电抗器具有更强大的功能,但是,变频器专用滤波器也有不足的地方,就是其电感量没有电抗器大。所以,一般情况下,我们都是选用变频器专用滤波器,而非电抗器,就是这个原因。

阅读全文 »

LLC电路在不同工作频率下的区别

工作频率
$f_{s}<f_{r}$ 励磁电感$Lm$部分时间参与谐振,原边侧开关管零电压开通(ZVS),副边侧二极管零电流关断(ZCS)
$f_{s}=f_{r}$ 励磁电感$Lm$始终钳位(不参与谐振),整流二极管临界实现零电流关断(ZCS)
$f_{s}>f_{r}$ 励磁电感$Lm$始终钳位(不参与谐振),原边侧开关管零电压开通(ZVS)。但是,副边侧二极管无法零电流关断(ZCS),且存在反向回复损耗。

$f_{s}$开关频率,$f_{r}$谐振频率

开关电源补偿环路设计(1):基础部分-以Buck 为例

前提说明:这些内容本质上是对相关书籍的整理

强烈推荐:电源设计基础

一:buck变换器建模

buck变换器是最简单而经典的开关电源拓扑之一,其详细组成可见图1。

图1-1 buck变换器详细补偿环路图
图1-2 buck变换器补偿环路简图
图1

阅读全文 »

环路补偿示例(例子)

为了说明使用Ⅲ型补偿方案的设计过程,以电压模式、CCM模式的Buck非隔离变换器为例。变换器相关规格如下

首先,需要定义PWM级的增益

接下来,将双极点的位置置于输出端滤波器的截止频率处

​ 事实上,还需要考虑输出电容的等效串联电阻(ESR),另外还有许多寄生参数会影响元件的性能。例如,电感绕组中存在串联的直流电阻和并联电容,而输出电容也会包含一些小的串联电感,但是对于这一层面的分析,其中大部分通常可以忽略不计。
​ 但是,电容的ESR是一个例外,因为我们很快就会看到,它足够大并可能影响我们感兴趣的频率范围内的性能。请注意,元器件制造商经常对这个数的定义并不明确,并且以非常保守的最大值作为指定值并写入规格书中同时 ESR具有一个负温度系数,所以应该考虑最低温度下的情况。
​ 因此,我们通常必须进行假设,ESR可以具有从0到最大最坏情况值的任何值,在本例中可以高达10mΩ。因此,这个电容ESR会引入一个零点,从而在如下频率处增加滤波器的增益∶

阅读全文 »

1数据拆分

1
2
3
4
5
6
7
8
9
10
11
typedef unsigned char u8;
typedef double f64;
typedef unsigned long long u64;

//拆分数据
void dataSplit(f64 data,u8 *buf)
{
for(int i=0;i<8;i++)
buf[i]=(*((u8 *)(&data)+i));
}

(&data)取出原始数据data的地址
(u8 )(&data),用一个u8(即unsigned char)型指针指向这个地址
((u8
)(&data)+i),指针加减法会移动指向位置,这里按u8长度为一个单位进行移动,从而依次指向原始数据中的每一段u8数据
(((u8 )(&data)+i)),将这个指针的值取出,也就是取出了原始数据中的每一段u8数据的值

2数据整合

1
2
3
4
5
6
7
8
9
10
11
12

//拼接数据
f64 dataAssmeble(u8 *buf)
{
u64 temp=buf[8];
for(int i=6;i>=0;i--)
{temp=(temp<<8)|buf[i];}

f64 *data=(f64*)(&temp);
return *data;
}

阅读全文 »