×

使用ACS712测量任何交流电流

消耗积分:5 | 格式:zip | 大小:0.97 MB | 2023-06-25

分享资料个

描述

如果您正在使用电源线,请小心

您好,欢迎来到另一个教程,这个是关于测量交流电 (AC),使用ACS712我使用的是 30Amps 版本,即 ACS712 30A,以及我们可爱的 Arduino Uno 板,我尝试添加一个 OLED 屏幕但不幸的是结束了在拍摄教程时打破了它,所以我切换到 LCD,但在下面你会找到两个版本的接线和代码。

“任何交流电……”我的意思是我们将看到一个适用于所有信号类型的代码/库,不仅是正弦波信号类型,而且我们的电流表将能够计算出真正的均方根。请注意,传感器使用霍尔效应(在电导体上产生电压差,横向于导体中的电流和垂直于电流的施加磁场)

您可以将此项目与此项目结合使用:Easy measure of AC Voltage using Arduino and ZMPT101B

测试将在白炽灯泡上进行,该灯泡由与参考万用表和 ACS712 电流传感器模块串联的调光器控制。

pYYBAGSBnlGAXBZLAABWmtz_bpc877.jpg
测试设置
 

这是计划:

  • 首先,我们需要将我们的模块与 Arduino 板连接起来,并检查调光器打开时的信号形状——全周期——半周期。
  • 然后我们将检查一个不需要任何库的简单代码,但它只适用于 Sinewaves 信号(它将被测试)。
  • 之后我们将看到测量 AC 真有效值的代码,并使用 LCD。

部分

 
 
 
poYBAGSBnlSAU11NAAExF8moBf4663.jpg
 
1 / 3这里我使用的是 ACS712 30Amps 版本
 

选择 ACS712 时请谨慎,不要像我一样尝试安全使用(通过购买 30 安培版本),这只会在您尝试将其用于家用或小安培应用时产生很大的波动,所以在这里对我来说,5A 或 10A 版本就可以了。

这些是我使用的部件,您可以将 UNO 替换为任何兼容的板,或者将 LCD i²c 替换为 OLED 或您喜欢的任何显示器。

测试 1

接线代码

可以在下面找到测试 1 的接线(接线 1)以及代码(代码 1)。

结果

上传代码并启动串行绘图仪,您应该能够看到类似正弦波的信号,当我调低调光器时显示红线,电流开始具有您通常在三端双向可控硅开关中发现的那种形状。

pYYBAGSBnleAf7ENAAF6VCDhMwE651.jpg
测试 1 结果
 

测试 2

现在,如果您只想使用上面的代码测量电流,您将获得大约 512 – 511 的值,它们根本不反映 RMS 值。因此,为了测量信号 RMS 值,我们将保持与上述相同的接线,但现在我们需要另一个可以计算 RMS 的代码。

接线代码

接线与(接线 1)相同,但可以在下面找到不同的代码(代码 2)。

结果

poYBAGSBnlqAAtbWAAG5G3USTK4275.jpg
代码 2 的结果,调光器处于全周期
 

如您所见,左侧的值 (RMS) 与万用表测量的值相同,右侧的值是峰峰值,请注意调光器处于全周期,因为我使用的是 75W 灯泡和230VAC/50Hz。

!!!!!!!!!!!!!!!!! 但 !!!!!!!!!!!!!!!!!!!!!

pYYBAGSBnl2AKNOyAAGvBejc9wk751.jpg
当调光器约为 1/4 个周期时代码 2 的结果
 

在这里,我一直调低调光器,这意味着我大约是一个周期的 1/4,万用表给了我 0.21A 但我的代码给了我 0.36A,代码仍然从峰值到峰值测量,但是正如您在上方看到的那样,当我将调光器一直调低时,我的信号不是线性的。

poYBAGSBnmGAHVSnAAKVK8_SJqg444.jpg
调光器处于全周期时的代码结果
 
pYYBAGSBnmSAOeezAAI1_1VdC6A728.jpg
调光器处于 1/4 个周期时的代码结果
 

如您所见,两个代码对非线性信号的响应存在巨大差异,但第二个代码充当 TRMS 万用表。

用 LCD/OLED 测试

在这里我们保持相同的事情,我们所做的就是不使用串行监视器,我们可以使用 LCD 或 OLED

布线、代码

接线可以在下面找到 (Wiring_LCD) 和 (Wiring_OLED),代码也在下面 (Code_ACS712_LCD) 和 (Code_ACS712_OLED)。

这是OLED库

https://github.com/adafruit/Adafruit_SSD1306 https://github.com/adafruit/Adafruit-GFX-Library

这是 LCD_i2c_library

https://drive.google.com/file/d/1Oc56q2GPs5SOA-PdbVHHSxKCnI9KY5xd/view

结果

pYYBAGSBnmaAQY_KAACqJxFiDC8405.jpg
在 LCD 上显示数值
 

有任何问题请在评论中留言。


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

评论(1)
发评论
jf_35470047 12-09
0 回复 举报
SD712可同步替代呀! 收起回复

下载排行榜

全部1条评论

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

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.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:'使用ACS712测量任何交流电流',//标题 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);