亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Pro Micro 实现 HID UPS:将"哑"电源升级为 USB 智能后备电源

组件与物料

组件 数量 备注
Arduino Pro Micro 1 Leonardo 等支持 HID 的板卡均可
面包板 1
杜邦线 1

项目简介

我手头有一台老旧的"哑"UPS,无 USB 接口,无法向主机汇报状态。我想用 Arduino 为其添加"大脑":读取电池剩余容量、充放电状态、电流电压等,并通过 USB 以 HID 电源设备规范与主机通信,实现即插即用,无需自定义驱动。

HID(人机接口设备)原为键鼠手柄设计,现已扩展支持 UPS、电池、充电器等电源设备。Arduino Leonardo、Pro Micro 等原生支持 HID 键鼠模拟,经研究 Arduino HID 库与键盘库,我编写了 HIDPowerDevice 库(详见 GitHub README)。

测试平台

笔记本 + Arduino Pro Micro (USB) + 面包板 + 拨码开关(模拟跳线) + 电位器(模拟电量) + 诊断 LED。

Arduino Pro Micro 实现 HID UPS:将 哑 电源升级为 USB 智能后备电源
Arduino Pro Micro 实现 HID UPS:将 哑 电源升级为 USB 智能后备电源

开关 S1 连接引脚 4 至 GND,模拟 UPS 切换至电池供电;S1 断开时上报"充电中"。

Arduino Pro Micro 实现 HID UPS:将 哑 电源升级为 USB 智能后备电源

跨平台兼容性

Windows 10:识别为 HID 电池,任务栏正确显示剩余电量百分比。

Arduino Pro Micro 实现 HID UPS:将 哑 电源升级为 USB 智能后备电源

注意:Win 10 支持多电池,但所有电池必须用相同单位(mAh/mWh/百分比)上报。若系统已有 ACPI 电池(如笔记本自带),百分比可能显示异常。

Linux:同样工作,可能需额外配置(见 README)。

Arduino Pro Micro 实现 HID UPS:将 哑 电源升级为 USB 智能后备电源

Synology/NAS 兼容性更新 (2021-06-12)

收到反馈 Arduino 在 Synology 上不被识别为 HID UPS。经排查,Synology 使用的 Network UPS Tools (NUT) 默认假设 UPS 在 USB 接口 0,但 Leonardo/Pro Micro 为复合设备,UPS 功能在接口 2。中断端点也有差异。技术细节见此处。

修改版 NUT 库(含 Arduino 支持):此处。需自行编译安装,属实验性质,强烈建议先备份原 NUT 文件。

代码

HIDPowerDevice 源码: https://github.com/abratchik/HIDPowerDevice

原理图

文件: arduino_ups_mlvhJQLrSZ.fzz (Fritzing 格式)

制造工艺

  1. Satellite CCRMA 套件:构建传感器驱动的音频效果器
  2. K30 CO₂ 传感器:室内空气质量实时监测
  3. 基于 1Sheeld 与 Arduino 的盲聋人士沟通辅助系统
  4. 智能存钱罐:Arduino Nano 控制硬币识别器实现余额显示
  5. Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
  6. DFRobot 电容指纹传感器 (ID809) 接入 Arduino/ESP8266 完整教程
  7. 基于 Arduino Mega 与 Nextion 显示屏的交互式气象站
  8. Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
  9. Arduino UNO + 以太网盾板实现低成本太阳辐射测量仪(热电堆原理)
  10. 紧凑型Arduino雷达系统:HC-SR04超声波传感器配1.8英寸显示屏
  11. Arduino 合成乐音:从零实现 88 键钢琴全音域
  12. TinyML 咳嗽检测:Arduino Nano 33 BLE Sense 实现早期流感筛查