×

如何创建一个时间开关电池供电的太阳能充电电路

消耗积分:0 | 格式:zip | 大小:0.49 MB | 2022-10-18

48674

分享资料个

描述

本教程展示了如何创建一个时间开关电池供电的太阳能充电电路,该电路用于为 Arduino Uno 和一些外围设备(传感器、通信模块等)供电。

如果你想设计一个远程数据记录器,电源总是一个问题。大多数时候没有可用的电源插座,这迫使您使用一些电池为电路供电。但最终你的设备会耗尽电池......你不想去那里充电,对吧?因此,人们提出了一种太阳能充电电路,让用户可以从太阳中获得免费能量来为电池充电并为您心爱的 Arduino 供电。

您将面临的另一个问题是 Arduino 的效率。即使您将其置于睡眠状态,它也会消耗大量电池,“睡眠通常用于在 Arduino 板上省电。然而,对于某些 Arduino 变体,并没有太大的好处。例如,Arduino串行和 USB 板使用 7805 类型的电源调节器,当 Atmega IC 处于空闲模式时需要 10 mA。将这些板置于睡眠状态将减少几 mA 的总功耗,但仍会很高“。

如果您使用自己的电源电路绕过低效的稳压器,或者使用具有相当高效电源的电路板,例如 Arduino Pro,那么睡眠对于降低功率和延长电池寿命非常有益。使用某些锂离子电池时,甚至可以完全移除调节器。

但大多数时候,您不想直接在您的 Arduino Uno 上使用您糟糕的焊接技能,或者不想购买更节能的设备。如果这是您的情况,那么本教程适合您。

另一个问题是,即使您的 Arduino 正在睡觉,您的传感器可能仍然处于活动状态,从而耗尽您的电池。因此,在太阳能充电电池中添加了一个定时器电路,它只为 Arduino 供电几秒钟,然后再次将其关闭以节省电力。它适用于您的微控制器仅用于读取某些传感器、传输或保存数据以及返回睡眠几分钟的应用。

此处描述的电路仍在测试中,未对所使用的组件进行彻底分析(模型二极管、晶体管和电阻值)。我打算稍后将这个电路变成 Arduino Uno 的电池供电的太阳能充电板,但现在我仍在尝试和出错。因此,请随意评论和关注这个项目,使用它需要您自担风险

我设计了这个电路来为我的 Arduino 迷你气象站供电它使用了一个消耗大量电力的灰尘传感器,我想定期关闭整个电路以节省电池。

第 1 步:材料

您需要以下组件来构建此太阳能电路:
  • 阿杜诺
  • 小面包板
  • 5V升压器
  • 锂电池充电器(TP4056)
  • 6V太阳能电池
  • 18560锂电池
  • 电池座
  • 1N4004 二极管 (x2)
  • 555集成电路
  • 2N3904晶体管(x2)
  • 1 兆欧电阻 (x2)
  • 100 kohm 电阻 (x3)
  • 10 kohm 电阻 (x1)
  • 100 uF 电解电容 (x2)
  • 10 nF 陶瓷电容器 (x1)
  • 5V单刀双掷继电器
  • 跳线
  • USB电缆

第 2 步:组装太阳能电池充电器

 
 
 
 
poYBAGNOJPGAAdleAACH3pQLjrY974.jpg
 
1 / 5
 

首先,您必须组装太阳能电池充电器电路。这使用来自一些太阳能电池的能量为电池充电,并将其电压提升到 Arduino Uno 使用的 5V。

该电路基于太阳能供电的Arduino 气象站deba168的精彩教程

太阳能电池连接到锂电池充电器(TP4056)的输入端,其输出连接到18560锂电池。一个 5V 升压升压器也连接到电池,用于将 3.7V dc 转换为 5V dc。您可以检查图片中组件之间的连接。

一些引脚焊接到两个模块(TP4056 和升压器)的底部,以便更轻松地连接到面包板。如果你不使用面包板,你可以用电线连接组件并焊接它们。

此时您可能已经为您的 Arduino Uno 供电,将其连接到 booster 的 USB 连接器,您的 Arduino 将一直工作,直到电池耗尽。当阳光充足时,电池会自动开始充电。

请注意,TP4056 输入限制在 4.5 和 5.5V 之间。在这个电路中,太阳能电池板和电池充电器之间没有电压限制器。可以使用齐纳二极管来限制电压并保护您的电路。

根据您的耗电量,您的电池会快速放电。如果是这种情况,请执行下一步。

第三步:定时器电路

 
 
 
 
pYYBAGNOJPOAMLsKAABFIOgWE2A304.jpg
 
1 / 3
 

有很多项目涉及 Arduinos 和一堆传感器。在大多数情况下,Arduino 会定期读取传感器并在内部存储读数或使用 Wi-Fi、蓝牙、以太网等传输它们的值......之后,它通常会进入空闲状态,直到到达下一个采样时间.

在这段空闲时间里,你可能会让你的 Arduino 进入睡眠状态,但它不会节省很多电量。尽管微处理器降低了其功耗,但调节器和其他外围设备(例如您的传感器和通信模块)继续工作,消耗大部分功率。

这里提出的替代方案是使用外部定时器电路,它定期打开/关闭电源。当它打开时,Arduino 将执行其设置、读取传感器并保存或传输数据。所有这一切都在几秒钟内完成。之后,电路将切断电源几分钟,然后重新启动该过程。

在关闭状态期间,定时器电路仅消耗几毫安。

计时器电路安装在Autodesk Circuits 上,以便在使用真实组件实施之前对其进行模拟。

非稳态模式下的 555 定时器电路旨在控制 Arduino 及其外围设备何时开启/关闭。在非稳态电路中,输出电压在 Vcc (+5V)(高电平状态)和 GND (0V)(低电平状态)之间持续交替。该输出用于驱动继电器,该继电器将定期切断 Arduino 的电源。

通过选择 R1、R2 和 C1 的值,可以确定周期(ON/OFF 循环重复所需的时间长度)和占空比(输出为 ON 的时间百分比)。增加 C1 将增加周期。增加 R1 将增加高时间 (T1),但不影响低时间 (T0)。增加 R2 将增加高时间 (T1)、增加低时间 (T0) 并降低占空比。

这种电路的最小占空比为 50%。这意味着,在最好的情况下,非稳态电路只会在一半时间内切断电路电源,这还不够。因此决定在定时器的输出端添加一个简单的逻辑反相器(TQ1 和 R4)。这样,将选择 R1、R2 和 C1 的值,以使占空比约为 90%(在逻辑反相器之前)。在逆变器之后,输出仅在 10% 的时间内为 ON。该反相输出用于驱动另一个晶体管 (TQ2),该晶体管用于驱动 5V 继电器 (K1),最终将切断 Arduino 及其外围设备的电源。

在第一次仿真中使用了任意值的电阻器和电容器,以验证电路的功耗。在关闭状态下,电路指示仅消耗 0,8 mA。当电路开启时(短时间),它消耗大约 40 mA,这被添加到 Arduino(和其他外围设备)消耗的电流中。

很难测量实际值,但 Arduino Uno 通常消耗 52 mA 左右。处于睡眠模式时(使用 LowPower 库),功耗降至 35 mA。R1、R2 和 C1 的新值是使用 555 Astable Circuit Calculator计算得出的。选择它们的值,使电路关闭 5 分钟,然后通电 27 秒以进行采样和传输数据。

考虑到这些值(5 分钟关闭和 27 秒开启),具有睡眠模式的 Arduino 将消耗大约 36 mAh。如果我们使用定时器开关电路,消耗只有8毫安左右。功耗降低 77% 对我来说似乎很好。您还必须考虑其余电子设备(传感器和通信模块)以及升压器和电池充电器消耗的电流,以获得精确的电流值......

第四步:组装定时器电路

 
 
 
 
pYYBAGNOJPeADlqsAADtt2KEBcM691.jpg
 
1 / 2
 

根据原理图组装定时器电路。

以下值可用于电阻器和电容器以实现 5 分钟关闭/27 秒开启时间:

  • R1 = 2 兆欧
  • R2 = 200 欧姆
  • R4 = 10 千欧
  • R5 = 10 千欧
  • C1 = 200 uF
  • C2 = 10 nF

值得注意的是,我使用了 SPDT 继电器的常开 (NO) 输出。我意识到有些继电器只有一个常闭输出,尽管它们具有相同的封装,并且所有指示都相同。

另请注意,在图片中我使用了不同的值,因为我不想等待 5 分钟才能看到我的电路工作。

图为安装在面包板上的电路。我有一个输入(来自升压器的 +5V/GND)和一个输出(到 Arduino 的 +5V/GND)。

为时间电路供电,Arduino 连接到它,看看它是否工作。您不时听到正在启动的继电器。

第 5 步:完成电路和测试

 
 
 
 
poYBAGNOJPmAeiyZAAGxX5F83wQ212.jpg
 
1 / 2
 

定时器电路工作后,将其输出连接到 Arduino 5V 和 GND 引脚。它看起来像图片中的那个。

Arduino 将每 5 分钟通电一次并持续 27 秒。您可以更改这些值,为电阻器和电容器选择不同的值,如前所述。

设计一个漂亮的外壳来保护你的电路,把它放在阳光下,看看它是否有效!

第 6 步:功耗和运行时间

我想对功耗和运行时间做一些考虑。

考虑 5 分钟 OFF 和 27 秒 ON,电路 + Arduino 的功耗如下:

无开关电路(使用睡眠模式):

  • 平均电流 (Iavg) = (Ton*Ion + Toff*Ioff ) / (Ton +Toff)
  • 吨(Arduino 处于活动状态)= 27 秒
  • 离子 = 51.7 毫安
  • Toff(arduino 关闭)= 5 分钟 = 300 秒
  • Ioff = 34.9 毫安
  • Iavg = 36.3 毫安
  • 工作电压 (Vo) = 5V
  • 平均功率 (Pavg) = Vo * Iavg = 5 * 36.3 = 181 mW
  • 锂离子电池容量 = 3000 mAh
  • 电池电压 = 3.7V
  • 功率 =3.7 * 3000 = 11100 mWh
  • 电池寿命 = 11100/181 = 61 h = 2,5 天

带定时器开关电路:

  • 平均电流 (Iavg) = (Ton*Ion + Toff*Ioff ) / (Ton +Toff)
  • 吨(arduino 处于活动状态)= 27 秒
  • 离子 = 92 毫安
  • Toff(arduino 关闭)= 5 分钟 = 300 秒
  • Ioff = 0.8 毫安
  • Iavg = 8.2 毫安
  • 工作电压 (Vo) = 5V
  • 平均功率 (Pavg) = Vo * Iavg = 5 * 8.2 = 41 mW
  • 锂离子电池容量 = 3000 mAh
  • 电池电压 = 3.7V
  • 功率 =3.7 * 3000 = 11100 mWh
  • 电池寿命 = 11100/41 = 270 小时 = 11 天

此处未考虑 TP4056 和升压器的功率损耗,并且在这两种情况下肯定会缩短电池寿命。

这里需要注意的重要一点是,这个定时器电路也将节省一些能量,切断传感器的电源,而睡眠模式将减少微处理器的消耗。


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

评论(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.lene-v.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:'如何创建一个时间开关电池供电的太阳能充电电路',//标题 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.lene-v.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);