산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino가 있는 HID 호환 UPS

구성품 및 소모품

Arduino Pro Micro
× 1
브레드보드(일반)
× 1
점퍼 와이어(일반)
× 1

이 프로젝트 정보

나는 최근에 Arduino가 나를 위해 무엇을 할 수 있는지 알아보기 위해 Arduino를 가지고 놀았습니다. USB 포트가 없기 때문에 호스트 컴퓨터에 상태를 보고할 수 없는 오래된 "더미" UPS가 있습니다. 내가 염두에 둔 프로젝트 중 하나는 Arduino 보드의 도움으로 더미 UPS에 대한 "두뇌"를 만드는 것입니다. 이러한 UPS 브레인의 목적은 배터리 잔량, 충전/방전 상태, 배터리 전류, 전압 등을 측정하여 내부 UPS 상태를 읽는 것입니다. 이러한 모든 판독값은 USB 인터페이스를 통해 전달되고 호스트 운영 체제에서 해석해야 합니다. 상업용 스마트 UPS(예:APC)로 수행되는 것과 동일한 방식으로 컴퓨터.

맞춤형 UPS용 하드웨어 드라이버 개발을 엉망으로 만들고 싶지 않았고 "플러그 앤 플레이"를 원했기 때문에 약간의 조사 끝에 이 사양에 따라 HID 호환 인터페이스를 구현하기로 결정했습니다. HID는 "Human Interface Device"의 약자이며 원래 키보드, 마우스, 조이스틱 및 인간 입력용 유사 장치용으로 설계되었지만 최근에는 HID를 사용하여 이점을 얻을 수 있는 UPS, 배터리 및 충전기와 같은 전원 장치를 지원하도록 확장되었습니다. 호스트 컴퓨터와의 지능적인 통신을 위한 표준. 다음 단계는 Leonardo, Pro Micro 및 해당 클론과 같은 일부 Arduino가 HID 키보드 또는 마우스로 호스트에 표시될 수 있다는 것을 배우는 것이었습니다. Arduino HID 라이브러리, 키보드 라이브러리 및 많은 인터넷 검색을 분석한 후 :) 저는 HIDPowerDevice 라이브러리를 직접 작성했습니다. GitHub readme에서 설정 및 사용 방법에 대한 세부 정보를 찾을 수 있습니다.

내 테스트 랩은 매우 간단하며 USB, 브레드보드 및 하나의 스위치를 통해 노트북(내 경우에는 Macbook이지만 Windows 10 및 Ubuntu에서도 작동함)에 연결된 Arduino Pro Micro로 구성되어 있습니다. 대신 점퍼). 또한 진단을 위한 두 개의 LED와 충전 수준을 시뮬레이션하기 위한 전위차계를 추가했습니다. 회로도는 다음과 같습니다.

<그림> <그림>

S1은 Arduino Pro Micro의 핀 4를 접지에 연결하여 UPS가 배터리 전원으로 작동하는 것을 시뮬레이션합니다. S1이 꺼져 있을 때 Arduino는 PC에 "충전 중"이라고 보고합니다.

<그림> <그림>

내 "UPS"는 HID와 호환되므로 Windows 10은 Arduino도 HID 배터리로 인식하고 남은 용량의 백분율이 올바르게 표시됩니다.

<그림> <그림>

언급해야 할 한 가지 중요한 제한 사항이 있습니다. Windows 10은 시스템에 여러 개의 배터리를 허용하고 모든 배터리를 트레이에 표시할 수 있습니다. 그러나 배터리는 동일한 모드에서 상태를 보고해야 하지만(HID 사양은 maH, mwH 및 백분율 지원) 대부분의 UPS는 충전 백분율만 보고합니다. 시스템에 이미 ACPI 배터리가 있는 경우(노트북에서 테스트한다고 가정) 백분율이 올바르게 반영되지 않을 수 있습니다.

유사하게, 일부 추가 구성이 필요할 수 있지만 UPS는 Linux에서도 작동합니다(README 참조).

<그림> <그림> <그림>

2021년 6월 12일 업데이트 Synology 지원에 관한 몇 가지 질문을 받은 후(Arduino 보드는 Synology에서 HID 호환 UPS 장치로 인식하지 못함) 이에 대해 조금 조사하기로 결정했습니다. 문제는 Synology 배포판에서 사용하는 NUT(네트워크 UPS 도구)에 있습니다. 모든 HID 호환 UPS 모델에 대해 기본적으로 USB 인터페이스 0을 가정하지만 Arudino Leonardo/Pro Mini는 USB 포트에 UPS 액세스 가능한 복합 장치로 자신을 광고합니다. 인터페이스 2에서. 인터럽트 끝점에도 비슷한 문제가 있습니다. 이 문제에 대한 자세한 기술 정보는 여기에서 찾을 수 있습니다.

Arduino를 지원하는 수정된 NUT 라이브러리가 여기에 있습니다. 소스에서 빌드하고 대상 플랫폼(Synology 또는 기타 호환되는 Linux 배포판)에 설치할 수 있습니다. 이것은 아직 실험 단계이므로 현재 NUT 파일의 백업을 생성하는 것이 좋습니다.

즐기다! :)

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

HIDPowerDevice 소스 코드
https://github.com/abratchik/HIDPowerDevice

회로도

arduino_ups_mlvhJQLrSZ.fzz

제조공정

  1. 실제 센서로 효과 제어
  2. K30 센서로 CO2 모니터링
  3. 1Sheeld/Arduino를 사용한 청각 장애인용 통신
  4. Arduino로 코인 억셉터 제어
  5. Bluetooth가 탑재된 Arduino로 LED 제어!
  6. Arduino 또는 ESP8266이 있는 정전 용량 지문 센서
  7. Nextion 디스플레이로 재생
  8. Nunchuk 제어 로봇 팔(Arduino 포함)
  9. Arduino로 태양 복사열 측정
  10. Arduino가 있는 미니 레이더