如何精确计算 LoRaWAN 终端电池寿命

                     如何精确计算 LoRaWAN 终端电池寿命

Can papyrus grow tall where there is no marsh? Can reeds thrive without water?  

蒲草没有泥,岂能发长。芦荻没有水,岂能生发。--《旧约》8:11

 

引言 LoRaWAN 终端的电池寿命多长?

随着 LoRaWAN 进入“工程实用”,一个问题亟待解决:基于给定容量的电池,LoRaWAN 终端能工作多长时间?

换一句话说,在确定的网络参数情况下,该配备多大容量的电池,才能达到期望的寿命呢?

 

1 LoRaWAN 终端电池寿命web 计算器

请链接:http://www.rimelink.com/pr.jsp(实用工具 / 终端电池寿命计算)

1.1 实例1

电池容量:9000 mAH

网络参数:ADR开启;

                    每隔 10 分钟,节点上报 12 字节;

                    server 没有下行数据。

电池寿命:15.655 年。

1.2 实例2

电池容量:9000 mAH

网络参数:ADR开启;

                    每隔 1 分钟,节点上报 12 字节;

                    每隔 1 分钟,server 下行 12 字节。

电池寿命:1.528 年。

1.3 实例3

电池容量:9000 mAH

网络参数:ADR关闭,SF=7,TX_POWER=17dBm;

                    每隔 1 分钟,节点上报 12 字节;

                    每隔 1 分钟,server 下行 12 字节。

电池寿命:16.237 年。

1.4 实例4

电池容量:9000 mAH

网络参数:ADR关闭,SF=12,TX_POWER =20dBm;

                    每隔 1 分钟,节点上报 12 字节;

                    每隔 1 分钟,server 下行 12 字节。

电池寿命:0.804 年。

2 计算原理

2.1  2 个常量

sleep_current = 1.6uA,即:node 休眠电流。

rx_current    = 13mA,即:node 接收电流。


2.2 输入变量

如果 ADR=1(开启),那么 tx_datarate, tx_power, rx1_rx2_time 这 3 个变量的值由 LoRaWAN 系统自动计算,无需用户输入。

 

注:开启ADR后网关的有效容量能提升 232.6% 的理论推导,

请参考:《SX1301吞吐量是SX1278的多少倍?》

https://blog.csdn.net/jiangjunjie_2005/article/details/75123968

 

如果 ADR=0(关闭):

SF      = [7, 8, 9, 10, 11, 12],       即:可选择的 6 个速率档位。

tx_power = [10, 12, 14, 16, 17, 20]dBm,即:可选择的 6 个发射功率档位。

 

上报长度(Byte) = up_payload  ,  即 node -> server 的上报数据长度。

上报间隔(Sec)  = up_interval  ,   即 node -> server 的上报时间。

下发长度(Byte) = down_payload, 即 server -> node 的下发数据长度。

下发间隔(Sec)  = down_interval, 即 server -> node 的下发间隔。

电池容量(mAH) = battery_capacity,即:给定电池的容量。

 

2.3 推导公式

发射电流,这是一个“测量值”,它对应“发射功率”:

tx_current = current_array[tx_power_index]

发送时长:

tx_time = up_payload / tx_datarate

下发时长:

down_time = down_payload / tx_datarate

侦听时长:

无下发通信:rx_time = rx1_rx2_time * 2

有下发通信:

rx_time = rx1_rx2_time * 2 + down_time * up_interval / down_interval

休眠时长:

sleep_time = up_interval – tx_time – rx_time

发射能耗:

tx_energy = tx_time * tx_current

接收能耗:

rx_energy = rx_time * rx_current

休眠能耗:

sleep_energy = sleep_time * sleep_current

平均电流:

average_current = (tx_energy + rx_energy + sleep_energy) / up_interval

 

2.4 计算结果

电池寿命(单位:时)

battery_life_hour = battery_capacity / average_current

电池寿命(单位:年)

battery_life_year = battery_life_hour / (24 * 365)

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值