×

当某个组件需要比微控器GPIO引脚更大的拉电流时,你该如何处理?资料下载

消耗积分:3 | 格式:pdf | 大小:138.8KB | 2021-04-21

分享资料个

作者:Michael Parks, Mouser Electronics 几乎在经典科幻电视剧《星际迷航》的每一集中,无论发生何种灾难,这一天的结尾永远是Kirk船长呼叫总工程师Scotty并且要求更大的动力!在该虚构的企业号航空母舰中,假设该二十三世纪的明星战舰依然是由电子驱动,那么舰上的威廉希尔官方网站 必须非常健壮,以快速处理尖峰并提供动力。对于仍停留在第二十一世纪工程师和制造商,嵌入式电子项目毫无疑问使用电子来驱动威廉希尔官方网站 。设计师不能只是假设他们选择的嵌入式平台的拉电流或者灌电源可以确保所有部件正常工作。良好的设计,选择合适的元器件,并仔细阅读产品说明书,这三个要求都满足才能保证项目安全可靠。 图1:来源 让我们来看看在建立新的嵌入式项目时需要考虑的两个问题。 • 当某个组件需要比微控器GPIO引脚更大的拉电流时,你该如何处理? • 当微控器连接到一个步进电机类似的电感负载时,你该如何保护该控制器? 驱动大负载 许多微控器的GPIO引脚仅支持很小的拉电流,大约只在40mA左右(数据手册是工程师的最好朋友)。一定要阅读您选定的MCU的数据手册。在某些应用中,这样大的电流已经够用,但有时你需要比微控器GPIO引脚更大的拉电流。其中一个例子是驱动需要控制较远距离的红外LED 或者是连接较大的电机。因此,你可能需要利用外部电源,以安全地获取所需电流。这样做的一个简易方法是使用一个PNP晶体管(PN2222 是一个不错的先行尝试,然后再加入几个限流电阻即可。GPIO引脚将仅驱动NPN晶体管的基极,然后从外部电源得到从集电极到发射极的一个更大电流并驱动负载。需要注意的是,你必须把微控器和外部电源的地连接在一起。也一定要选择一个基级电阻值,以驱动晶体管进入饱和状态。 图2: 使用NPN晶体管以使微控器处理更大的电流需求。 避免“反冲”电感电压 电感性负载,比如步进电机 ,因为物理特性,在电流通过电感时会表现出一个副效应。原则上,发电机和电动机采用相同的电机工作概念,只是能量转换方向是相反的。所以想象一下你有一个电机正在运行,突然你切断了电源。线圈内的能量被存储在电磁场内,但现在磁场开始崩溃。面对崩溃的电磁场,试图保证电流流动,将产生一个巨大的尖峰电压。这个电压可能高达几百伏,即便是在低功率应用中。因为这个电压的形成于线圈两端,并且与施加在运行电机的电压方向相反。(因此称为 “反冲”电压,如果处理不当,感应电压可能会毁坏GPIO引脚威廉希尔官方网站 或甚至是整个微控器。反冲电压有时也被称为反向电动势,或简称反向EMF。 为此,可以采用“反激”二极管,一个高速开关的保护二极管(1N4001 是一个不错的选择)放置在跨越线圈的位置,与正常使用时反向偏置。然后,当电机断电后,反激二极管允许反冲电压安全地将其电流通过线圈电阻,防止毁坏更敏感的电子设备。为获取更安全的方案,可以在GPIO引脚与晶体管之间插入一个光耦芯片,以电性隔离微控器(4N35是个不错的选择)。 图3: 使用“反激”二极管来避免感性负载的反冲电压。 为使与电机的接口处理更简洁,也可以使用L293D H桥电机驱动芯片来驱动电机,该芯片内部还包含有保护二极管。请确定订购的是L293D而不是L293,后者缺乏保护二极管。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'当某个组件需要比微控器GPIO引脚更大的拉电流时,你该如何处理?资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);