购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 输出

1.1.1 最简单的I/O输出

CPU的I/O输出用来给外设提供信号,或者驱动外部执行设备。因此,合理设计I/O输出电路是产品稳定的必要条件。输出电路的设计需要考虑驱动的功率大小、频率、噪声等因素。以下首先介绍最基本的开关量输出,条件是输出开关频率很低。图1-1所示为最简单的驱动电路。

图1-1是最简单的驱动电路,由单片机出来的OUT信号通过R1驱动VT,R1 和R2的关系要按照VT所处的开关状态计算。也就是说,VT只有两种状态:断开与饱和导通,不允许出现放大状态。假设电压V CC 为10V,电阻上承受的功率超过2W。如果三极管处于放大状态,我们假设通过调节R1让三极管处于c、e之间有5V的压降,这样流过R2的电流是5/47安培(A)。三极管的功率为0.53W,由于8050三极管没有散热装置,因此在短时间内将很快发热,最后发烫,通过热辐射方式散热,如果安装在封闭机箱中,很快就会烧毁。

图1-1中给定负载R2,其实是要计算R1,根据I c * I b ,饱和情况下,VT的压降约为0.2V,I c ≈(V CC -0.2)/R 2 ≈0.209A。假设放大倍数β为60,I b 取3.5mA,单片机输出的OUT电压为4.8V,那么计算出通过R1的电流是(4.8-0.7)/R 1 =0.41mA。因此图1-1的设计不合理,在给定负载情况下,要求通过R1的电流至少是3.5mA,而实际只有0.41mA,会导致三极管烧毁。那么如何调整呢?可以通过降低R1的阻值,增大I b 实现。现在要求至少3.5mA,因此R 1 =(4.8-0.7)/0.003 5=1.171kΩ,考虑裕余量,设计R1的阻值为1kΩ。

以上的前提条件是开关动作不频繁,如果每1s内连续执行10次,则上述线路还是有问题的。问题出在什么地方呢?实际是由三极管从截止状态到饱和状态的过程必须经过放大状态引起的。因为经过放大状态是不可避免的,所以为了降低损耗,要尽量减少在放大状态停留的时间。如果输出的频率很高,三极管同样会发热烧毁。图1-2所示为三极管从截止到饱和的过程,特别要注意的是其中的转换过程。

img

图1-1 最简单的驱动电路

img

图1-2 三极管从截止到饱和的过程

由图1-2可知,t 1 和t 2 之间是三极管处于放大的状态,其时间长短与目前三极管输出的电流大小,输入的电流大小,b、e之间的电容大小都有关系,时间越长,对输出管越不利。对于输出频率高、电流大的场合,除了选用适合设计参数的晶体管外,还需要在电路上进行辅助的设计,用来尽可能减少变换的时间。也就是让信号变化期间变得陡直。

为了让信号变换显得陡直,需要从三极管的特性进行分析。三极管的集电极载流子受基极电流的影响,只要增大开通时的基极电流就能加快转换,如图1-3所示。可以看到,增加电容C1后,当OUT是高电平时,由于C1电压不能突变,将迅速通过C1向VT提供基极电流,这时的基极电流主要通过C1提供,随着时间的推移,C1充电后承受电压,基极电流将通过R1提供。

以上电路虽然解决了转换时间问题,但带来的副作用是对CPU输出引脚的冲击较大,因为开通瞬间VT的基极回路阻抗基本是VT自身的R be ,一种优化的方式是给C1串联电阻。

图1-4所示是改进后的基极驱动电路,其中,R3降低了开通瞬间的冲击。但是R3的选择必须合适,过大无法起到C1应有的作用,过小会带来冲击。

img

图1-3 加快转换的方法

img

图1-4 改进的基极驱动电路

1.1.2 感性负载对I/O输出的影响

前面提到的是单片机对电阻性负载的驱动问题。对于电感性负载,情况又是怎样的呢?图1-5中VT驱动了一个继电器,会有什么情况发生呢?

img

图1-5 驱动感性负载

一开始可能很正常,但过了一段时间,不知道什么原因,VT坏了。可能有人认为是VT质量不好,换一个VT修好了,以后也可能正常了很长一段时间,最后VT还是会损坏。原因就在于继电器线包其实是电感,当断开时有一个高压加在VT上面,非常容易击穿损坏VT。因为电感的电流不能突变,开通的时候没有问题,电流是慢慢上升的,当VT关断时,电感电流不能突变,根据u=L·di/dt 可知当电感量L一定时,VT的关断导致电流突然消失,di/dt很高,电压u也就很高,方向是上负下正,它和电源本来的电压V CC 叠加到三极管VT上,极有可能超过VT能够承受的击穿电压,导致VT击穿。因此,改进思路是让VT关闭时电感电流不会发生突变。从图1-6可以看到,当VT关闭后继电器通过D1续流,不会引起高压。

但是,如果OUT输出频率很高,图1-6是有问题的。

如图1-7所示,输出需要驱动一个直流电动机,如果直流电动机只是处于开与关两种状态,则没有问题。但如果需要对电动机进行降压调速,那么问题就来了。

img

图1-6 电感并接续流管

img

图1-7 电动机驱动

假设电动机M1只是做实验用的小电动机,电流为200mA左右,图1-7是可以用的。但假设驱动的电动机电流在1A以上,并且V CC 是15V,这时情况就大不一样。D1必须仔细选择,否则会烧毁VT。原因是D1若选用普通二极管,则反向恢复时间很长。假设频率是100kHz,反向恢复时间将非常重要。当电动机在调速运行时,如果VT关闭,电流通过D1续流,然后VT导通,由于D1存在反向恢复时间,不能马上截止。这就严重影响了VT,当VT导通时负载等效阻抗很小,VT的电流很大。由于开关频率很高,这个阶段重复出现的次数很多,导致VT发热烧毁。为此,必须选择快恢复的二极管。在低压大电流场合,选用肖特基管,其反向恢复时间很短;在高压场合,则选择快恢复管。

1.1.3 隔离输出

当输出需要控制强电的时候,要采用隔离。根据设计要求的不同,隔离方式有光电隔离和继电器隔离。继电器隔离主要是开关量,需要控制外设的启停场合。光电隔离主要用于频率较高且控制频繁的场合。这里主要讲解光电隔离的设计。

图1-8是基本的光电隔离电路。电路分为两个部分:光耦输入部分和输出部分。它们之间通过光传输信息,不存在电气上的关系。光耦输入端和普通的发光二极管驱动完全一样,一般电流为20mA。从输出端可以看到输出用的电源的电压大小与地和输入完全不同,通过隔离方式,图1-8所示电路把电压从单片机的5V转换成30V的输出,也就是Port端的电压是0和30V两种状态。

img

图1-8 光电隔离基本电路

以上电路对于低频率很适合,但在频率很高的情况下就存在问题。当频率很高时,由于光耦延迟等因素,输出的波形不再完全跟随输入。

图1-9是光耦延迟对信号的影响。其中横坐标是时间轴,纵坐标是电压大小,下面的二维坐标表示光耦输入电压和时间的关系,上面的二维坐标表示光耦输出电压和时间的关系。当信号频率很高的时候,这个影响非常明显,会导致输出信号波形畸变。为了减小信号畸变,需要采用高速光耦,如6N136等。

img

图1-9 光耦延迟影响

在中央处理器的隔离通信应用中,处理器必须与外界电气隔离。如图1-10所示,通信采用RS-485,波特率要求为115 200bps 这里如果用TLP521低速光耦,肯定无法满足要求,信号会发生畸变,与远程机器无法正常收发。图中采用了6N136高速光耦,能顺利解决高速通信的问题。其中有一个PC817是低速光耦,是用来对通信方向进行切换的,也就是让通信处于发送或者接收状态,无须用高速光耦,为的是降低成本。

img

图1-10 一个高速光耦隔离通信的例子

1.1.4 输出电压匹配

目前很多PCB上是3.3V 和5V的器件并存,在输出时如何将两者的电压匹配呢?这里分别讲述从3.3V到5V和从5V到3.3V器件之间的连接。图 1-11是通过三极管进行电压变换,将左边处理器的3.3V输出变换后,在IC1变为5V 输入。如果不用三极管,也可以选用专门的电压转换芯片,原理是一样的。而5V到3.3V的转换比较容易,直接通过电阻分压即可。

输出讲完后,下面介绍输入的处理。

img

图1-11 3.3V到5V的转换 7dzQ9TJ58w3sINqqscmKpgd5wBiyXltZa6jkxo/h6b9r1HfKW+XRCxDJdxadQkQR

点击中间区域
呼出菜单
上一章
目录
下一章
×