Hardware | HP 65W USB-C 슬림 여행용 전원 어댑터 구입기

|

이번에 Raspberry Pi 4B 를 구입하면서, 높아진 전류를 충족하는 USB Type-C 어뎁터가 필요해 졌습니다.


* Hardware | Raspberry Pi 4 Model B 4GB 버전 구매기

https://chocoball.tistory.com/entry/Hardware-Raspberry-Pi-4-4GB-buy




1. USB 의 충전 사양


USB-C 타입이라면, 모바일 기기부터 렙탑까지 많은 기기에서 유행하기 시작한 전원 공급 방식입니다.


어차피 구입해야 할 것, Raspberry Pi 4 전용 어뎁터 보다, 여러 기기에 활용 될 수 있는 어뎁터를 이참에 구입해 놓는게 나아 보입니다.

범용적인 USB-C 어뎁터를 구입하기 위해서는, 우선 USB PD / Quick Charge 사양에 대해 어느정도 알고 있어야 합니다.


닌텐도 스위치에서 dock mode 라는 것이 있는데, 이걸 가능하게 하려면, USB PD 사양 충족이 필요하다는 글을 우연히 보게 됩니다.


* [일반] [정보] 독 모드 가능하고 돼지코 없어도 되는 어댑터를 알아보자

https://gall.dcinside.com/mgallery/board/view/?id=nintendoswitch&no=27650


* [NS하드] 스위치의 충전과 USB PD에 관하여

https://bbs.ruliweb.com/nin/board/300004/read/2135853


* Xiaomi 45W USB PD対応ACアダプタ レビュー

https://hanpenblog.com/5613


위의 글 들을 통하여, 아래 부분만이 우리가 필요한 지식 입니다.


* USB PD (Power Delivery)

- USB PD는 충전기와 전자기기가 서로 어떤 사양을 지원하는지 신호를 주고받고 최적의 전압/전류로 고속충전을 할 수 있는 규격임.

- 충전기가 지원하는 볼트와 최대전력은 정해져있는데, 가끔 15V는 건너뛰고 12V, 20V 만 지원하는 애들도 있어서 잘 확인해야 됨.

USB PD 1.0 때는 Power Profiles 라고 해서 최대 전력에 따라 5V, 12V, 20V 만 지원 했었음.

USB PD 2.0 에서는 Power Rules 라고 하서 최대 전력에 따라 5V, 9V, 15V, 20V 를 지원함.

USB-C to USB-C 충전시에만 적용됨.

퀄컴 퀵차지와는 전혀 별개의 규격이므로 주의.


* Quick Charge

- USB PD 와 USB QC 는 혼용될 수 없슴.

QC 4.0 에서는 혼용될 수 있도록 계획하고 있으나, QC 3.0 이하에서는 혼용 사용을 금지하고 있슴.

- 이는 USB-C 의 경우, USB 가 정한 방법 이외로 VBUS 전압을 정해놓은 기본값 외로 변화시키는 것을 금지가호 있기 때문.

- 이를 위반시에는 케이블에 내장된 eMarker 를 파손시킬 수 있슴.


생소한 용어와 여러 조건들이 열거되어 있습니다만, 일반 USB-C 전원 어뎁터를 Raspberry Pi 4 에서 사용하려면 최종적으로 아래 세 가지를 만족하는 것을 구입하는게 좋다는 결론이 도출됩니다.


----------------------------------------------------------

- 이왕이면 USB-C PD 2.0 을 만족하는 어뎁터가 best 

5V / 3A 충족

USB-C to USB-C 케이블 사용

----------------------------------------------------------




2. Xiaomi 45W USB Charger


대륙의 실수 중 하나인, 샤오미 생산 USB-C 충전기 입니다.


* 샤오미 USB Type-C 45W 충전기 개봉 / 사용 후기

https://ruinses.tistory.com/1346



일본의 어느 까다로운 블로거가 칭찬할 정도로 잘 만들어 졌다 합니다.

특히, QC 3.0 과 USB PD 규격을 혼용할 수 없도록 규정되어 있으나, 그런 규정을 씹어 먹고 양쪽을 대응하는 스펙.


65W 가격이 약 3만원 정도로 엄청 싸거나 비싼 정도는 아니고, 그럭 저럭으로 보입니다.




3. HP 65W USB-C Slim Travel Power Adapter


HP 에서 새로 출시된 여행자용 USB-C 어뎁터.


* HP 65W USB-C 슬림 여행용 전원 어댑터

https://store.hp.com/kr-ko/default/hp-65w-usb-c-slim-travel-power-adapter-3pn48aa.html



컴팩트 하면서 심플한 디자인이 돋보입니다.



케이블도 굵으며, 외부 스크래치에 강한 면소재로 마감되어 있습니다.



따로 USB-A 포트를 가지고 있어, 동시에 충전이 가능합니다.



스펙상으로도 최고이며, 휴대성도 좋아, 출장시 가지고 다닐만 할 듯 합니다. 이것으로 결정!




4. 구입


마침 전직한 새로운 직장에서, 환영의 뜻으로 원하는 전자기기 (업무에 필요한) 구입 할 수 있는 복지가 있어서 바로 신청!



가격은 5만원.



이걸 산 당신, 떠나라~! 의 문구들.



이쪽 제품 중, 가장 비싼 만큼 포장이 깔끔합니다.



한국에서 구입하니, 한국 콘센트에 맞는 플러그 동봉.



가끔 유럽 형식으로 출시되어, 정작 한국의 콘센트에 꼽을 시 헐렁하여, 스파크가 튈 수 있으나, 한국형이라 안심.



USB-C 케이블은 돌돌 말려서 고정될 수 있게 되어 있습니다. 역시 여행자 / 출장자를 위한 배려.





5. 렙탑 충전


이번 회사에서 새로 지급 받은 HP Probook 440 G7 노트북 충전에 사용해 봤습니다.

일반 동그란 단자의 충전기 단자도 있고 USB-C 단자도 지원하는 노트북 입니다. 회사에는 구입시 딸려온 일반 충전기로 충전하고 있습니다.


집에서 업무를 하려면, 매번 전용 충전기를 가지고 다녀야 해서 불편했었죠.

이번 구입으로 USB-C 지원하는 다른 기기들도 활용 하면서, 회사 노트북 충전에도 활용할 수 있는지 확인해 봤습니다.



올 오케이.




6. Raspberry Pi 4


라즈베리파이 4 는 5V/3A 를 기본 전원으로 요구하고 있습니다.

일반적인 USB Charger 들이 1~2A 대응을 감안할 때, 3A 는 꽤 높은 수치 입니다.


비싸며 단순히 5V/3A 만 대응하는 제품보다, Fast Charging 이나 9V / 12V / 15V / 20V 대응 되는 USB PD 제품을 구매하는 것이 좋겠죠.

이번에 구하게 된 HP 65W USB-C 를 새로 구입한 Raspberry Pi 4 에 물려 봤습니다.


아래 사이트에서 제공하는 소스를 돌려, 충분한 전력을 공급하여 Raspberry Pi 4B 가 throttling 이 걸리는지 확인해 주는 스크립트 입니다.


* maxme/raspberry-power-supply-check.sh

https://gist.github.com/maxme/d5f000c84a4313aa531288c35c3a8887


소스는 다음과 같습니다.


#!/bin/bash

# Before running this script, make sure you have sysbench installed:
#           sudo apt-get install sysbench
#
# This script helps you check if your Raspberry pi is correctly powered.
# You can read more about Raspberry pi powering issues here: https://ownyourbits.com/2019/02/02/whats-wrong-with-the-raspberry-pi/


# If you're pi is correctly powered (stable power supply and quality cable), after running the script, you should get something like:
#
# 45.6'C 1400 / 600 MHz 1.3813V -
# 55.3'C 1400 / 1400 MHz 1.3813V -
# 58.0'C 1400 / 1400 MHz 1.3813V -
# 60.2'C 1400 / 1400 MHz 1.3813V -
# 60.2'C 1400 / 1400 MHz 1.3813V -
# 61.1'C 1400 / 1400 MHz 1.3813V -
# 61.1'C 1400 / 1400 MHz 1.3813V -
# 60.8'C 1400 / 1400 MHz 1.3813V -

# If your power supply can't provide a stable 5V 2.5A or if the cable is not good enough, you should get something like:
#
# 45.6'C 1400 / 600 MHz 1.3813V - Under-voltage,
# 55.3'C 1400 / 1400 MHz 1.3813V - Under-voltage,
# 58.0'C 1400 / 1400 MHz 1.3813V - Under-voltage,
# 60.1'C 1400 / 1400 MHz 1.3813V - Under-voltage,
# 60.1'C 1400 / 1400 MHz 1.2875V - Under-voltage, Under-voltage has occurred,
# 59.6'C 1400 / 1200 MHz 1.2875V - Under-voltage, Under-voltage has occurred,
# 60.1'C 1400 / 1200 MHz 1.3813V - Under-voltage, Under-voltage has occurred,
# 60.1'C 1400 / 1200 MHz 1.2875V - Under-voltage,
# 60.1'C 1400 / 1200 MHz 1.2875V - Under-voltage, Under-voltage has occurred,
# 60.7'C 1400 / 1200 MHz 1.2875V - Under-voltage, Under-voltage has occurred,
# 60.7'C 1400 / 1200 MHz 1.2875V - Under-voltage, Under-voltage has occurred,

function throttleCodeMask {
  perl -e "printf \"%s\", $1 & $2 ? \"$3\" : \"$4\""
}

# Make the throttled code readable
#
# See https://github.com/raspberrypi/documentation/blob/JamesH65-patch-vcgencmd-vcdbg-docs/raspbian/applications/vcgencmd.md
#
# bit 0 0x80000: Under-voltage detected
# bit 1 0x40000: Arm frequency capped
# bit 2 0x20000: Currently throttled
#
# bit 16 0x8: Under-voltage has occurred
# bit 17 0x4: Arm frequency capped has occurred
# bit 18 0x2: Throttling has occurred
# bit 19 0x1: Soft temperature limit has occurred
#
function throttledToText {
  throttledCode=$1
  throttleCodeMask $throttledCode 0x80000 "Under-voltage, " ""
  throttleCodeMask $throttledCode 0x40000 "Arm frequency capped, " ""
  throttleCodeMask $throttledCode 0x20000 "Currently throttled, " ""
  throttleCodeMask $throttledCode 0x8 "Under-voltage has occurred, " ""
  throttleCodeMask $throttledCode 0x4 "Arm frequency capped has occurred, " ""
  throttleCodeMask $throttledCode 0x2 "Throttling has occurred, " ""
  throttleCodeMask $throttledCode 0x1 "Soft temperature limit has occurred, " ""
}

# Main script, kill sysbench when interrupted
trap 'kill -HUP 0' EXIT
sysbench --test=cpu --cpu-max-prime=10000000 --num-threads=4 run > /dev/null &
maxfreq=$(( $(awk '{printf ("%0.0f",$1/1000); }' < /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) -15 ))

# Read sys info, print and loop
while true; do
  temp=$(vcgencmd measure_temp | cut -f2 -d=)
  real_clock_speed=$(vcgencmd measure_clock arm | awk -F"=" '{printf ("%0.0f", $2 / 1000000); }' )
  sys_clock_speed=$(awk '{printf ("%0.0f",$1/1000); }' 


바로 돌려 봤습니다.



프라임 연산을 시키면서 CPU 를 풀로 혹사시켜도, 전혀 흔들림 없는 전압과 충분한 전류로 throttling 이 전혀 걸리지 않습니다!

대만족!


And