极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 59385|回复: 65

Arduino学习笔记A7 - Arduino 输出引脚扩流

    [复制链接]
发表于 2011-11-16 10:59:16 | 显示全部楼层 |阅读模式
本帖最后由 Ansifa 于 2011-12-7 18:32 编辑

Arduino学习笔记A7 - Arduino 输出引脚扩流


使用Arduino时候,经常需要控制大电流或者高压负载。但是Arduino只有最大5v,20mA的引脚输出。必须要通过扩流电路。扩流的方法有很多。下面介绍几种方法,适合在不同场合下面使用。

注意:下述电路图的负载均用电阻符号代替,符号标志是电子学的负载符号RL,就是R(load)的意思。

1、小功率NPN三极管扩流(适用于扩展后负载电压5v以下,负载电流建议<1A)。

Arduino输出引脚直接连电阻驱动三极管基极。

1、小功率NPN三极管扩流.gif

复杂度:★★☆☆☆;成本:★☆☆☆☆;可扩流倍数:★☆☆☆☆;
优点:简单方便,成本低。开关频率上限直接由三极管决定,可以做的很高;
缺点:受控大电流和Arduino直接连通,所以外置驱动电源不建议超过5v,以免外置电源的电压通过Q1倒灌到Arduino引脚引起Arduino烧坏。
选材:三极管Q1可以选用小功率的NPN三极管。推荐型号有2SC18152N222280502SD882等(点元件名看对应数据手册,下同);基极电阻R1必不可少,否则会导致Arduino因为引脚负载过大而发热甚至烧毁。R1阻值在100Ω~10k之间均可,推荐值1kΩ。所有电阻功率无要求,贴片0805以上,直插1/8w以上的就行,以下所有电路均使用这种电阻规格。

2、固态继电器(光耦)扩流(适用于220V交流直接控制,或者大功率直流控制,建议用于负载电流0.2A~40A间)

使用现成的固态继电器可以很方便的被Arduino控制。对于Arduino来说,驱动固态继电器就像驱动一个LED那么简单。

2、固态继电器(光耦)扩流.gif
直流控制直流
2 、固态继电器(光耦)扩流.GIF
直流控制交流

复杂度:★☆☆☆☆;成本:★★★★★;可扩流倍数:★★★★★;
优点:使用最简单,抗干扰能力最强,无电磁干扰。可以控制交流电/直流电,并且可以控制很大电流的负载。
缺点:成本很高
选材:注意的是,固态继电器有两种:直流控制交流固态继电器/直流控制直流固态继电器。它们的受控端有本质的区别,不能混用。直流控交流的交流是用可控硅进行开关的,而直流控直流用的是三极管或者场效应管进行开关。下面会对两种继电器仿制进行介绍的(见3)。

3、带光耦隔离NPN三极管扩流(适用于大范围负载电压,建议用于负载电流1A~5A间)

通过光耦加扩流做出一个控制/受控隔离的直流控制器。完全等效于直流固态继电器。

3、带光耦隔离NPN三极管扩流.gif

复杂度:★★★★☆;成本:★★☆☆☆;可扩流倍数:★★★★★;
优点:控制电流小,等效于驱动一只LED。受控大电流和Arduino控制板完全电气隔离,即使受控部分发生事故烧毁了,也不会影响到Arduino主板。
缺点:电路比直接扩流复杂,成本稍高。
选材:三极管可以选择2SD8822SD669ATIP122(5A达林顿管)等。光耦使用PC817等廉价光耦即可。

4、继电器扩流(适用于低速,对受控端开关电阻有要求的场合,建议用于负载电流0~3A间)

用一个小功率三极管扩流,然后控制一个5v的继电器。

4、继电器扩流.gif

复杂度:★★★★☆;成本:★★★☆☆;可扩流倍数:★★★★★;
优点:扩流电流大,并且由于继电器是机械闭合触点,闭合电阻基本为零,不像固态继电器或者三极管,有正向压降;适用于对闭合电阻要求高的场合,比如受控端是开关0~0.7v的信号。使用三极管或者固态继电器就不能工作了,只能使用继电器。
缺点:低速,每秒最快只能开关几次;机械开关使用寿命短,开关频率高的话,很快就会坏掉。成本高,电路也不简单;开关电流大,需要充足的电源供给继电器吸合。有较强的空间电磁干扰(EMI),会对高速数字电路(USB,串口,视频等)或者小信号模拟电路(音频信号线,仪器测量输入线)造成干扰。必须做好屏蔽措施;并且继电器断开时候会产生反向高压,必须处理反压。
选材:继电器必须选用5v控制的,因为Arduino只有5v。并且继电器吸合电流必须小于200mA,不能影响Arduino使其工作电压不稳。如果不能满足的话,可以尝试继电器级联,即小继电器拖动大继电器。

5、场效应管扩流(适用于大负载直流电流,建议用于负载电流5A~100A间)

用场效应管代替三极管扩流。由于场效应管属于电压控制型器件,输入电流极小。与三极管扩流相比,可以获得更快的开关速度和更小的输入电流,并且可以控制很大的直流电流(比如10~50A)。用Arduino驱动的话。驱动电路跟1、3几乎一样,只是换了场管。

5、场效应管扩流.gif

复杂度:★★★★☆;成本:★★★★☆;可扩流倍数:★★★★★;

优点:控制电流小,等效于驱动一只LED。受控大电流和Arduino控制板完全电气隔离,即使受控部分发生事故烧毁了,也不会影响到Arduino主板。有最高的控制速度,并且电流也可以做的非常大。
缺点:电路比较复杂,场效应管成本比三极管更高。
选材:场效应管可以使用普通的N沟道增强型场效应管(N-Channel Enhancement Mode Field Effect Transistor)。笔者用过的型号有:CEP80N75(75V,80A,75W),IXGQ240N30P(IGBT管,240A,300V,500W),IRF630(9A,200V,75W)等。

评分

参与人数 2威望 +1 金币 +5 收起 理由
幻生幻灭 + 1 神马都是浮云
弘毅 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2011-11-16 21:38:00 | 显示全部楼层
这个一定要顶
回复 支持 反对

使用道具 举报

发表于 2011-11-16 23:55:56 | 显示全部楼层
嘿嘿~~~~~我有一个朋友这几天刚刚好在研究解决引脚输出电流的问题.........不错不错!推荐他来看。
回复 支持 反对

使用道具 举报

发表于 2011-11-17 00:32:57 | 显示全部楼层
感谢坏鸟的指引。

版主总结、分析的很好,赞一个。

回复 支持 反对

使用道具 举报

发表于 2011-11-17 12:12:51 | 显示全部楼层
好,适合我等菜鸟学习。
回复 支持 反对

使用道具 举报

发表于 2011-12-4 17:18:44 | 显示全部楼层
给社区增加点人气~嘿
回复 支持 反对

使用道具 举报

发表于 2011-12-7 19:08:01 | 显示全部楼层
嘿嘿~~~~~今天研究了一下这个:谢谢Ansifa和三水妹子等人的解答.........

点评

果断改教程。。。哈哈。。。  发表于 2011-12-7 22:56
回复 支持 反对

使用道具 举报

发表于 2011-12-7 20:53:22 | 显示全部楼层
恩~~~~~想到另外一个问题:像PC817,PS2501等这类“光电耦合器”的动作频率(开关频率)一般极限是多少?

如果是10Khz左右的我如果需要更快的开关还有什么方法呢?~?!
回复 支持 反对

使用道具 举报

发表于 2011-12-7 21:09:25 | 显示全部楼层
21IC论坛还有人说:比如HCPL3120的输出电流能达到2A
........淘宝上查了下价格也不贵。这样是不是场效应管都不用了~~?!?

点评

是的,我看了一下HCPL3120参数手册,支持驱动35v 2.5A,可以做低压开关。不过如果需要更高的电压或者更大的电流的话,接续场效应管灵活性就更好了。  发表于 2012-5-26 11:27
回复 支持 反对

使用道具 举报

发表于 2011-12-8 12:22:18 | 显示全部楼层
坏鸟 发表于 2011-12-7 20:53
恩~~~~~想到另外一个问题:像PC817,PS2501等这类“光电耦合器”的动作频率(开关频率)一般极限是多少? ...

纯粹追求响应速度可以做的很高,但是要考虑是rise time和fall time是曲线的,高速开关下占空比会不明显。但是工作区间在20k内还是有保证的。
回复 支持 反对

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2017-10-23 14:05 , Processed in 0.084337 second(s), 6 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表