一、解析串联稳压管电路
什么是串联稳压整流二极管电路?它的工作原理是什么?
如下图:
原理:
电路由极性保护二极管、滤波电容、电源调整管、稳压二极管与限流电阻等组成。D0为极性保护二极管,其作用是防止外接电源极性接反时,烧坏电路元器件,C1、C2为电源滤波电容,C3为电子滤波电容,T1、T2三极管为电源调整管,R1电阻给调整管T1、T2基极提供偏置电压,R1又是D1的限流电阻,R1的大小决定于整机电流的大小。
D1为T1、T2调整管的基极稳压二极管,D2为肖特基二极管是锗材料,正向压降约为0.3V,其作用是在电路中给调整管基极提升电压,使发射极的输出电压增高,给7738VCC提供电压,增大7738输出功率。
所以,在电路中R1决定输出电压的稳定性,如果阻值增大会使输出电压纹波增大,减小将会造成耗电量增加,阻值太小可能会烧毁稳压管D1。
二、极低成本的220V转5V电路——阻容降压电路
阻容降压是一种使用极少的元器件、极低的成本就能实现的交流市电转为直流低压的电路,经常用在体积受限、成本敏感的设备中。
这个电路是很多年前看到的,是一个非常经典的电路,出处不详,虽然简单但却很实用。
我把它在multisim里面重画了一遍,便于仿真分析,如下图所示:
下面我们把这个电路分成几个部分,分别分析一下。
先看最左边的部分:
市电交流220V输入之后,首先经过保险丝X2,提供过流保护的功能。然后经过X1和C1,X1是压敏电阻(这里由于mutilsim软件中没有压敏电阻的元器件,我画了一个滑动变阻器代替),主要是用于浪涌防护、防雷击;C6是安规电容,用于滤波。
这三个器件的作用,都是为了提高电路的安全性和电磁兼容性。
接着是R1和C1的组合,以及R2、R3:
电容C1在电路中是用于降压,因为电容可以通过交流,但是理想情况下又不会产生功率消耗。所以,选择一定容值的电容,在交流电通过时有一定的容抗;这个电抗效应与后端的电路串联,分走了一部分电压,可以起到降压的作用。C1的选取对整个电路非常关键,它的容抗的计算公式为Rc=1/(2πfC),容抗要与后端电阻分压,以得到合适的输出。C1耐压至少要400V,而且是无极性电容,可以选取CL21聚酯或者CBB21聚丙烯电容。
电阻R1用于C1的放电,是为了在断开供电后,C1上的电压能够快速泄放掉。一般要求R1*C1<T,T是时间常数,与市电频率有关,一般选取时间常数小于300ms。R1的耐压要超过市电的最高电压。
R2和R3是用于保护的,防止某些时候接触不良,在C1有电的情况下,与市电的电压叠加时,对后端的电路产生高压损伤。一般按经验值,取二者之和为40~50Ω之间。
接下来是两个二极管D1和D2,这部分很简单,就是半波整流电路。其实这里用全波整流桥也是可以的,但是两个二极管更省成本。
要注意的是所选择的二极管耐压和电流要足够。
接下来是下面的滤波部分,也比较简单,就是RC滤波。
需要注意的是这里的R4的取值,因为R4上会有电流通过,取值太大会浪费很多功率,但是取值太小又会减弱滤波的效果,同时也不能配合后端的稳压管进行稳压,所以需要综合考虑。
最后是稳压管和负载,稳压管工作时是需要和前面串联的R4电阻相互作用的,否则不能稳压。D3选取时,选择与我们需要的电压值最接近的稳压管即可。
这里也需要注意稳压管的功率,由于输出电压是靠稳压管来调节的。加入负载和不加负载时,这部分电路的电流的变化要由稳压管来调节,所以需要验算一下在最大和最小输出功率的情况下,稳压管是否还能在稳压状态下工作。
好了,到这里,电路就分析完了。其实整个电路的核心,就是完成了降压、整流、滤波、稳压这几个功能。
我们再做一下电路的仿真:
可以看到,半波整流、电容滤波后的电压,差不多在6V~8V;再经过RC滤波、稳压管稳压后,基本稳定在5.1V左右,而且波动很小。
同时,也注意到,这个状态下,负载电流很小时,大部分电流都从稳压管上流过去了,效率是比较低的。当负载电流增大时,可以预见R4上的压降也会增加,有可能会导致稳压管上的电压达不到5.1V。所以阻容降压电路不太适用于负载变化较大的情况,一般用于负载基本不变的场合。
此外,由于阻容降压电路,即使经过了降压,也还有一端直接连接到了市电220V电线上,所以是有一定触电危险性的,一般只能用在人体不会触碰到的场合。
除了上面分析的这种形式,阻容降压还有很多其他的实现方式,但其核心大多都是采用电容串联降压,之后再整流,最后滤波、稳压,这里我收集了一些类似的电路,有兴趣的可以自己分析一下:
下面这个电路中简化了滤波电路:
下面这个电路,把稳压管也用到了整流功能中,又省了一个二极管;并滤波电路也简化了:
三、STM32在线IAP升级
主要讲解在线升级IAP的基础知识, 主要是针对IAP 从原理分析, 分区划分, 到代码编写和实验验证等过程阐述这一过程. 帮助大家加深对在线升级的认识.
1. 在线升级知识
什么是BootLoader?
BootLoader
可以理解成是引导程序, 它的作用是启动正式的App应用程序
. 换言之, BootLoader
是一个程序, App也是一个程序, BootLoader程序
是用于启动App程序
的.
STM32中的程序在哪儿?
正常情况下, 我们写的程序都是放在STM32片内Flash中(暂不考虑外扩Flash). 我们写的代码最终会变成二进制文件, 放进Flash中 感兴趣的话可以在Keil<