如图所示,12V锂电池供电,树莓派作为CPU,其他负载中螺旋桨功耗在30W以内,其余负载功耗均在5W以内,大概有10个负载需要监测。我现在想监测各个设备的平均耗电功率(电流电压等),并将数据回传给树莓派,可以用什么监测设备来实现这样的功能呢?
可以使用电流传感器,电压传感器和功耗传感器来监测小型机器人系统中各个负载的功耗,电流和电压。这些传感器可以通过模拟或数字信号来检测电流,电压和功耗,并将其转换为可读的数据。
上面回答的是硬件,然后是软件,通过Powertop,Powertop 是一款用于 Linux 系统的电源管理工具,可以分析系统中哪些进程或硬件设备消耗了过多的电量,并提供优化建议。以下是一些根据 Powertop 输出进行优化的示例
The battery reports a discharge rate of 18.1 W
The power consumed was 5.6 J
The estimated remaining time is 5 hours, 20 minutes
Summary: 308.8 wakeups/second, CPU usage: 2.3%, GPU usage: 0.0%, Display backlight: 50.0%, Top causes for wakeups: 40.6% (152.4) xhci_hcd:usb3, 13.5% (50.7) iwlwifi
根据这个输出,我们可以看到当前电池的放电速率为 18.1 瓦特,系统消耗了 5.6 焦耳的功率,并预计还剩下 5 小时 20 分钟的电池寿命。此外,每秒有 308.8 次唤醒事件,CPU 使用率为 2.3%,GPU 使用率为 0,显示屏亮度为 50%。唤醒事件的主要原因是 xhci_hcd:usb3 和 iwlwifi 进程。
根据这个输出,我们可以尝试以下优化步骤来降低功耗:
降低显示屏亮度:显示屏占据了相当大的功耗,因此降低屏幕亮度可以显著降低系统功耗。
停止或卸载不必要的 USB 设备:根据输出, xhci_hcd:usb3 占用了 40.6% 的唤醒事件 ,可能是由于插入了不必要的 USB 设备或外部存储设备导致的。断开这些设备或卸载相关驱动程序可能会降低唤醒事件的频率,从而减少功耗。
禁用无线网络或更改无线网络设置: iwlwifi 进程消耗了 13.5% 的唤醒事件 ,其可能与无线网络有关。禁用 Wi-Fi 或修改 Wi-Fi 设置(例如禁用定位服务)可以减少无线网络带来的功耗。
调整 CPU 频率:根据输出, CPU 使用率为 2.3% ,可以考虑将 CPU 的最高频率降低到较低的水平,从而降低能耗。
这些是 Powertop 可以提供的一些优化建议的示例,但具体优化步骤会因系统配置和硬件而异。在执行任何更改之前,请确保备份所有数据,并谨慎评估每个建议对您的系统稳定性和功能的影响。