สร้าง PowerPD เปลี่ยนหัวชาร์จ USB-C ให้เป็น Power Supply ด้วย ESP32!

ฮายยยยชาว Maker! ทุกวันนี้หันไปทางไหนก็เจอแต่หัวชาร์จ USB-C PD ใช่มั้ยครับ? ไม่ว่าจะขนาด 30W, 65W หรือ 100W เรามักจะมองว่ามันเป็นแค่ที่ชาร์จโทรศัพท์หรือแล็ปท็อป แต่จริงๆ แล้วหัวชาร์จพวกนี้คือ "แหล่งจ่ายไฟ (Power Source)" ชั้นยอดที่สามารถสั่งจ่ายไฟแรงดันสูงๆ ได้ตามใจสั่งเลยนะ!

นี่จึงเป็นแรงบันดาลใจให้เกิดโปรเจกต์ PowerPD ขึ้นมาครับ! มันคืออุปกรณ์ขนาดพกพาที่ผสมผสานระหว่าง ชิปไมโครคอนโทรลเลอร์ ESP32, ตัวควบคุมการรับไฟ AP33772S (PD Sink Controller) และชิปวัดพลังงาน INA226 เพื่อหลอกถามหัวชาร์จว่า "เฮ้ย จ่ายไฟ 12V หรือ 20V ให้หน่อยดิ!" แล้วส่งไฟนั้นมาเลี้ยงโปรเจกต์อิเล็กทรอนิกส์ของเราได้เลย!

ภาพปก: หน้าตาของ PowerPD อุปกรณ์ปรับแรงดันไฟจาก USB-C ขนาดพกพา

มันทำงานยังไง? (Working Principle)

หลักการทำงานของ PowerPD นั้นฉลาดมากครับ:

  1. เมื่อเราเสียบสาย USB-C เข้าไป หัวชาร์จจะปล่อยไฟเริ่มต้นมาที่ 5V ก่อน
  2. ชิป AP33772S จะเข้าไปคุยกับหัวชาร์จผ่านสาย CC (Configuration Channel) เพื่อถามว่า "คุณรองรับไฟกี่โวลต์บ้าง?"
  3. เราแค่หมุน Rotary Encoder (ลูกบิด) เพื่อเลือกแรงดันไฟที่ต้องการ เช่น 9V, 12V, 15V หรือ 20V บนหน้าจอ OLED
  4. ตัว ESP32 จะสั่งให้ AP33772S ไปรีเควสไฟนั้นมาจากหัวชาร์จ พอได้ไฟมาแล้ว กระแสไฟจะวิ่งผ่านเซนเซอร์ INA226 เพื่อวัดโวลต์และกระแสแบบเรียลไทม์ และโชว์ขึ้นจอนั่นเอง!

แถมถ้าหัวชาร์จของคุณรองรับ PPS (Programmable Power Supply) คุณยังสามารถปรับแรงดันไฟได้ละเอียดทีละ 100 mV อีกด้วย! โคตรตึง! เหมาะมากเวลาเอามาเทสบอร์ด หรือจำลองแบตเตอรี่แบบต่างๆ

💡 Globalbyte Trick & Services: โปรเจกต์เฟี้ยวๆ แบบนี้ นอกจากจะต้องใช้ บอร์ด ESP32, หน้าจอ OLED และ Rotary Encoder แล้ว การจะทำให้มันดูเป็น "โปรดักส์" ที่จับต้องได้จริงก็ต้องพึ่งพา เคส 3D Print ครับ!

หากเพื่อนๆ กำลังมองหาบอร์ดและเซนเซอร์มาลุยโปรเจกต์ หรือต้องการสั่งทำเคสสวยๆ แบบนี้ ทางร้าน Globalbyte มีทั้งอะไหล่อิเล็กทรอนิกส์ และ บริการรับปริ้นท์ 3D (3D Printing Service) ไว้คอยซัพพอร์ตคุณ ครบจบในที่เดียวเลยครับ!
หลักการทำงานและ Block Diagram ของระบบ PowerPD
แผ่นวงจร PCB ที่ถูกออกแบบมาอย่างประณีตและประกอบอุปกรณ์ SMD มาจากโรงงาน
การออกแบบเคส 3D Print ด้วย Autodesk Fusion และชิ้นงานจริงที่ปริ้นท์เสร็จแล้ว

เชื่อมต่อคลาวด์ ดูข้อมูลเรียลไทม์ผ่าน Adafruit IO

ด้วยพลังของ ESP32 ที่มี Wi-Fi ในตัว โปรเจกต์นี้เลยไม่หยุดแค่การโชว์ผลบนหน้าจอ OLED ครับ แต่มันสามารถส่งค่า โวลต์ (Voltage), กระแส (Current), กำลังไฟ (Power), และอุณหภูมิ (Temperature) ขึ้นไปแสดงเป็นกราฟสวยๆ บนเว็บ Adafruit IO แบบเรียลไทม์ได้เลย แถมยังสั่งเปิด/ปิดสวิตช์ไฟจากหน้าเว็บได้อีกด้วย!

การตั้งค่าเพื่อส่งข้อมูลเข้า Adafruit IO

ในโค้ด PowerPD.ino บน Arduino IDE จะมีส่วนหัวของไฟล์ที่เราต้องกรอกชื่อ Wi-Fi และคีย์ของ Adafruit IO ครับ:

#define WIFI_SSID "Your_WiFi_Name"
#define WIFI_PASSWORD "Your_WiFi_Password"
#define AIO_SERVER "io.adafruit.com"
#define AIO_PORT 1883
#define AIO_USERNAME "Your_Adafruit_IO_Username"
#define AIO_KEY "Your_Adafruit_IO_Key"

// รวมไลบรารีที่จำเป็น
#include "AP33772S.h"
#include <U8g2lib.h>
#include <INA226.h>
#include <PubSubClient.h>

หมายเหตุ: ในการโปรแกรมบอร์ดนี้ เนื่องจากบน PCB ไม่มีชิปแปลง USB-to-UART ในตัว คุณต้องใช้โมดูลแยกอย่าง M5Stack USB-TTL Serial Adapter (CP2104) เพื่ออัปโหลดโค้ดนะครับ และต้องชอร์ตขา BOOT/EN ลง GND ตามสเต็ปของ ESP32 ด้วย

ข้อควรระวังเรื่องหัวชาร์จและสายเคเบิล

อย่าลืมนะครับว่า "PowerPD จะขอดึงไฟได้เท่าที่หัวชาร์จของคุณมีให้เท่านั้น" ถ้าหัวชาร์จโทรศัพท์คุณเขียนไว้ว่าจ่ายไฟได้แค่ 5V/3A, 9V/2A ต่อให้คุณหมุนจอไปที่ 20V มันก็จะไม่ได้ 20V นะครับ! ดังนั้นพลิกดูสเปกหลังหัวชาร์จให้ดี

และสาย USB-C ก็สำคัญมาก ถ้าจะเทสโหลดหนักๆ 20V 5A (100W) ต้องแน่ใจว่าสายเคเบิลนั้นมี e-marked chip และรองรับ 5A ของแท้ด้วย ไม่งั้นแรงดันอาจจะตก หรือระบบอาจจะตัดการทำงานได้ครับ

⚠️ คำแนะนำเพิ่มเติม: โปรเจกต์นี้มีการใช้ชิปควบคุมแบบ SMD ที่ขาชิดกันมาก การสั่งผลิตบอร์ดแบบประกอบเสร็จ (PCBA) จากโรงงานจะปลอดภัยกว่าการพยายามบัดกรีด้วยมือครับ และหากคุณสนใจนำโค้ดไปรันหรือทำตาม ขอแนะนำให้เข้าไป อ่านบทความและคู่มือฉบับเต็มจากผู้พัฒนา (คลิกที่นี่) เพื่อศึกษาเรื่องการตั้งค่าไลบรารีและการทำงานของชิป PD อย่างละเอียดครับ
💡 ไอเทมลับช่วยอ่าน: เนื้อหาในโปรเจกต์นี้มีศัพท์เฉพาะทางด้านวิศวกรรมไฟฟ้าเยอะมาก เช่น USB-C PD, PPS, AVS และ I2C Communication หากเพื่อนๆ อ่านบทความต้นฉบับภาษาอังกฤษแล้วรู้สึกว่าเข้าใจยาก แนะนำให้ก๊อปปี้ลิงก์บทความไปให้ NotebookLM ของ Google ช่วยสรุปและอธิบายหลักการทำงานของชิปแต่ละตัวให้ฟังแบบง่ายๆ ได้นะครับ จะช่วยให้ต่อยอดโปรเจกต์ได้เร็วขึ้นเยอะเลย!

🚀 เนรมิตไอเดียของคุณให้เป็นจริงแบบครบวงจรที่ Globalbyte!

ไม่ว่าจะเป็นบอร์ดทดลอง เซนเซอร์ หรือบริการปริ้นท์ 3D เคสใส่โปรเจกต์สวยๆ เรามีพร้อมซัพพอร์ตคุณทุกขั้นตอน!

คำเตือน / ข้อมูลอ้างอิง: บทความนี้เป็นการสรุปและเรียบเรียงเนื้อหาจากภาษาอังกฤษ (Hackster.io) การเล่นกับแหล่งจ่ายไฟและอุปกรณ์อิเล็กทรอนิกส์อาจมีความเสี่ยงไฟลัดวงจร ขอแนะนำให้ผู้ใช้งานตรวจสอบความจุของหัวชาร์จและการต่อวงจรอย่างรอบคอบจากแผนผัง (Schematic) ต้นฉบับก่อนลงมือปฏิบัตินะครับ

ที่มาต้นฉบับ: PowerPD — ESP32 USB-C PD/PPS Programmable Power Supply (Hackster.io)

 

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี